Skip to content
Registry StackDocsDevelopment (unreleased)

Start a workflow from an authenticated product event

POST
/v1/events/{workflow}/{trigger}
curl --request POST \
--url https://example.com/v1/events/example/example \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: example' \
--header 'X-Registry-Delivery-Attempt: example' \
--header 'X-Registry-Delivery-Time: 2026-04-15T12:00:00Z' \
--header 'X-Registry-Event-Generation: example' \
--header 'X-Registry-Signature: <X-Registry-Signature>' \
--header 'ce-dataschema: example' \
--header 'ce-id: 2489E9AD-2EE2-8E00-8EC9-32D5F69181C0' \
--header 'ce-source: example' \
--header 'ce-specversion: 1.0' \
--header 'ce-time: 2026-04-15T12:00:00Z' \
--header 'ce-type: example' \
--data '{ "causation": { "hop": 1, "parent": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "root": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "data": "example", "dataschema": "example", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "source": "example", "subject": { "recordReference": "example", "recordRevision": 1 }, "time": "2026-04-15T12:00:00Z", "type": "example" }'

Accept at most 1048576 canonical JSON bytes, the v1 signable bound, using the platform HookEnvelope and v1 delivery signature; the admitted event value is then held to the 131072-byte structured value profile. Envelope headers must match the body and the authored source, event type and data schema. Delivery time must be within 30 seconds; an older event may be redelivered. The exact source, event identity and trigger bind admission across retries. Every downstream call uses its own product authorization.

workflow
required
string
>= 1 characters <= 64 characters
trigger
required
string
>= 1 characters <= 64 characters
ce-specversion
required
Allowed value: 1.0
ce-id
required
string format: uuid
ce-source
required
string
>= 1 characters
ce-type
required
string
>= 1 characters
ce-time
required
string format: date-time
ce-dataschema
required
string
>= 1 characters
X-Registry-Event-Generation
required
string
/^[1-9][0-9]{0,18}$/
X-Registry-Delivery-Attempt
required
string
/^[1-9][0-9]{0,18}$/
X-Registry-Delivery-Time
required
string format: date-time
Idempotency-Key
required
string
>= 1 characters <= 256 characters
Media typeapplication/json
HookEnvelope

The hook envelope, one shape for every product and every destination kind.

object
causation
required

The chain this event belongs to.

object
hop
required

0 for a root event, parent hop + 1 otherwise.

integer
<= 8
parent

The id of the event whose handler proposed the change that produced this one. Absent for a root event, never spelled null on the wire: the decoder refuses bytes a re-encode cannot reproduce. A UUID when present.

string format: uuid
root
required

The id of the first event in the chain; equals id for a root event. A later orchestrator correlates on this field. A UUID, like every event identity on the envelope.

string format: uuid
data
required

The product projection. Integers that are not exactly representable as binary64 must be strings; canonical JSON refuses them otherwise.

dataschema
required

The product data contract id for data.

string
id
required

Event identity, unique per triggering change. The idempotency key a remote handler must honor across retries.

A UUID: the delivery store keys an envelope by a UUID event id, so an id that is not one could never be stored. Refused on both encode and decode.

string format: uuid
source
required

The producing product and deployment identity.

string
subject
required

The product record reference and revision.

object
recordReference
required

The record reference, as the product addresses it.

string
recordRevision
required

The revision the triggering change produced. Revisions start at one, so a revision of zero or below is refused on both encode and decode, the same bound the delivery store enforces on a stored envelope.

integer
>= 1 <= 9007199254740991
time
required

Commit time of the triggering change, RFC 3339.

Normalized on every serialization: converted to UTC and truncated to whole milliseconds, so two equal instants written at different offsets or at finer precision produce identical canonical bytes. The in-memory value keeps whatever the product gave it; the wire form is the normalized one. Decoding requires that wire form and refuses any other spelling, so a decoded envelope re-encodes to the bytes it arrived as.

string format: date-time
type
required

The hook’s stable contract id.

string

Example generated

{
"causation": {
"hop": 1,
"parent": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"root": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
},
"data": "example",
"dataschema": "example",
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"source": "example",
"subject": {
"recordReference": "example",
"recordRevision": 1
},
"time": "2026-04-15T12:00:00Z",
"type": "example"
}

Run admission is committed, or the exact event was already admitted. Empty Hook response proposes no source mutation.

