Documentation Index

Fetch the complete documentation index at: https://navigator.apprentice.io/llms.txt

Use this file to discover all available pages before exploring further.

Event Queue Endpoint - REST

Prev Next
This content is currently unavailable in Ja - 日本語. You are viewing the default (English) version.

Tempo REST Integration — Outbound Publishing

Overview

Tempo can publish platform events to an external HTTP(S) endpoint that you (the partner) operate. For each event, Tempo sends a single HTTP POST with a JSON body to your configured URL.

REST is one of three outbound transports Tempo supports (MQTT, RabbitMQ, REST); this document covers REST only.

Endpoint & request

Aspect Value
Method POST
URL The single endpoint URL configured for your integration
Body Event JSON (UTF-8)
Content-Type application/json
Request timeout 60 seconds
Redirects Followed
TLS verification Enforced by default; can be relaxed per endpoint (see Caveats)

REST has no topic, exchange, or routing key. Every event for the integration is POSTed to the same configured URL — your service distinguishes event kinds from the request headers and/or body contents (see below).

Headers

Each request includes:

Header Value
Content-Type application/json
X-Request-Id The event's ID (event_id / EventID from the payload)
X-Correlation-Id Same value as X-Request-Id
Auth header Depends on auth type (see below)

Authentication

Two auth schemes are supported for outbound REST:

  • BasicAuthorization: Basic base64(username:password)
  • API key — a single custom header whose name is your configured key name and whose value is the secret (e.g. X-API-Key: <secret>)

Payload

The request body is the event's JSON object, specific to the event type (e.g. a batch-run-status object, an inventory-movement object).

Metadata is merged into the body under a top-level Metadata key only when the event configuration has metadata-in-payload enabled:

{
  "...event-specific fields...": "...",
  "Metadata": {
    "OrganizationID": "…",
    "OrganizationName": "…",
    "OrganizationURL": "…",
    "EventType": "Batch",
    "EventTrigger": "batch_run_status",
    "Subscriber": "<your endpoint name>",
    "CreatedBy": "<user email or 'System Auto Execution'>",
    "SourceEnvironment": "<environment>",
    "CreationDateTime": "2026-06-18T00:00:00.000Z"
  }
}

When metadata-in-payload is not enabled, the body is just the raw event object with no Metadata wrapper. The event type and trigger are still recoverable from the event payload and can be correlated via X-Request-Id.

Event kinds you may receive

The kind of event is determined by the event configurations enabled for your integration. Possible events include batch run status, procedure run state, step execution, material inventory movement, equipment status, exception sync, and the printing events (sublot, dispense, material outputs, equipment, create kit, sample, load array, create label).

What you need to provide

  • A single HTTPS endpoint URL that accepts POST with a JSON body
  • Auth details: either Basic credentials, or an API-key header name + secret
  • Confirmation of whether you want the Metadata block included in payloads

Caveats

  • Tempo does not currently assert on the HTTP response status — a non-2xx response is not treated as a hard publish failure on Tempo's side, so your endpoint should be resilient and idempotent (deduplicate using X-Request-Id).