Skip to content
Registry StackDocsv0.46.0

Report deployment readiness and run state

GET
/v1/doctor
curl --request GET \
--url https://example.com/v1/doctor \
--header 'Authorization: Bearer <token>'

Authorized result

Media typeapplication/json
object
activationReady
required
boolean
state
required
object
admissionsHold
required
boolean
auditReady
required
boolean
databaseId
required
string
heldRunCount
required
integer
heldRuns
required

The first live runs by run id held because this Coordinator version does not restore their retained definition; heldRunCount counts them all.

Array<object>
<= 100 items

A live run held because this Coordinator version does not restore its retained definition. Nothing runs for it; every other run continues.

object
advice
required
string
findingCode
required
string
reason
required
Allowed value: definition-refused
runId
required
string format: uuid
workflow
required
string
workflowRevision
required
string
oldestDueAt
string | null format: date-time
oldestTerminalPayloadAt
required
string | null format: date-time
proposalWaitsByTurn
required

BReg Proposal waits by the turn their last answered read showed, counted from stored rows.

object
nobody
required
integer
official
required
integer
party
required
integer
unobserved
required
integer
restoreHold
required
boolean
restoreReviewRequired
required
integer
schemaVersion
required
integer
states
required
object
key
additional properties
integer
terminalPayloads
required
integer
uncertain
required
integer

Example

{
"state": {
"heldRuns": [
{
"reason": "definition-refused"
}
]
}
}

A problem: authentication.refused.

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 check.not-waiting 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 mutation.uncertain 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/check/not-waiting 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/mutation/uncertain 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: authentication.refused

Example

{
"code": "authentication.refused",
"type": "https://id.registrystack.org/problems/registry-coordinator/admission/held"
}
WWW-Authenticate
string
Allowed value: Bearer

Bearer authentication challenge for missing or refused credentials.

A problem: operation.not-authorized.

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 check.not-waiting 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 mutation.uncertain 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/check/not-waiting 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/mutation/uncertain 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: operation.not-authorized

Example

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

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 check.not-waiting 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 mutation.uncertain 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/check/not-waiting 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/mutation/uncertain 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: 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 check.not-waiting 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 mutation.uncertain 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/check/not-waiting 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/mutation/uncertain 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, 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 check.not-waiting 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 mutation.uncertain 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/check/not-waiting 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/mutation/uncertain 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 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.