Skip to content

Minimal events

Public event streams and inbound hooks.

This page is generated from the Minimal route table. Every operation carries the permission it needs and the anchor an agent can link to.

GETNo permission neededpublic faceServer sent eventsToken in the path

Source: internal/api/events.go:mountEvents handleEventStream

Stream widget events

Streams widget events as server sent events. The token in the path is the only credential, so treat the whole URL as a secret.

NameInTypeRequiredDescription
tokenpathstringYesThe stream token issued with the subscription.
StatusBodyDescription
200text/event-stream, stringAn open event stream.
404application/problem+json, ProblemThe request was refused. The body says why.
Terminal window
# This operation is public. It takes no credentials.
# This endpoint streams server sent events. The response stays open.
curl -X GET 'https://depot.example.com/api/v1/events/<token>' \
-H 'Accept: application/json'

POSTNo permission neededpublic faceInbound hookToken in the path

Source: internal/api/events.go:mountEvents handleEventHook

Receive an inbound hook

Accepts an event from an outside system. The token in the path authenticates the caller.

NameInTypeRequiredDescription
tokenpathstringYesThe hook token issued when the integration was configured.

Required, sent as application/json.

FieldTypeDescription
kindrequiredstring, one of created, updated, retired

What happened.

occurredAtrequiredstring (date-time)

When it happened, in UTC.

widgetIdstring (uuid)

Which widget it happened to.

payloadobject

Whatever the sender attached.

StatusBodyDescription
202NoneThe event was accepted.
400application/problem+json, ProblemThe request was refused. The body says why.
Terminal window
# This operation is public. It takes no credentials.
curl -X POST 'https://depot.example.com/api/v1/events/hooks/<token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data '{
"kind": "created",
"occurredAt": "2026-01-01T00:00:00Z",
"widgetId": "00000000-0000-0000-0000-000000000000",
"payload": {}
}'

Content is licensed CC BY 4.0. Code samples are MIT. Outpost and the Outpost mark are trademarks of Outpost Business Solutions, PBC and are not covered by either licence.