API

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"}'
FieldUse
title, messageRequired announcement text.
severitycritical, recommended, or info.
startsAt, endsAtOptional ISO timestamps limiting visibility.
actionLabel, actionUrlOptional link shown with the notice.
targetType, targetIdOptional 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

OperationSDKREST API
Read active public installation announcements.notices.list()GET /api/notices
Handler authentication

HTTP endpoints

OperationSDKREST API
Publish an installation notice using operator authority.operator.notices.create(input)POST /api/notices
Internal operator
Deactivate an installation notice using operator authority.operator.notices.remove(id)DELETE /api/notices/:id
Internal operator
List all installation notices using operator authority.operator.notices.listAll()GET /api/notices/all
Internal operator

On this page