System#
Internal endpoints consumed by destination workers — not part of the public management API. Authenticated with a system token.
Register a destination type#
PUT /system/destination-types/registerCalled by a destination worker on startup. Upserts by name — the first worker of a given type to start creates the destination_types record and declares its queue on the broker; later starts update the existing record.
| Field | Rules |
|---|---|
name |
required, string |
description |
nullable, string |
queue |
required, string, must match /^[a-zA-Z0-9._-]+$/ — the short queue name, e.g. http |
config_schema |
required, object — see Destination Types |
The API prepends junction.destinations. to queue when storing and declaring it on the broker — a worker registering "queue": "http" results in a destination_types.queue of junction.destinations.http, and a declared queue of the same name.
Request
{
"name": "http",
"queue": "http",
"description": "Delivers payload via HTTP POST",
"config_schema": {
"url": { "required": true, "rules": ["string"] },
"auth_header": { "required": false, "rules": ["string"] },
"auth_token": { "required": false, "rules": ["string"] }
}
}Response 204 — no body.
Errors: 422 on validation failure.
Report delivery status#
POST /system/statusCalled by the system worker after consuming a delivery outcome from junction.status — updates the delivery binding created at ingest time.
| Field | Rules |
|---|---|
log_id |
required, string — the delivery binding ID from the queue envelope’s meta.log_id |
status |
required, string — dispatched or errored |
attempted_at |
required, string — Y-m-d\TH:i:sp (RFC 3339) |
error |
nullable, string |
Request
{
"log_id": "...",
"status": "dispatched",
"attempted_at": "2026-06-19T00:34:08.120+00:00",
"error": null
}Response 204 — no body.
Errors: 404 if log_id doesn’t reference an existing delivery binding, 422 on validation failure.