X-Coordinator-Run-Id
string format: uuid

A problem: event.invalid, input.invalid, request.invalid.

Media typeapplication/problem+json
object
code
required
string
Allowed values: admission.held admission.recovery-only audit.response-unavailable authentication.refused binding.conflict binding.live-conflict definition.refused deployment.activation-changed deployment.refused evaluation.uncertain event.invalid event.source-unavailable event.too-large event.unauthenticated execution.held idempotency.key-invalid idempotency.key-reused input.invalid operation.not-authorized receipt.expired reconcile.raced reconcile.refused reconcile.unsupported request.body-too-large request.invalid request.limit-out-of-range request.method-not-allowed request.not-found request.reason-invalid request.retention-invalid request.unprocessable request.unsupported-media-type restore.hold-required restore.lease-incompatible restore.review-required restore.unresolved retry.refused run.definition-incompatible run.not-visible run.payload-erased runtime.failure service.unavailable workflow.not-served workflow.revision-mismatch
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-coordinator/admission/held https://id.registrystack.org/problems/registry-coordinator/admission/recovery-only https://id.registrystack.org/problems/registry-coordinator/audit/response-unavailable https://id.registrystack.org/problems/registry-coordinator/authentication/refused https://id.registrystack.org/problems/registry-coordinator/binding/conflict https://id.registrystack.org/problems/registry-coordinator/binding/live-conflict https://id.registrystack.org/problems/registry-coordinator/definition/refused https://id.registrystack.org/problems/registry-coordinator/deployment/activation-changed https://id.registrystack.org/problems/registry-coordinator/deployment/refused https://id.registrystack.org/problems/registry-coordinator/evaluation/uncertain https://id.registrystack.org/problems/registry-coordinator/event/invalid https://id.registrystack.org/problems/registry-coordinator/event/source-unavailable https://id.registrystack.org/problems/registry-coordinator/event/too-large https://id.registrystack.org/problems/registry-coordinator/event/unauthenticated https://id.registrystack.org/problems/registry-coordinator/execution/held https://id.registrystack.org/problems/registry-coordinator/idempotency/key-invalid https://id.registrystack.org/problems/registry-coordinator/idempotency/key-reused https://id.registrystack.org/problems/registry-coordinator/input/invalid https://id.registrystack.org/problems/registry-coordinator/operation/not-authorized https://id.registrystack.org/problems/registry-coordinator/receipt/expired https://id.registrystack.org/problems/registry-coordinator/reconcile/raced https://id.registrystack.org/problems/registry-coordinator/reconcile/refused https://id.registrystack.org/problems/registry-coordinator/reconcile/unsupported https://id.registrystack.org/problems/registry-coordinator/request/body-too-large https://id.registrystack.org/problems/registry-coordinator/request/invalid https://id.registrystack.org/problems/registry-coordinator/request/limit-out-of-range https://id.registrystack.org/problems/registry-coordinator/request/method-not-allowed https://id.registrystack.org/problems/registry-coordinator/request/not-found https://id.registrystack.org/problems/registry-coordinator/request/reason-invalid https://id.registrystack.org/problems/registry-coordinator/request/retention-invalid https://id.registrystack.org/problems/registry-coordinator/request/unprocessable https://id.registrystack.org/problems/registry-coordinator/request/unsupported-media-type https://id.registrystack.org/problems/registry-coordinator/restore/hold-required https://id.registrystack.org/problems/registry-coordinator/restore/lease-incompatible https://id.registrystack.org/problems/registry-coordinator/restore/review-required https://id.registrystack.org/problems/registry-coordinator/restore/unresolved https://id.registrystack.org/problems/registry-coordinator/retry/refused https://id.registrystack.org/problems/registry-coordinator/run/definition-incompatible https://id.registrystack.org/problems/registry-coordinator/run/not-visible https://id.registrystack.org/problems/registry-coordinator/run/payload-erased https://id.registrystack.org/problems/registry-coordinator/runtime/failure https://id.registrystack.org/problems/registry-coordinator/service/unavailable https://id.registrystack.org/problems/registry-coordinator/workflow/not-served https://id.registrystack.org/problems/registry-coordinator/workflow/revision-mismatch
code
required
Allowed values: event.invalid input.invalid request.invalid

Example

{
"code": "event.invalid",
"type": "https://id.registrystack.org/problems/registry-coordinator/admission/held"
}

A problem: event.unauthenticated.

