Skip to main content
POST
Inference completion callback (internal)

Headers

X-Modal-Signature
string
required

t=<epoch>,v1=<hex hmac-sha256 of "<t>.<raw body>">.

Body

application/json

Payload posted by the inference plane when a unit of work settles. Internal contract, not part of the public API surface.

job_id
string
required

Job identifier — job_ followed by a base58 string.

Pattern: ^job_[1-9A-HJ-NP-Za-km-z]{8,32}$
Example:

"job_3ZxK9pQr7TnW"

status
enum<string>
required

Terminal state reached by the inference call.

Available options:
succeeded,
failed
output_ref
string | null

Storage key of the serialised result written by the worker. Required when status is succeeded.

Example:

"s3://carhub-out/2026/08/16/job_3ZxK9pQr7TnW.json"

units_actual
integer | null

Billable units really consumed. Only the worker knows this for the per-detection meter; the gateway commits exactly this amount and releases the rest.

Required range: x >= 0
model_version
string | null

Build that produced the output, surfaced on the job.

Example:

"plate-reader@2026-08-01"

error
object | null

Populated when status is failed.

provider_job_id
string | null

Identifier on the inference provider's side, for cross-system tracing.

duration_ms
integer | null

Wall-clock time of the inference call, fed into latency metrics.

Required range: x >= 0

Response

Callback accepted.