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/register

Called 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/status

Called 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.