v50

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-102991198.1 KB
Publish

Publish Event

Publishes an event to the specified topic, potentially routed to a specific destination. Requires Admin API Key.

post/publish

Request body

idstring

Optional. A unique identifier for the event. If not provided, a ID will be generated.

tenant_idstring

The ID of the tenant to publish for.

destination_idstring

Optional. Route event to a specific destination.

topicstring

Topic name for the event. Required if Outpost has been configured with topics.

eligible_for_retryboolean

Should event delivery be retried on failure.

timestring date-time

Optional. Custom timestamp for the event. If not provided, defaults to the current time.

metadataobject

Any key-value string pairs for metadata.

dataobject required

Any JSON payload for the event data.

Example request

{
  "id": "evt_custom_123",
  "tenant_id": "<TENANT_ID>",
  "destination_id": "<DESTINATION_ID>",
  "topic": "topic.name",
  "time": "2024-01-15T10:30:00Z",
  "metadata": {
    "source": "crm"
  },
  "data": {
    "user_id": "userid",
    "status": "active"
  }
}

Response

Event accepted for publishing. Returns the event ID.

idstring required

The ID of the event that was accepted for publishing. This will be the ID provided in the request's id field if present, otherwise it's a server-generated ID.

duplicateboolean required

Whether this event was already processed (idempotency hit). If true, the event was not queued again.

destination_idsstring[] required

The IDs of destinations that matched this event. Empty array if no destinations matched.

Example response

{
  "id": "evt_abc123xyz789",
  "destination_ids": [
    "des_456",
    "des_789"
  ]
}