Media typeapplication/problem+json
object
code
required
string
Allowed values: admission.held admission.recovery-only audit.response-unavailable authentication.refused binding.conflict binding.live-conflict definition.refused deployment.activation-changed deployment.refused evaluation.uncertain event.invalid event.source-unavailable event.too-large event.unauthenticated execution.held idempotency.key-invalid idempotency.key-reused input.invalid operation.not-authorized receipt.expired reconcile.raced reconcile.refused reconcile.unsupported request.body-too-large request.invalid request.limit-out-of-range request.method-not-allowed request.not-found request.reason-invalid request.retention-invalid request.unprocessable request.unsupported-media-type restore.hold-required restore.lease-incompatible restore.review-required restore.unresolved retry.refused run.definition-incompatible run.not-visible run.payload-erased runtime.failure service.unavailable workflow.not-served workflow.revision-mismatch
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-coordinator/admission/held https://id.registrystack.org/problems/registry-coordinator/admission/recovery-only https://id.registrystack.org/problems/registry-coordinator/audit/response-unavailable https://id.registrystack.org/problems/registry-coordinator/authentication/refused https://id.registrystack.org/problems/registry-coordinator/binding/conflict https://id.registrystack.org/problems/registry-coordinator/binding/live-conflict https://id.registrystack.org/problems/registry-coordinator/definition/refused https://id.registrystack.org/problems/registry-coordinator/deployment/activation-changed https://id.registrystack.org/problems/registry-coordinator/deployment/refused https://id.registrystack.org/problems/registry-coordinator/evaluation/uncertain https://id.registrystack.org/problems/registry-coordinator/event/invalid https://id.registrystack.org/problems/registry-coordinator/event/source-unavailable https://id.registrystack.org/problems/registry-coordinator/event/too-large https://id.registrystack.org/problems/registry-coordinator/event/unauthenticated https://id.registrystack.org/problems/registry-coordinator/execution/held https://id.registrystack.org/problems/registry-coordinator/idempotency/key-invalid https://id.registrystack.org/problems/registry-coordinator/idempotency/key-reused https://id.registrystack.org/problems/registry-coordinator/input/invalid https://id.registrystack.org/problems/registry-coordinator/operation/not-authorized https://id.registrystack.org/problems/registry-coordinator/receipt/expired https://id.registrystack.org/problems/registry-coordinator/reconcile/raced https://id.registrystack.org/problems/registry-coordinator/reconcile/refused https://id.registrystack.org/problems/registry-coordinator/reconcile/unsupported https://id.registrystack.org/problems/registry-coordinator/request/body-too-large https://id.registrystack.org/problems/registry-coordinator/request/invalid https://id.registrystack.org/problems/registry-coordinator/request/limit-out-of-range https://id.registrystack.org/problems/registry-coordinator/request/method-not-allowed https://id.registrystack.org/problems/registry-coordinator/request/not-found https://id.registrystack.org/problems/registry-coordinator/request/reason-invalid https://id.registrystack.org/problems/registry-coordinator/request/retention-invalid https://id.registrystack.org/problems/registry-coordinator/request/unprocessable https://id.registrystack.org/problems/registry-coordinator/request/unsupported-media-type https://id.registrystack.org/problems/registry-coordinator/restore/hold-required https://id.registrystack.org/problems/registry-coordinator/restore/lease-incompatible https://id.registrystack.org/problems/registry-coordinator/restore/review-required https://id.registrystack.org/problems/registry-coordinator/restore/unresolved https://id.registrystack.org/problems/registry-coordinator/retry/refused https://id.registrystack.org/problems/registry-coordinator/run/definition-incompatible https://id.registrystack.org/problems/registry-coordinator/run/not-visible https://id.registrystack.org/problems/registry-coordinator/run/payload-erased https://id.registrystack.org/problems/registry-coordinator/runtime/failure https://id.registrystack.org/problems/registry-coordinator/service/unavailable https://id.registrystack.org/problems/registry-coordinator/workflow/not-served https://id.registrystack.org/problems/registry-coordinator/workflow/revision-mismatch
code
required
Allowed values: event.unauthenticated

Example

{
"code": "event.unauthenticated",
"type": "https://id.registrystack.org/problems/registry-coordinator/admission/held"
}
WWW-Authenticate
string
Allowed value: Registry-Signature version="v1"

Authenticate the exact canonical event and delivery attempt with the configured source key.

