Skip to main content
Publish to a topic after creating its subscriptions. The publish response means the notification was accepted for asynchronous fan-out. It does not promise that a recipient has received or processed it.

Publish a notification

Open the topic and select Publish. Enter the message and optional subject and attributes. After publishing, the console opens the message page. Use the topic’s Messages and Deliveries tabs to return to it.

Payloads and attributes

message is a nonempty string, up to 256 KiB. JSON application payloads must be encoded as strings in that field. The optional subject is at most 100 bytes and cannot contain line breaks. Attributes are a separate map used for subscription filtering. By default the same message is used for every protocol. To choose different payloads, set message_structure to json and encode an object of string values inside message. A default value is required:
Each subscription selects its protocol key, or default if there is no key for that protocol. This selection does not change filtering: filters still read the publication’s attributes.

Batch publishing

The publish-batch operation accepts 1–10 entries with unique caller-chosen entry IDs. Its response separates successful entries from failures. Inspect each result rather than treating an HTTP success as proof that every entry was accepted. Retry only the entries you intend to publish again; a fresh accepted publication has a new message ID.

Follow delivery

A message progresses through fan-out states pending, complete, or failed. A completed fan-out with zero deliveries can be valid: there may be no confirmed subscriptions, or all filter policies may reject the attributes. Delivery records show the subscription reference, outcome, attempts, and last error. Listing them under the topic accepts a message UUID or CRN to narrow the result. Follow pagination markers rather than assuming the first page is complete. The Metrics tab shows trends through Telemetry; use delivery records to investigate an individual failure. Webhook and queue consumers should handle repeated delivery safely. A successful webhook attempt means an HTTP success response; a successful queue attempt means the notification was enqueued, not that the queue consumer has processed it. See delivery behavior.