Public notices
Read installation announcements and publish them with operator authority.
Notices are installation-wide announcements. Reading active notices is public. Publishing, listing inactive notices, or deactivating a notice requires a separate operator capability. An organization owner role does not grant that capability.
Read active notices
const { advisories } = await ship.notices.list();
console.log(advisories);curl "$OPENSHIP_URL/api/notices"The response contains active advisories, including a title, message, severity, and optional action or
target. Scheduled start and end times determine when a notice appears.
Publish a notice
The SDK example uses a configured operator, available to trusted installation code. The REST example
uses the installation's internal operator token.
const notice = await operator.notices.create({
title: "Planned maintenance",
message: "Deployments will pause during maintenance.",
severity: "info",
startsAt: "2026-10-01T01:00:00Z",
endsAt: "2026-10-01T01:30:00Z",
});
console.log(notice.id);curl -X POST "$OPENSHIP_URL/api/notices" \
-H "X-Internal-Token: $OPENSHIP_INTERNAL_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"Planned maintenance","message":"Deployments will pause during maintenance.","severity":"info","startsAt":"2026-10-01T01:00:00Z","endsAt":"2026-10-01T01:30:00Z"}'| Field | Use |
|---|---|
title, message | Required announcement text. |
severity | critical, recommended, or info. |
startsAt, endsAt | Optional ISO timestamps limiting visibility. |
actionLabel, actionUrl | Optional link shown with the notice. |
targetType, targetId | Optional platform, app, project, or mail target. |
operator.notices.listAll() includes inactive notices. operator.notices.remove(id) deactivates a
notice so it no longer appears in the active feed.
Operations
Resource methods
| Operation | SDK | REST API |
|---|---|---|
| Read active public installation announcements. | notices.list() | GET /api/noticesHandler authentication |
HTTP endpoints
| Operation | SDK | REST API |
|---|---|---|
| Publish an installation notice using operator authority. | operator.notices.create(input) | POST /api/noticesInternal operator |
| Deactivate an installation notice using operator authority. | operator.notices.remove(id) | DELETE /api/notices/:idInternal operator |
| List all installation notices using operator authority. | operator.notices.listAll() | GET /api/notices/allInternal operator |