A problem: request.method-not-allowed.

Media typeapplication/problem+json
object
code
required
string
Allowed values: admission.held admission.recovery-only audit.response-unavailable authentication.refused binding.conflict binding.live-conflict definition.refused deployment.activation-changed deployment.refused evaluation.uncertain event.invalid event.source-unavailable event.too-large event.unauthenticated execution.held idempotency.key-invalid idempotency.key-reused input.invalid operation.not-authorized receipt.expired reconcile.raced reconcile.refused reconcile.unsupported request.body-too-large request.invalid request.limit-out-of-range request.method-not-allowed request.not-found request.reason-invalid request.retention-invalid request.unprocessable request.unsupported-media-type restore.hold-required restore.lease-incompatible restore.review-required restore.unresolved retry.refused run.definition-incompatible run.not-visible run.payload-erased runtime.failure service.unavailable workflow.not-served workflow.revision-mismatch
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-coordinator/admission/held https://id.registrystack.org/problems/registry-coordinator/admission/recovery-only https://id.registrystack.org/problems/registry-coordinator/audit/response-unavailable https://id.registrystack.org/problems/registry-coordinator/authentication/refused https://id.registrystack.org/problems/registry-coordinator/binding/conflict https://id.registrystack.org/problems/registry-coordinator/binding/live-conflict https://id.registrystack.org/problems/registry-coordinator/definition/refused https://id.registrystack.org/problems/registry-coordinator/deployment/activation-changed https://id.registrystack.org/problems/registry-coordinator/deployment/refused https://id.registrystack.org/problems/registry-coordinator/evaluation/uncertain https://id.registrystack.org/problems/registry-coordinator/event/invalid https://id.registrystack.org/problems/registry-coordinator/event/source-unavailable https://id.registrystack.org/problems/registry-coordinator/event/too-large https://id.registrystack.org/problems/registry-coordinator/event/unauthenticated https://id.registrystack.org/problems/registry-coordinator/execution/held https://id.registrystack.org/problems/registry-coordinator/idempotency/key-invalid https://id.registrystack.org/problems/registry-coordinator/idempotency/key-reused https://id.registrystack.org/problems/registry-coordinator/input/invalid https://id.registrystack.org/problems/registry-coordinator/operation/not-authorized https://id.registrystack.org/problems/registry-coordinator/receipt/expired https://id.registrystack.org/problems/registry-coordinator/reconcile/raced https://id.registrystack.org/problems/registry-coordinator/reconcile/refused https://id.registrystack.org/problems/registry-coordinator/reconcile/unsupported https://id.registrystack.org/problems/registry-coordinator/request/body-too-large https://id.registrystack.org/problems/registry-coordinator/request/invalid https://id.registrystack.org/problems/registry-coordinator/request/limit-out-of-range https://id.registrystack.org/problems/registry-coordinator/request/method-not-allowed https://id.registrystack.org/problems/registry-coordinator/request/not-found https://id.registrystack.org/problems/registry-coordinator/request/reason-invalid https://id.registrystack.org/problems/registry-coordinator/request/retention-invalid https://id.registrystack.org/problems/registry-coordinator/request/unprocessable https://id.registrystack.org/problems/registry-coordinator/request/unsupported-media-type https://id.registrystack.org/problems/registry-coordinator/restore/hold-required https://id.registrystack.org/problems/registry-coordinator/restore/lease-incompatible https://id.registrystack.org/problems/registry-coordinator/restore/review-required https://id.registrystack.org/problems/registry-coordinator/restore/unresolved https://id.registrystack.org/problems/registry-coordinator/retry/refused https://id.registrystack.org/problems/registry-coordinator/run/definition-incompatible https://id.registrystack.org/problems/registry-coordinator/run/not-visible https://id.registrystack.org/problems/registry-coordinator/run/payload-erased https://id.registrystack.org/problems/registry-coordinator/runtime/failure https://id.registrystack.org/problems/registry-coordinator/service/unavailable https://id.registrystack.org/problems/registry-coordinator/workflow/not-served https://id.registrystack.org/problems/registry-coordinator/workflow/revision-mismatch
code
required
Allowed values: request.method-not-allowed

Example

{
"code": "request.method-not-allowed",
"type": "https://id.registrystack.org/problems/registry-coordinator/admission/held"
}

A problem: admission.held, admission.recovery-only, binding.conflict, binding.live-conflict, definition.refused, deployment.activation-changed, deployment.refused, execution.held, idempotency.key-reused.

Media typeapplication/problem+json
object
code
required
string
Allowed values: admission.held admission.recovery-only audit.response-unavailable authentication.refused binding.conflict binding.live-conflict definition.refused deployment.activation-changed deployment.refused evaluation.uncertain event.invalid event.source-unavailable event.too-large event.unauthenticated execution.held idempotency.key-invalid idempotency.key-reused input.invalid operation.not-authorized receipt.expired reconcile.raced reconcile.refused reconcile.unsupported request.body-too-large request.invalid request.limit-out-of-range request.method-not-allowed request.not-found request.reason-invalid request.retention-invalid request.unprocessable request.unsupported-media-type restore.hold-required restore.lease-incompatible restore.review-required restore.unresolved retry.refused run.definition-incompatible run.not-visible run.payload-erased runtime.failure service.unavailable workflow.not-served workflow.revision-mismatch
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-coordinator/admission/held https://id.registrystack.org/problems/registry-coordinator/admission/recovery-only https://id.registrystack.org/problems/registry-coordinator/audit/response-unavailable https://id.registrystack.org/problems/registry-coordinator/authentication/refused https://id.registrystack.org/problems/registry-coordinator/binding/conflict https://id.registrystack.org/problems/registry-coordinator/binding/live-conflict https://id.registrystack.org/problems/registry-coordinator/definition/refused https://id.registrystack.org/problems/registry-coordinator/deployment/activation-changed https://id.registrystack.org/problems/registry-coordinator/deployment/refused https://id.registrystack.org/problems/registry-coordinator/evaluation/uncertain https://id.registrystack.org/problems/registry-coordinator/event/invalid https://id.registrystack.org/problems/registry-coordinator/event/source-unavailable https://id.registrystack.org/problems/registry-coordinator/event/too-large https://id.registrystack.org/problems/registry-coordinator/event/unauthenticated https://id.registrystack.org/problems/registry-coordinator/execution/held https://id.registrystack.org/problems/registry-coordinator/idempotency/key-invalid https://id.registrystack.org/problems/registry-coordinator/idempotency/key-reused https://id.registrystack.org/problems/registry-coordinator/input/invalid https://id.registrystack.org/problems/registry-coordinator/operation/not-authorized https://id.registrystack.org/problems/registry-coordinator/receipt/expired https://id.registrystack.org/problems/registry-coordinator/reconcile/raced https://id.registrystack.org/problems/registry-coordinator/reconcile/refused https://id.registrystack.org/problems/registry-coordinator/reconcile/unsupported https://id.registrystack.org/problems/registry-coordinator/request/body-too-large https://id.registrystack.org/problems/registry-coordinator/request/invalid https://id.registrystack.org/problems/registry-coordinator/request/limit-out-of-range https://id.registrystack.org/problems/registry-coordinator/request/method-not-allowed https://id.registrystack.org/problems/registry-coordinator/request/not-found https://id.registrystack.org/problems/registry-coordinator/request/reason-invalid https://id.registrystack.org/problems/registry-coordinator/request/retention-invalid https://id.registrystack.org/problems/registry-coordinator/request/unprocessable https://id.registrystack.org/problems/registry-coordinator/request/unsupported-media-type https://id.registrystack.org/problems/registry-coordinator/restore/hold-required https://id.registrystack.org/problems/registry-coordinator/restore/lease-incompatible https://id.registrystack.org/problems/registry-coordinator/restore/review-required https://id.registrystack.org/problems/registry-coordinator/restore/unresolved https://id.registrystack.org/problems/registry-coordinator/retry/refused https://id.registrystack.org/problems/registry-coordinator/run/definition-incompatible https://id.registrystack.org/problems/registry-coordinator/run/not-visible https://id.registrystack.org/problems/registry-coordinator/run/payload-erased https://id.registrystack.org/problems/registry-coordinator/runtime/failure https://id.registrystack.org/problems/registry-coordinator/service/unavailable https://id.registrystack.org/problems/registry-coordinator/workflow/not-served https://id.registrystack.org/problems/registry-coordinator/workflow/revision-mismatch
code
required
Allowed values: admission.held admission.recovery-only binding.conflict binding.live-conflict definition.refused deployment.activation-changed deployment.refused execution.held idempotency.key-reused

Example

{
"code": "admission.held",
"type": "https://id.registrystack.org/problems/registry-coordinator/admission/held"
}

A problem: event.too-large, request.body-too-large.

Media typeapplication/problem+json
object
code
required
string
Allowed values: admission.held admission.recovery-only audit.response-unavailable authentication.refused binding.conflict binding.live-conflict definition.refused deployment.activation-changed deployment.refused evaluation.uncertain event.invalid event.source-unavailable event.too-large event.unauthenticated execution.held idempotency.key-invalid idempotency.key-reused input.invalid operation.not-authorized receipt.expired reconcile.raced reconcile.refused reconcile.unsupported request.body-too-large request.invalid request.limit-out-of-range request.method-not-allowed request.not-found request.reason-invalid request.retention-invalid request.unprocessable request.unsupported-media-type restore.hold-required restore.lease-incompatible restore.review-required restore.unresolved retry.refused run.definition-incompatible run.not-visible run.payload-erased runtime.failure service.unavailable workflow.not-served workflow.revision-mismatch
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-coordinator/admission/held https://id.registrystack.org/problems/registry-coordinator/admission/recovery-only https://id.registrystack.org/problems/registry-coordinator/audit/response-unavailable https://id.registrystack.org/problems/registry-coordinator/authentication/refused https://id.registrystack.org/problems/registry-coordinator/binding/conflict https://id.registrystack.org/problems/registry-coordinator/binding/live-conflict https://id.registrystack.org/problems/registry-coordinator/definition/refused https://id.registrystack.org/problems/registry-coordinator/deployment/activation-changed https://id.registrystack.org/problems/registry-coordinator/deployment/refused https://id.registrystack.org/problems/registry-coordinator/evaluation/uncertain https://id.registrystack.org/problems/registry-coordinator/event/invalid https://id.registrystack.org/problems/registry-coordinator/event/source-unavailable https://id.registrystack.org/problems/registry-coordinator/event/too-large https://id.registrystack.org/problems/registry-coordinator/event/unauthenticated https://id.registrystack.org/problems/registry-coordinator/execution/held https://id.registrystack.org/problems/registry-coordinator/idempotency/key-invalid https://id.registrystack.org/problems/registry-coordinator/idempotency/key-reused https://id.registrystack.org/problems/registry-coordinator/input/invalid https://id.registrystack.org/problems/registry-coordinator/operation/not-authorized https://id.registrystack.org/problems/registry-coordinator/receipt/expired https://id.registrystack.org/problems/registry-coordinator/reconcile/raced https://id.registrystack.org/problems/registry-coordinator/reconcile/refused https://id.registrystack.org/problems/registry-coordinator/reconcile/unsupported https://id.registrystack.org/problems/registry-coordinator/request/body-too-large https://id.registrystack.org/problems/registry-coordinator/request/invalid https://id.registrystack.org/problems/registry-coordinator/request/limit-out-of-range https://id.registrystack.org/problems/registry-coordinator/request/method-not-allowed https://id.registrystack.org/problems/registry-coordinator/request/not-found https://id.registrystack.org/problems/registry-coordinator/request/reason-invalid https://id.registrystack.org/problems/registry-coordinator/request/retention-invalid https://id.registrystack.org/problems/registry-coordinator/request/unprocessable https://id.registrystack.org/problems/registry-coordinator/request/unsupported-media-type https://id.registrystack.org/problems/registry-coordinator/restore/hold-required https://id.registrystack.org/problems/registry-coordinator/restore/lease-incompatible https://id.registrystack.org/problems/registry-coordinator/restore/review-required https://id.registrystack.org/problems/registry-coordinator/restore/unresolved https://id.registrystack.org/problems/registry-coordinator/retry/refused https://id.registrystack.org/problems/registry-coordinator/run/definition-incompatible https://id.registrystack.org/problems/registry-coordinator/run/not-visible https://id.registrystack.org/problems/registry-coordinator/run/payload-erased https://id.registrystack.org/problems/registry-coordinator/runtime/failure https://id.registrystack.org/problems/registry-coordinator/service/unavailable https://id.registrystack.org/problems/registry-coordinator/workflow/not-served https://id.registrystack.org/problems/registry-coordinator/workflow/revision-mismatch
code
required
Allowed values: event.too-large request.body-too-large

Example

{
"code": "event.too-large",
"type": "https://id.registrystack.org/problems/registry-coordinator/admission/held"
}

A problem: runtime.failure.

Media typeapplication/problem+json
object
code
required
string
Allowed values: admission.held admission.recovery-only audit.response-unavailable authentication.refused binding.conflict binding.live-conflict definition.refused deployment.activation-changed deployment.refused evaluation.uncertain event.invalid event.source-unavailable event.too-large event.unauthenticated execution.held idempotency.key-invalid idempotency.key-reused input.invalid operation.not-authorized receipt.expired reconcile.raced reconcile.refused reconcile.unsupported request.body-too-large request.invalid request.limit-out-of-range request.method-not-allowed request.not-found request.reason-invalid request.retention-invalid request.unprocessable request.unsupported-media-type restore.hold-required restore.lease-incompatible restore.review-required restore.unresolved retry.refused run.definition-incompatible run.not-visible run.payload-erased runtime.failure service.unavailable workflow.not-served workflow.revision-mismatch
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-coordinator/admission/held https://id.registrystack.org/problems/registry-coordinator/admission/recovery-only https://id.registrystack.org/problems/registry-coordinator/audit/response-unavailable https://id.registrystack.org/problems/registry-coordinator/authentication/refused https://id.registrystack.org/problems/registry-coordinator/binding/conflict https://id.registrystack.org/problems/registry-coordinator/binding/live-conflict https://id.registrystack.org/problems/registry-coordinator/definition/refused https://id.registrystack.org/problems/registry-coordinator/deployment/activation-changed https://id.registrystack.org/problems/registry-coordinator/deployment/refused https://id.registrystack.org/problems/registry-coordinator/evaluation/uncertain https://id.registrystack.org/problems/registry-coordinator/event/invalid https://id.registrystack.org/problems/registry-coordinator/event/source-unavailable https://id.registrystack.org/problems/registry-coordinator/event/too-large https://id.registrystack.org/problems/registry-coordinator/event/unauthenticated https://id.registrystack.org/problems/registry-coordinator/execution/held https://id.registrystack.org/problems/registry-coordinator/idempotency/key-invalid https://id.registrystack.org/problems/registry-coordinator/idempotency/key-reused https://id.registrystack.org/problems/registry-coordinator/input/invalid https://id.registrystack.org/problems/registry-coordinator/operation/not-authorized https://id.registrystack.org/problems/registry-coordinator/receipt/expired https://id.registrystack.org/problems/registry-coordinator/reconcile/raced https://id.registrystack.org/problems/registry-coordinator/reconcile/refused https://id.registrystack.org/problems/registry-coordinator/reconcile/unsupported https://id.registrystack.org/problems/registry-coordinator/request/body-too-large https://id.registrystack.org/problems/registry-coordinator/request/invalid https://id.registrystack.org/problems/registry-coordinator/request/limit-out-of-range https://id.registrystack.org/problems/registry-coordinator/request/method-not-allowed https://id.registrystack.org/problems/registry-coordinator/request/not-found https://id.registrystack.org/problems/registry-coordinator/request/reason-invalid https://id.registrystack.org/problems/registry-coordinator/request/retention-invalid https://id.registrystack.org/problems/registry-coordinator/request/unprocessable https://id.registrystack.org/problems/registry-coordinator/request/unsupported-media-type https://id.registrystack.org/problems/registry-coordinator/restore/hold-required https://id.registrystack.org/problems/registry-coordinator/restore/lease-incompatible https://id.registrystack.org/problems/registry-coordinator/restore/review-required https://id.registrystack.org/problems/registry-coordinator/restore/unresolved https://id.registrystack.org/problems/registry-coordinator/retry/refused https://id.registrystack.org/problems/registry-coordinator/run/definition-incompatible https://id.registrystack.org/problems/registry-coordinator/run/not-visible https://id.registrystack.org/problems/registry-coordinator/run/payload-erased https://id.registrystack.org/problems/registry-coordinator/runtime/failure https://id.registrystack.org/problems/registry-coordinator/service/unavailable https://id.registrystack.org/problems/registry-coordinator/workflow/not-served https://id.registrystack.org/problems/registry-coordinator/workflow/revision-mismatch
code
required
Allowed values: runtime.failure

Example

{
"code": "runtime.failure",
"type": "https://id.registrystack.org/problems/registry-coordinator/admission/held"
}

A problem: audit.response-unavailable, event.source-unavailable, service.unavailable.

Media typeapplication/problem+json
object
code
required
string
Allowed values: admission.held admission.recovery-only audit.response-unavailable authentication.refused binding.conflict binding.live-conflict definition.refused deployment.activation-changed deployment.refused evaluation.uncertain event.invalid event.source-unavailable event.too-large event.unauthenticated execution.held idempotency.key-invalid idempotency.key-reused input.invalid operation.not-authorized receipt.expired reconcile.raced reconcile.refused reconcile.unsupported request.body-too-large request.invalid request.limit-out-of-range request.method-not-allowed request.not-found request.reason-invalid request.retention-invalid request.unprocessable request.unsupported-media-type restore.hold-required restore.lease-incompatible restore.review-required restore.unresolved retry.refused run.definition-incompatible run.not-visible run.payload-erased runtime.failure service.unavailable workflow.not-served workflow.revision-mismatch
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-coordinator/admission/held https://id.registrystack.org/problems/registry-coordinator/admission/recovery-only https://id.registrystack.org/problems/registry-coordinator/audit/response-unavailable https://id.registrystack.org/problems/registry-coordinator/authentication/refused https://id.registrystack.org/problems/registry-coordinator/binding/conflict https://id.registrystack.org/problems/registry-coordinator/binding/live-conflict https://id.registrystack.org/problems/registry-coordinator/definition/refused https://id.registrystack.org/problems/registry-coordinator/deployment/activation-changed https://id.registrystack.org/problems/registry-coordinator/deployment/refused https://id.registrystack.org/problems/registry-coordinator/evaluation/uncertain https://id.registrystack.org/problems/registry-coordinator/event/invalid https://id.registrystack.org/problems/registry-coordinator/event/source-unavailable https://id.registrystack.org/problems/registry-coordinator/event/too-large https://id.registrystack.org/problems/registry-coordinator/event/unauthenticated https://id.registrystack.org/problems/registry-coordinator/execution/held https://id.registrystack.org/problems/registry-coordinator/idempotency/key-invalid https://id.registrystack.org/problems/registry-coordinator/idempotency/key-reused https://id.registrystack.org/problems/registry-coordinator/input/invalid https://id.registrystack.org/problems/registry-coordinator/operation/not-authorized https://id.registrystack.org/problems/registry-coordinator/receipt/expired https://id.registrystack.org/problems/registry-coordinator/reconcile/raced https://id.registrystack.org/problems/registry-coordinator/reconcile/refused https://id.registrystack.org/problems/registry-coordinator/reconcile/unsupported https://id.registrystack.org/problems/registry-coordinator/request/body-too-large https://id.registrystack.org/problems/registry-coordinator/request/invalid https://id.registrystack.org/problems/registry-coordinator/request/limit-out-of-range https://id.registrystack.org/problems/registry-coordinator/request/method-not-allowed https://id.registrystack.org/problems/registry-coordinator/request/not-found https://id.registrystack.org/problems/registry-coordinator/request/reason-invalid https://id.registrystack.org/problems/registry-coordinator/request/retention-invalid https://id.registrystack.org/problems/registry-coordinator/request/unprocessable https://id.registrystack.org/problems/registry-coordinator/request/unsupported-media-type https://id.registrystack.org/problems/registry-coordinator/restore/hold-required https://id.registrystack.org/problems/registry-coordinator/restore/lease-incompatible https://id.registrystack.org/problems/registry-coordinator/restore/review-required https://id.registrystack.org/problems/registry-coordinator/restore/unresolved https://id.registrystack.org/problems/registry-coordinator/retry/refused https://id.registrystack.org/problems/registry-coordinator/run/definition-incompatible https://id.registrystack.org/problems/registry-coordinator/run/not-visible https://id.registrystack.org/problems/registry-coordinator/run/payload-erased https://id.registrystack.org/problems/registry-coordinator/runtime/failure https://id.registrystack.org/problems/registry-coordinator/service/unavailable https://id.registrystack.org/problems/registry-coordinator/workflow/not-served https://id.registrystack.org/problems/registry-coordinator/workflow/revision-mismatch
code
required
Allowed values: audit.response-unavailable event.source-unavailable service.unavailable

Example

{
"code": "audit.response-unavailable",
"type": "https://id.registrystack.org/problems/registry-coordinator/admission/held"
}
Retry-After
integer
>= 1

Whole seconds to wait before trying again.