Workflow Engine API: schemas

The request and response bodies of the operations in this API.

ActionDefinitionResponseDto

PropertyTypeRequiredDescription
archivedAtstring or nullno
biomeVersionstring or nullno
contributionScopeIdstring or nullno
createdAtstringyes
descriptionstring or nullno
distributionIdstring or nullno
idstringyes
installationIdstring or nullno
isSystembooleanyesTrue if authored in biomes/software-dev/workflow-config/; false if custom.
orgIdstring or nullnoOrg that owns this action. null for system actions.
originKindone of "distribution", "org_installation" or nullno
slugstringyesCanonical action id.
titlestring or nullno
updatedAtstringyes

ActionDefinitionResponseDtoDataArrayEnvelope

PropertyTypeRequiredDescription
dataarray of ActionDefinitionResponseDtoyes

ActionDefinitionResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataActionDefinitionResponseDtoyes

ActionDefinitionVersionResponseDto

PropertyTypeRequiredDescription
actionKindActionKindyesSemantic category of the action. Drives consumer presentation (FE canvas shape, badge icon). Falls back to generic when the manifest does not declare a kind, so older manifests stay safe.
contentHashstringyes
contractVersionstring or nullnoOptional author-declared compatibility label; not revision identity.
definitionIdstringyes
executionKindActionExecutionKindyes
idstringyes
manifestJsonobjectyesParsed + validated manifest JSON.
originReleaseIdstring or nullno
publishedAtstringyes
rawYamlstringyesRaw YAML source of this immutable content-addressed revision.
revisionNumbernumberyesServer-allocated immutable revision.
taskQueueTaskQueueNameyes

ActionDefinitionVersionResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataActionDefinitionVersionResponseDtoyes

ActionExecutionKind

Type: one of "activity", "child_workflow"

ActionKind

Semantic category of the action. Drives consumer presentation (FE canvas shape, badge icon). Falls back to generic when the manifest does not declare a kind, so older manifests stay safe.

Type: string (16 values)

BriefcaseDto

PropertyTypeRequiredDescription
mcpToolsarray of BriefcaseMcpToolDtono
referencesarray of BriefcaseReferenceDtono
uploadsarray of BriefcaseUploadDtono
varsmap of stringnoString KV the dispatcher attaches for run-scoped facts (designSystemVersion, kbSpaceSlug, targetEnvironment, …). Not a substitute for workflow vars: or for run-wide identifiers (orgId / projectId).

BriefcaseMcpToolDto

PropertyTypeRequiredDescription
kindone of "provider", "tool"yes
providerKindstringyes
resourceIdstringyes
toolNamestringno

BriefcaseReferenceDto

PropertyTypeRequiredDescription
kindone of "kb_page", "kb_space", "artifact", "scm_repo", "external_url"yes
refstringyes
titlestring or nullyes

BriefcaseUploadArtifactDto

PropertyTypeRequiredDescription
artifactIdstringyes
hashstringyes
titlestringno
typestringyes
versionnumberyes
versionIdstringyes

BriefcaseUploadDto

PropertyTypeRequiredDescription
artifactBriefcaseUploadArtifactDtoyes
contentTypestring or nullyes
filenamestringyes
sizeBytesnumberyes

CancelInquiryRequestDto

PropertyTypeRequiredDescription
reasonstringyesFree-form reason for the audit trail. Surfaced to the FE as the cancellation explanation.

CanvasAnnotationDto

PropertyTypeRequiredDescription
heightnumberyesHeight in SVG user space.
idstringyesStable identifier (uuid or short slug). Client-generated.
textstringyesFree-form text content. Trimmed to 4 KiB on write.
widthnumberyesWidth in SVG user space.
xnumberyesTop-left X in SVG user space.
ynumberyesTop-left Y in SVG user space.

CompilePreviewRawRequestDto

PropertyTypeRequiredDescription
isReusablebooleannoWhen true, treat the YAML as a reusable workflow (workflow_call trigger). Default = false.
rawYamlstringyesRaw YAML text of the workflow document.
triggerCompilePreviewTriggerDtoyes

CompilePreviewRequestDto

PropertyTypeRequiredDescription
slugstringyesSlug of the workflow to compile. Resolution follows the owner-appropriate release channel unless workflowTarget pins an exact revision.
triggerCompilePreviewTriggerDtoyes
workflowTargetRevisionTargetDtonoOptional Workflow RevisionTarget. When omitted, the owner-appropriate channel is followed.

CompilePreviewResponseDto

PropertyTypeRequiredDescription
compiledRunobjectyesFull CompiledRun JSON. Typed by @xemahq/kernel-contracts/workflow — imported by the frontend for rendering.
jobCountnumberyesNumber of jobs in the compiled DAG (after static matrix expansion).
snapshotSha256stringyessha256 of the canonical-JSON serialization of the CompiledRun. Deterministic for a given (workflow revision + trigger payload).
workflowDefinitionContentHashstringyesContent hash of the immutable workflow revision used by the compilation.

CompilePreviewResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataCompilePreviewResponseDtoyes

CompilePreviewTriggerDto

PropertyTypeRequiredDescription
actorSubjectstring or nullno
inputsobjectyesFree-form trigger payload — shape varies by trigger kind. For workflow_dispatch, this is the typed inputs object declared in the workflow.
kindWorkflowTriggerKindyes
orgIdstringno
projectIdstringno

CreateInquiryRequestDto

PropertyTypeRequiredDescription
escalationChainarray of objectnoOptional escalation chain — required when onTimeout=ESCALATE. Each entry: { recipients, policy?, timeoutSeconds }. Validated against EscalationStepSchema in @xemahq/inquiry-contracts.
expiresAtstringyesISO-8601 wall-clock deadline.
idstringyesCaller-supplied stable id; idempotency key for create. A retry with the same id returns the existing row, no mutation.
inquiryKindstringnoOptional domain approval-card discriminator. Orthogonal to the structural kind: it selects a biome-contributed approval-card variant (custom fields + verdict shape) on the FE and a registered ContributionKind.InquiryKind descriptor on the engine. Omitted = the generic card for the structural kind (a valid state). When present, the engine refuses an unregistered value with 400 INQUIRY_KIND_UNKNOWN.
jobRunIdstringyes
kindInquiryKindyes
onEscalationExhaustionEscalationExhaustionActionnoFinal action when the escalation chain is exhausted. reject (default) | approve.
onTimeoutInquiryTimeoutActionyes
policyReplyPolicyDtoyes
promptobjectyesKind-specific prompt payload. Validated against the Zod schema registered for kind.
recipientsarray of InquiryRecipientDtoyes
titlestringyes
workflowHandleIdstringnoOptional workflow-runtime handle id. Set by gate workflows for DECISION_GATE inquiries so the engine can forward replies as a typed Update. Null for inquiries the engine resolves in-place via polling.
workflowRunIdstringyes

CreateWorkflowDispatchDefinitionDto

PropertyTypeRequiredDescription
namestringyesHuman-facing name. Unique per (org, project?, workflowSlug).
overlayWorkflowDispatchDefinitionDtoyes
projectIdstringnoProject to scope the definition to. Omit for an org-wide definition visible to every project. When set, the caller's access to it is verified.
workflowSlugstringyesWorkflow slug this dispatch definition targets.

CreateWorkflowDraftDto

PropertyTypeRequiredDescription
isReusablebooleannoEnable only for a deliberately reusable public workflow contract. Those workflows retain metadata.contractVersion compatibility versioning.
rawYamlstringyesInitial workflow YAML. The first draft must be valid so the server can establish the stable identity; later draft updates may be temporarily invalid.

DeleteWorkflowDispatchDefinitionResponseDto

PropertyTypeRequiredDescription
deletedbooleanyes

DeleteWorkflowDispatchDefinitionResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataDeleteWorkflowDispatchDefinitionResponseDtoyes

DispatchSchemaResponseDto

PropertyTypeRequiredDescription
inputSchemaobjectyesJSON Schema Draft 2020-12 object describing on.workflow_dispatch.inputs.
workflowRevisionNumbernumberyesGenerated workflow revision resolved at lookup time.
workflowSlugstringyesWorkflow slug the schema was extracted for.

DispatchSchemaResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataDispatchSchemaResponseDtoyes

EmptyResponseDto

PropertyTypeRequiredDescription
okbooleannoAlways true.

EmptyResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataEmptyResponseDtoyes

EscalateInquiryRequestDto

PropertyTypeRequiredDescription
reasonstringyesFree-form reason for the audit trail. Typically deadline_passed.

EscalationExhaustionAction

Final action when the escalation chain is exhausted. Defaults to reject.

Type: one of "reject", "approve"

EventSubscriptionReadiness

not_registered: no subscription yet (no delegation, or the first registration is pending). registered: delivering. renewal_failing: the hub or identity could not be reached to renew; event-hub holds delivery. held: the hub is holding delivery until the authority is renewed. disabled: the hub disabled it because the authority was not renewed. revoked: the authority was refused; authorize again.

Type: one of "not_registered", "registered", "renewal_failing", "held", "disabled", "revoked"

EventSubscriptionReadinessDto

PropertyTypeRequiredDescription
failureCodestring or nullyesThe refusal or failure code behind the state.
stateEventSubscriptionReadinessyesnot_registered: no subscription yet (no delegation, or the first registration is pending). registered: delivering. renewal_failing: the hub or identity could not be reached to renew; event-hub holds delivery. held: the hub is holding delivery until the authority is renewed. disabled: the hub disabled it because the authority was not renewed. revoked: the authority was refused; authorize again.

ExactRevisionSelectorDto

PropertyTypeRequiredDescription
contentHashstringyes
kindone of "exact"yes
revisionIdstringyes

FiringDelegationDto

PropertyTypeRequiredDescription
capabilitiesarray of stringyesThe capabilities the live revision needs lent — what authorizing records.
reasonstring or nullyesWhy its firings are refused, and what a member must do; null when they are not (not_required, held). required after a reconcile means the live revision needs a different lent set than the one held, so a member must re-authorize it (POST …/:id/delegation).
stateFiringDelegationStateyesnot_required: the live revision hands no authority on and reads no wallet. required: a member must authorize its firings (POST …/:id/delegation); every firing is refused until then. held: a durable delegation is held. unprovisioned: originated, but its carrier is not bound yet (firings are refused until it is). ended: the delegation ended; a member must authorize again.

FiringDelegationState

not_required: the live revision hands no authority on and reads no wallet. required: a member must authorize its firings (POST …/:id/delegation); every firing is refused until then. held: a durable delegation is held. unprovisioned: originated, but its carrier is not bound yet (firings are refused until it is). ended: the delegation ended; a member must authorize again.

Type: one of "not_required", "required", "unprovisioned", "held", "ended"

HistoryRowDto

PropertyTypeRequiredDescription
attemptnumberno
closedAtstringno
eventIdnumbernoStandalone event id (rows of kind=event).
eventIdsarray of numberno
eventTimestringno
eventTypestringno
failureobjectno
groupIdnumbernoFirst event id in this group (rows of kind=activity|child-workflow).
inputobjectno
kindone of "activity", "child-workflow", "event"yesGroup rows fold the activity/child-workflow lifecycle; event rows are everything else (workflow_task / signal / timer / marker / lifecycle).
resultobjectno
scheduledAtstringno
startedAtstringno
statusstringno
typeNamestringno

InquiryKind

Type: one of "decision_gate", "agent_tool_inquiry", "review"

InquiryRecipientDto

PropertyTypeRequiredDescription
agentMaxIterationsnumbernoReview-loop hint: max number of times this AGENT or WORKFLOW responder may reject before xema/review@v3 demotes them to advisory. Ignored outside review workflows; not persisted on the recipient row.
kindRecipientKindyes
mandatorybooleannoWhen false, the recipient is advisory: their verdict is recorded but does not gate the policy. Defaults to true.
targetobjectyesDiscriminated by kind: human { userId } | agent { launchDefinition, workspaceAction, invocationOverlay } | endpoint { url, authRef, verdictMapper, ... }. Validated against the Zod schema in @xemahq/inquiry-contracts.

InquiryRecipientResponseDto

PropertyTypeRequiredDescription
idstringyes
kindRecipientKindyes
mandatorybooleanyesWhen false, this recipient is advisory: their verdict is collected for context but does not gate the policy. Default true.
ordnumberyes
reasonCodestring or nullno
replyIdstring or nullno
resolvedAtstring or nullno
statusInquiryRecipientStatusyes
targetobjectyesDiscriminated by kind (see CreateInquiryRequestDto).

InquiryRecipientStatus

Type: one of "pending", "replied", "skipped", "errored"

InquiryReplyResponseDto

PropertyTypeRequiredDescription
idstringyes
inquiryIdstringyes
payloadobjectyes
recipientIdstringyes
submittedAtstringyes
submittedBystringyes

InquiryResponseDto

PropertyTypeRequiredDescription
cancelledAtstring or nullno
createdAtstringyes
currentEscalationLevelnumberyesZero-based count of escalations fired so far. 0 means the original recipients are still active.
escalationChainarray of objectyesLinear escalation chain — each entry is { recipients[], policy?, timeoutSeconds }. Empty for non-escalating inquiries.
expiresAtstringyes
idstringyes
inquiryKindstring or nullnoOptional domain approval-card discriminator (see CreateInquiryRequestDto). Names a registered ContributionKind.InquiryKind descriptor and selects the FE approval-card variant. Null = the generic card for the structural kind.
inquiryKindDefinitionIdstring or nullno
inquiryKindRevisionIdstring or nullno
jobRunIdstringyes
kindInquiryKindyes
onEscalationExhaustionEscalationExhaustionActionyesFinal action when the escalation chain is exhausted. Defaults to reject.
onTimeoutInquiryTimeoutActionyes
orgIdstringyes
originBiomestring or nullnoGeneric origin attribution — the biome that owns the workflow definition whose run raised this inquiry. Null when the definition is org/project-authored (not attributed to any biome).
policyobjectyes
projectIdstring or nullyesOwning project, or null. An inquiry hangs off workflowRunId and inherits that run's scope, so it is project-less exactly when the run is.
promptobjectyes
recipientsarray of InquiryRecipientResponseDtoyes
repliesarray of InquiryReplyResponseDtono
resolvedAtstring or nullno
statusInquiryStatusyes
titlestringyes
updatedAtstringyes
verdictobject or nullno
workflowHandleIdstring or nullno
workflowRunIdstringyes

InquiryResponseDtoDataArrayEnvelope

PropertyTypeRequiredDescription
dataarray of InquiryResponseDtoyes

InquiryResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataInquiryResponseDtoyes

InquiryStatus

Type: one of "pending", "resolved", "expired", "cancelled"

InquiryTimeoutAction

Type: one of "reject", "approve", "escalate"

JobRunResponseDto

PropertyTypeRequiredDescription
attemptnumberyesWorker retry attempt count.
completedAtstring or nullno
createdAtstringyes
errorMessagestring or nullno
errorTypestring or nullno
idstringyes
jobKeystringyes
matrixBindingobjectyesMatrix binding values for this spread instance. Empty object for non-matrix jobs.
matrixIndexnumberyesIndex within a matrix spread (0 for non-matrix jobs).
outputsobject or nullnoAction-defined output payload. For review actions this includes verdict, reviewerVerdicts[], aggregateFindings[], and tally counts.
startedAtstring or nullno
statusstringyespending | running | succeeded | failed | skipped | cancelled.
updatedAtstringyes
workflowRunIdstringyes

JobRunResponseDtoDataArrayEnvelope

PropertyTypeRequiredDescription
dataarray of JobRunResponseDtoyes

MoveRevisionPinsDto

PropertyTypeRequiredDescription
fromRevisionNumbernumberyes
toRevisionNumbernumberyes

ProblemActionableBy

Who can act on this refusal: user (correct the input, sign in), org-admin (an administrator of the organisation), platform (the operators of this installation), none (nobody — it cannot succeed). ABSENT when not known; never guessed.

Type: one of "user", "org-admin", "platform", "none"

ProblemDetailsDto

RFC 9457 problem document. The declared members are the reserved core; extension members are TOP-LEVEL and OPEN, owned by the refusing plane.

PropertyTypeRequiredDescription
actionableByProblemActionableBynoWho can act on this refusal: user (correct the input, sign in), org-admin (an administrator of the organisation), platform (the operators of this installation), none (nobody — it cannot succeed). ABSENT when not known; never guessed.
codestringyesSCREAMING_SNAKE_CASE. The machine-branchable refusal, and the value a policy rule, a retry predicate and a UI branch all name.
detailstringnoHuman-readable and specific to THIS occurrence.
errorsarray of ProblemFieldIssueDtonoField-level issues, when the refusal is about the request body.
instancestringnoURI reference identifying the occurrence — a request path, a run, a row.
paramsmap of string or number or booleannoSafe i18n interpolation values for the message keyed by code — typed and allowlisted per code by its declaration. Never server-authored copy, never internal diagnostics.
retryProblemRetrynoWhat a retry can achieve: transient (later, unchanged), after-change (only after someone changes something), never (a defect until a fixed version ships). ABSENT when not known.
statusnumberyesThe HTTP status code, repeated in the body so a logged document is self-contained.
titlestringyesShort, human-readable, and STABLE for a given type. Never per-occurrence — that is detail.
traceIdstringnoW3C trace-context trace-id, present when the caller sent a traceparent. Omitted rather than invented when it did not.
typestringyesAbsolute URI identifying the refusal TYPE. Derived one-to-one from code, so a caller may branch on either and can never be told two different things. Never about:blank.

ProblemFieldIssueDto

PropertyTypeRequiredDescription
codestringnoSCREAMING_SNAKE_CASE code of THIS issue, for a frontend i18n key. Present when the issue was minted by a declared problem.
detailstringyesProse for logs and developers. A frontend localises from code + params instead.
paramsmap of string or number or booleannoSafe i18n interpolation values for this issue's code.
pointerstringyesRFC 6901 JSON Pointer into the request body. Root is "/".

ProblemRetry

What a retry can achieve: transient (later, unchanged), after-change (only after someone changes something), never (a defect until a fixed version ships). ABSENT when not known.

Type: one of "transient", "after-change", "never"

PublishActionVersionDto

PropertyTypeRequiredDescription
rawYamlstringyesFull YAML source of the action manifest. Validated against action.schema.json; the engine rejects malformed manifests with DSL_SCHEMA_INVALID.

PublishWorkflowDraftDto

PropertyTypeRequiredDescription
expectedDraftIdstring or nullyesId of the draft you are editing, or null when the workflow has no draft yet. The write returns 409 when the current draft pointer is anything else.
idempotencyKeystringyesCaller-stable retry key. Repeating the same key and content returns the same immutable revision.

RecipientKind

Type: one of "human", "agent", "endpoint", "identity_group", "workflow"

ReconcileStalledRunsResponseDto

PropertyTypeRequiredDescription
reconcilednumberyesRows whose status changed to a terminal state.
reconciledRunIdsarray of stringyesRun ids that were reconciled in this call.
scannednumberyesRows inspected in this sweep.

ReconcileStalledRunsResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataReconcileStalledRunsResponseDtoyes

ReferenceConsumerDto

PropertyTypeRequiredDescription
refVersionInConsumerstring or nullnoThe @version the consumer literally wrote in the YAML, or null if they left it unspecified (resolves to 'latest active' at run time).
sourcePathstringyesJSON path inside the consuming workflow where the ref was discovered.
workflowRevisionNumbernumberyes
workflowSlugstringyes
workflowSourceWorkflowSpaceKindyesOwning space tier of the consuming workflow row.
workflowTitlestring or nullno

ReferenceConsumersResponseDto

PropertyTypeRequiredDescription
consumersarray of ReferenceConsumerDtoyes
targetKindReferenceKindyes
targetSlugstringyes
targetVersionstring or nullnoOptional @version filter the caller asked for. When set, consumers that point at this exact version OR at no version at all (latest-active) are returned. When omitted, every consumer of the slug is returned.

ReferenceConsumersResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataReferenceConsumersResponseDtoyes

ReferenceKind

Type: string (9 values)

ReleaseChannelRevisionSelectorDto

PropertyTypeRequiredDescription
channelstringyes
kindone of "release-channel"yes

ReplyPolicyDto

PropertyTypeRequiredDescription
abstainTreatmentone of "skip", "reject_implicit"noHow agent/endpoint ABSTAIN replies are counted under M_OF_N: 'skip' (default) ignores them; 'reject_implicit' counts them as rejections.
kindReplyPolicyKindyes
mnumbernoQuorum threshold for kind=m_of_n. Required when kind=m_of_n, ignored otherwise.

ReplyPolicyKind

Type: one of "single", "m_of_n", "all_of", "any_of"

ResolveInquiryRequestDto

PropertyTypeRequiredDescription
outcomeone of "approve", "reject"yesVerdict the gate workflow's policy resolved to. Drives the inquiry's terminal status='resolved' + verdict payload. Closed enum so the engine cannot accept arbitrary outcome strings.
verdictPayloadobjectnoOptional verdict payload override. When omitted the engine stores { outcome }. Provide a richer object (e.g. approvedArtifacts, decisionTrail) when downstream consumers read more than just the outcome.

RestoreWorkflowRevisionDto

PropertyTypeRequiredDescription
expectedDraftIdstring or nullyesId of the draft you are editing, or null when the workflow has no draft yet. The write returns 409 when the current draft pointer is anything else.

RevisionPinDto

PropertyTypeRequiredDescription
holderRevisionPinHolderyesWhat may be DONE with this reference. mutable is bulk-movable configuration; immutable lives inside a published revision and needs the holder republished; provenance records what DID run and is never moved.
holderIdstringyes
holderKindstringyesPer-registry consumer kind: workflow-dispatch-definition, workflow-outbound-ref, workflow-run, workflow-run-archive.
labelstring or nullno
resourceIdstringyesThe workflow definition the pinned revision belongs to.
revisionIdstringyesThe pinned revision.

RevisionPinHolder

What may be DONE with this reference. mutable is bulk-movable configuration; immutable lives inside a published revision and needs the holder republished; provenance records what DID run and is never moved.

Type: one of "mutable", "immutable", "provenance"

RevisionPinInventoryResponseDto

PropertyTypeRequiredDescription
definitionIdstringyes
pinsarray of RevisionPinDtoyes
provenanceRevisionPinProvenanceSummaryDtoyes
revisionIdstringyes
revisionNumbernumberyes
workflowSlugstringyes

RevisionPinInventoryResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataRevisionPinInventoryResponseDtoyes

RevisionPinMoveResponseDto

PropertyTypeRequiredDescription
definitionIdstringyes
fromRevisionIdstringyes
fromRevisionNumbernumberyes
immovablearray of RevisionPinDtoyesProvenance rows naming the source revision. Never moved: they record what executed.
movedarray of RevisionPinDtoyesPins that were re-pointed.
provenanceRevisionPinProvenanceSummaryDtoyes
republishRequiredarray of RevisionPinDtoyesPins embedded inside a published revision. Republish the holder to change them — they were NOT moved.
toRevisionIdstringyes
toRevisionNumbernumberyes
workflowSlugstringyes

RevisionPinMoveResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataRevisionPinMoveResponseDtoyes

RevisionPinProvenanceSummaryDto

PropertyTypeRequiredDescription
archivedRunsListednumberyes
archivedRunsTotalnumberyes
capnumberyesPer-source listing cap.
runsListednumberyesHow many of them this response lists.
runsTotalnumberyesLive runs in the caller’s org that executed this revision.
truncatedbooleanyesTrue when provenance rows exist beyond the cap. They are counted, never omitted silently.

RevisionTargetDto

PropertyTypeRequiredDescription
resourceIdstringyes
resourceKindstringyes
selectorExactRevisionSelectorDto or ReleaseChannelRevisionSelectorDtoyes

RollbackWorkflowRevisionDto

PropertyTypeRequiredDescription
idempotencyKeystringyesCaller-stable retry key.
priorReleaseSetIdstringyesImmutable prior ReleaseSet to replay on this workflow channel.

RunActivityNowDto

PropertyTypeRequiredDescription
agentDisplayNamestring or nullyes
jobKeystringyes
summarystringyes

RunArchiveDto

PropertyTypeRequiredDescription
actorSubjectstring or nullno
archivedAtstringyesWhen the retention sweeper archived the original run row.
completedAtstringyes
correlationIdstringyes
idstringyes
orgIdstring or nullno
projectIdstring or nullno
snapshotSha256stringyes
startedAtstring or nullno
statusWorkflowRunStatusyes
triggerKindWorkflowTriggerKindyes
workflowDefinitionRevisionIdstringyesExact immutable workflow revision UUID.
workflowRevisionNumbernumberyes
workflowSlugstringyes

RunBriefcaseSummaryDto

PropertyTypeRequiredDescription
mcpToolsCountnumberyes
referencesCountnumberyes
uploadsCountnumberyes
varKeysarray of stringyes

RunControlBodyDto

PropertyTypeRequiredDescription
reasonstringnoOperator-facing justification — stored on the workflow state and echoed through status queries.

RunDeliverableDto

PropertyTypeRequiredDescription
artifactRefobject or nullnoArtifact reference for kind: "deliverable". Carries the canonical (artifactId, versionId, version, type) needed to fetch payload bytes from artifact-store.
kindone of "deliverable", "structured", "text"yesOutput kind discriminator from the workflow declaration.
slugstringyesWorkflow output slug — matches workflow.outputs.<name>.slug.
sourceJobstringyesJob name that produced the underlying value.
sourceOutputstringyesJob-output name read from the producing job.
structuredValueobject or nullnoInline JSON value for kind: "structured" — typically a small object the agent reads directly. Null for deliverable/text kinds.
textValuestring or nullnoPlain string body for kind: "text". Null for other kinds.

RunDescribeResponseDto

PropertyTypeRequiredDescription
executionStatusstringno
memoobjectnoWorkflow memo fields (free-form metadata pinned at start time, immutable for the run's lifetime).
pendingActivitiesarray of RunPendingActivityDtonoActivities currently in flight (scheduled or started, not yet terminal). Each row carries attempt counter + last-failure for retry storms.
searchAttributesobjectnoCustom search attributes Temporal indexes for this execution. The engine populates OrgId on every org-owned execution; it is the only custom search attribute the deployment namespace declares.
stateone of "live", "expired", "queued", "skipped"yes

RunDescribeResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataRunDescribeResponseDtoyes

RunDetailResponseDto

PropertyTypeRequiredDescription
archiveRunArchiveDto or nullnoSet when state === "pruned".
runRunResponseDto or nullnoSet when state === "live".
stateRunDetailStateyeslive → engine row alive (use run); pruned → row archived (use archive).

RunDetailResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataRunDetailResponseDtoyes

RunDetailState

live → engine row alive (use run); pruned → row archived (use archive).

Type: one of "live", "pruned"

RunEventKind

Semantic category of the event — drives consumer iconography + colouring in the recent-tail / activity console surfaces. Producer maps structured CloudEvent type strings into this closed set; unknown sources fall back to generic.

Type: string (17 values)

RunFullResponseDto

PropertyTypeRequiredDescription
activityNowarray of RunActivityNowDtoyes
blockingSummarystring or nullyes
briefcaseSummaryRunBriefcaseSummaryDto or nullyesConcise structural summary of the run-scoped Briefcase the dispatcher attached. The full briefcase contents are persisted on triggerPayload.briefcase; the run-detail UI only needs counts + var keys to render the chip. null when the briefcase is empty or the run predates the Briefcase contract.
dispatchContextobject or nullyesOpaque trigger-context blob captured at dispatch time. Populated when the run was dispatched by a biome-gated webhook trigger; carries { kind: "biome-installation", installationId, biomeId, adapterKind, selectorSnapshot } so the run-detail UI can surface "which install fired this run". Null for user-dispatched / schedule / non-biome webhook runs.
dispatchInputsobject or nullyesResolved workflow_dispatch inputs the run was started with — the typed bag from triggerPayload.inputs. Frontend consumes this to render the "Resolved" side of inputs.<name> bindings in <JobInputsList> without having to call back into the trigger-store. null for runs whose trigger kind is not workflow_dispatch (schedule, webhook, workflow_call all have their own payload shapes that are not surfaced here).
endedAtstring (date-time) or nullyes
etaAtstring (date-time) or nullyes
idstringyes
initiatorDisplayNamestring or nullyes
outcomeRunOutcomeDto or nullyes
phaseRailRunPhaseRailDtoyes
recentTailarray of RunRecentEventDtoyes
revisionRunRevisionPayloadDtoyes
startedAtstring (date-time)yes
statusWorkflowRunStatusyes
waitWindowsarray of WaitWindowDtoyes
workflowDisplayNamestringyes
workflowSlugstringyes

RunFullResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataRunFullResponseDtoyes

RunHistoryResponseDto

PropertyTypeRequiredDescription
hasMorebooleanyesTrue iff nextPageToken is non-null. Convenience for FE pagination logic.
nextPageTokenstring or nullyesContinuation token for the next page (base64-encoded Temporal nextPageToken). Null when no more events.
rowsarray of HistoryRowDtoyes
stateone of "live", "expired", "queued", "skipped"yes
workflowClosedAtstring or nullyesISO timestamp of the workflow's terminal event when this page contains it; null otherwise. Lets the FE retroactively patch activity/child rows fetched on earlier pages whose terminal events were never written (Temporal stops appending events at close, so a sibling activity that was in flight when the workflow closed has no terminal event in history).

RunHistoryResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataRunHistoryResponseDtoyes

RunManualOverrideDto

PropertyTypeRequiredDescription
canExtendRetriesbooleanyes
lastFailureReasonstringyes
retryCountnumberyes
retryLimitnumberyes

RunMetadataResponseDto

PropertyTypeRequiredDescription
queryNamesarray of stringyesNames of every query handler the workflow has defined. Used by the FE Query tab to populate the dropdown.

RunMetadataResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataRunMetadataResponseDtoyes

RunOutcomeActionDto

PropertyTypeRequiredDescription
hrefstringno
kindRunOutcomeActionKindyes
labelstringyes

RunOutcomeActionKind

Type: one of "run_again", "open_in_kb", "redo_from_phase", "open_last_successful_artifact", "restart_with_same_inputs", "adjust_escalation_chain"

RunOutcomeBranch

Type: one of "succeeded", "failed", "cancelled", "skipped", "escalation_exhausted"

RunOutcomeDto

PropertyTypeRequiredDescription
actionsarray of RunOutcomeActionDtoyes
branchRunOutcomeBranchyes
summarystringyes

RunPendingActivityDto

PropertyTypeRequiredDescription
activityIdstringyes
activityTypestringno
attemptnumberyesCurrent attempt count (1-indexed).
lastFailureobjectnoMost recent failure on this pending activity (if any).
lastHeartbeatTimestring (date-time)no
lastStartedTimestring (date-time)no
maximumAttemptsnumberno
scheduledTimestring (date-time)no
statestringno

RunPhaseRailDto

PropertyTypeRequiredDescription
currentIndexnumber or nullyesIndex of the currently-active phase, or null when terminal AND fully filled.
phasesarray of RunPhaseRailEntryDtoyes

RunPhaseRailEntryDto

PropertyTypeRequiredDescription
endedAtstring (date-time) or nullyes
labelstringyes
stageKeystringyes
startedAtstring (date-time) or nullyes
statusRunPhaseRailStatusyes

RunPhaseRailStatus

Type: one of "pending", "running", "waiting", "succeeded", "failed", "cancelled", "skipped"

RunQueryRequestDto

PropertyTypeRequiredDescription
argsarray of anynoPositional arguments forwarded verbatim to the query handler.
namestringyes

RunQueryResponseDto

PropertyTypeRequiredDescription
resultobject or nullyesWhatever the workflow query handler returned.

RunQueryResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataRunQueryResponseDtoyes

RunRecentEventDto

PropertyTypeRequiredDescription
atstring (date-time)yes
developerAnchorstring or nullyes
idstringyes
kindRunEventKindyesSemantic category of the event — drives consumer iconography + colouring in the recent-tail / activity console surfaces. Producer maps structured CloudEvent type strings into this closed set; unknown sources fall back to generic.
summarystringyes

RunRedoFromPhaseDto

PropertyTypeRequiredDescription
availablePhasesarray of RunRedoPhaseChoiceDtoyes

RunRedoPhaseChoiceDto

PropertyTypeRequiredDescription
availablebooleanyes
labelstringyes
stageKeystringyes
unavailableReasonstringno

RunResetRequestDto

PropertyTypeRequiredDescription
eventIdnumberyeseventId (1-indexed Temporal history id) of a WorkflowTaskCompleted event. The workflow re-dispatches everything after this point.
reasonstringyesOperator-facing justification stored on the new run.

RunResetResponseDto

PropertyTypeRequiredDescription
newRunIdstringyesTemporal runId of the new execution started by the reset.

RunResetResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataRunResetResponseDtoyes

RunResponseDto

PropertyTypeRequiredDescription
actorSubjectstring or nullno
completedAtstring or nullno
correlationIdstringyes
createdAtstringyes
deliverablesarray of RunDeliverableDtoyesWorkflow-level named outputs projected from CompiledRun.workflowOutputs × producing JobRun outputs. Empty array when the workflow declares no outputs: block. Read by the MCP workflow-tool bridge, the frontend run viewer, and any consumer that needs structured access to a run's results without crawling JobRun.outputs JSON.
dispatchContextobject or nullnoOpaque trigger-context blob captured at dispatch time. Populated when the run was dispatched by a biome-gated webhook trigger; carries { kind: "biome-installation", installationId, biomeId, adapterKind, selectorSnapshot }. Null for user-dispatched and schedule-dispatched runs.
errorCodestring or nullno
errorMessagestring or nullno
idstringyes
orgIdstringyes
pausedbooleanyes
projectIdstring or nullyesOwning project, or null when the run has none. NULL is ABSENT, never "org-owned" — the run's owner is its orgId, which is always present. A scheduled fire that named no project is org-scoped, and this is what it looks like on the wire. Nullable rather than optional so a consumer must handle it: an optional key reads as "sometimes not sent", which invites ?? something, and the something is what the engine used to fabricate.
runtimeExecutionIdstring or nullno
runtimeWorkflowIdstringyesRuntime workflow handle id used by the orchestration engine. Internal execution backend is intentionally abstracted from clients.
snapshotSha256stringyes
startedAtstring or nullno
statusWorkflowRunStatusyes
triggerKindWorkflowTriggerKindyes
updatedAtstringyes
workflowDefinitionIdstringyesPhysical workflow definition UUID.
workflowDefinitionRevisionIdstringyesExact immutable workflow revision UUID.
workflowRevisionNumbernumberyes
workflowSlugstringyes

RunResponseDtoDataArrayEnvelope

PropertyTypeRequiredDescription
dataarray of RunResponseDtoyes

RunResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataRunResponseDtoyes

RunReviseCheckpointDto

PropertyTypeRequiredDescription
checkpointIdstringyes
findingsarray of RunRevisionFindingDtoyes
stageKeystringyes
summarystringyes
titlestringyes

RunRevisionFindingDto

PropertyTypeRequiredDescription
anchorstring or nullyes
idstringyes
messagestringyes
severityone of "info", "minor", "major", "critical"yes

RunRevisionPayloadDto

PropertyTypeRequiredDescription
checkpointRunReviseCheckpointDtono
overrideRunManualOverrideDtono
redoRunRedoFromPhaseDtono
stateRunRevisionStateKindyes

RunRevisionStateKind

Type: one of "none", "revise", "manual_override", "redo_from_phase"

RunSignalRequestDto

PropertyTypeRequiredDescription
argsarray of anynoPositional args forwarded as the signal payload.
namestringyesCustom workflow signal name. Reserved lifecycle names (pauseRun, resumeRun, cancelRun) are rejected — use the dedicated /pause /resume /cancel endpoints.

RunSummaryResponseDto

PropertyTypeRequiredDescription
completedAtstringnoISO timestamp when the run reached a terminal state. Only present when state is expired or skipped.
jobOutputsobject or nullyesResult of the workflow getJobOutputs query — per-job projection map.
stateone of "live", "expired", "queued", "skipped"yeslive when the workflow is still in Temporal retention; expired after retention closed; queued when the run waits in its concurrency group and has not started; skipped when the run ended without ever starting. live carries the merged status + jobOutputs; expired and skipped carry completedAt only; queued carries neither status nor jobOutputs.
statusobject or nullyesResult of the workflow getRunStatus query.

RunSummaryResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataRunSummaryResponseDtoyes

RunTimelineEntryDto

PropertyTypeRequiredDescription
cloudEventIdstringyesCloudEvent id of the source event. Stable across redeliveries; safe for client-side dedupe.
dataobjectyesCloudEvent data payload as it arrived from event-hub.
descriptorTypestringyesCloudEvent type (e.g. workflow.run.started, workflow.activity.completed).
ehGlobalSeqstringyesEvent-hub global sequence cursor for this row. Use as the afterEhGlobalSeq parameter on subsequent calls to resume replay.
hintobject or nullyesOptional descriptor hint payload (e.g. { runId }).
idstringyesStable per-row id.
occurredAtstringyesCloudEvent time from the producer. ISO-8601. Use this — NOT createdAt — when ordering frames in the UI.

RunTimelinePageDto

PropertyTypeRequiredDescription
entriesarray of RunTimelineEntryDtoyes
nextAfterEhGlobalSeqstring or nullyesCursor for the next page. Pass back as afterEhGlobalSeq to resume. null when no more rows.

RunTimelinePageDtoDataEnvelope

PropertyTypeRequiredDescription
dataRunTimelinePageDtoyes

ScheduleResponseDto

PropertyTypeRequiredDescription
createdAtstringyes
cronSpecstringyes
delegationFiringDelegationDtoyesThe authority this schedule's firings act under.
idstringyes
inputsobjectyes
runtimeScheduleIdstringyes
statestringyes
timezonestring or nullno
updatedAtstringyes
workflowSlugstringyes

ScheduleResponseDtoDataArrayEnvelope

PropertyTypeRequiredDescription
dataarray of ScheduleResponseDtoyes

ScheduleResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataScheduleResponseDtoyes

StartRunRequestDto

PropertyTypeRequiredDescription
additionalWalletsarray of stringnoWallet names to inject in addition to those the workflow declares under requires.wallets. Additive — the workflow's declared wallets cannot be subtracted. Dispatch fails with WORKFLOW_WALLET_NOT_FOUND if any name does not exist for this project/org scope.
briefcaseBriefcaseDtonoRun-scoped Briefcase the caller wants attached. The engine synthesizes a Briefcase from these fields and propagates it to every activity via ActionBaseInput.briefcase. Replaces the older convention of declaring uploads[] / references[] inside the workflow's on.workflow_dispatch.inputs: schema. Omit (or pass an empty Briefcase) when the caller has nothing extra to attach.
idempotencyKeystringnoCaller-supplied idempotency key. When set, a retry of the SAME dispatch (same key + org + workflow definition, by the same actor, for the same project and request) returns the ORIGINAL run instead of starting a second one — making at-most-once dispatch safe for callers that may retry a partially-failed launch (e.g. the design-system-builder handoff). The same key with a different actor, project or request is refused with 409 WORKFLOW_RUN_IDEMPOTENCY_KEY_CONFLICT. A key is spent once its run is recorded: if that run then fails to start, a retry returns the failed run, so a new attempt needs a new key. Omit for fire-and-forget dispatches, which always start a fresh run. The key is the dispatch idempotency dimension only; it does not affect compilation or execution.
inputsobjectyesTyped workflow_dispatch inputs. Shape is validated against the workflow's on.workflow_dispatch.inputs schema at compile time.
installationIdstringnoBiome installation that owns this dispatch. When set, the compiler validates every x-installation-resource field in the workflow's action inputs against the installation's bound resources (wallets / repos / channels / …) BEFORE the run starts. Dispatch fails with DSL_SEMANTIC_INVALID if a referenced resource is not bound to the installation. Biome UX dispatch endpoints should always pass this; system dispatches leave it omitted.
projectIdstringyesProject id the run belongs to. Must be visible to the caller's org.
workflowDispatchDefinitionIdstringnoId of a saved WorkflowDispatchDefinition to apply as the BASE of this dispatch. Its workflow-only content (revision / inputs / briefcase / walletRefs) is merged UNDER the inline fields above. Fails fast if the definition does not exist, targets another workflow slug, or is scoped to another project.
workflowTargetRevisionTargetDtonoWorkflow RevisionTarget. Omit to follow the workflow owner's stable release channel — the universal default, never derived from owner kind (owner ruling D-09-3); exact targets pin one immutable revision.

SubmitInquiryReplyRequestDto

PropertyTypeRequiredDescription
payloadobjectyesReply payload — kind-specific shape. For DECISION_GATE: { verdict: 'approve'|'reject'|'abstain', reason?, attachment? }. For AGENT_TOOL_INQUIRY: { replyPayload: <runtime-specific> }.
recipientIdstringyesRecipient row id (from inquiry.recipients[].id). Engine refuses if the row is already in a terminal state.

TaskQueueName

Type: one of "xema_default", "xema_agent", "xema_human"

TriggerResponseDto

PropertyTypeRequiredDescription
createdAtstringyes
delegationFiringDelegationDtoyesThe authority this trigger's deliveries act under.
eventstringyes
filtersobjectyes
idstringyes
kindWorkflowTriggerKindyeswebhook: fired by a verified connector delivery. event: fired by an event-hub event whose type is event.
scopeTriggerScopeyesTells the UI whether mutations on this row will fork to a new override (shared) or update in place (org, org_override).
secretRefstring or nullyesThe webhook secret reference; null for an event trigger.
statestringyes
subscriptionEventSubscriptionReadinessDto or nullyesAn event trigger's event-hub subscription; null for a webhook trigger.
updatedAtstringyes
workflowSlugstringyes

TriggerResponseDtoDataArrayEnvelope

PropertyTypeRequiredDescription
dataarray of TriggerResponseDtoyes

TriggerResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataTriggerResponseDtoyes

TriggerScope

Tells the UI whether mutations on this row will fork to a new override (shared) or update in place (org, org_override).

Type: one of "shared", "org", "org_override"

UpdateTriggerFiltersDto

PropertyTypeRequiredDescription
filtersobjectyesNew filters map. Values match against the webhook envelope payload keys (AND-ed). Array values are 'any-of'. Reserved keys: projectId, autoRemediate.

UpdateWorkflowDispatchDefinitionDto

PropertyTypeRequiredDescription
namestringnoNew name. Must stay unique per (org, project?, workflowSlug).
overlayWorkflowDispatchDefinitionDtonoReplacement overlay. Replaces the stored overlay wholesale.

UpdateWorkflowDraftDto

PropertyTypeRequiredDescription
expectedDraftIdstring or nullyesId of the draft you are editing, or null when the workflow has no draft yet. The write returns 409 when the current draft pointer is anything else.
rawYamlstringyesComplete mutable working YAML. It may be temporarily invalid while the workflow is being edited; publish performs full validation.

UpdateWorkflowEditorStateDto

PropertyTypeRequiredDescription
canvasAnnotationsarray of CanvasAnnotationDtonoComplete annotation list. Omit to leave annotations unchanged; pass an empty array to clear it.
canvasLayoutmap of objectnoComplete node-position map. Omit to leave layout unchanged; pass an empty object to clear it.
expectedRevisionnumberyesCurrent editor-state revision, or 0 when no state has been saved. The update returns 409 on stale writes.

WaitReason

Type: one of "waiting_on_human", "waiting_on_agent", "waiting_on_external", "waiting_on_dependency", "waiting_on_quota"

WaitWindowDto

PropertyTypeRequiredDescription
endedAtstring (date-time) or nullyes
reasonWaitReasonyes
startedAtstring (date-time)yes

WorkflowAuthoringResponseDto

PropertyTypeRequiredDescription
definitionWorkflowDefinitionResponseDtoyes
draftWorkflowDraftResponseDtoyes
liveRevisionWorkflowRevisionResponseDto or nullno

WorkflowAuthoringResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataWorkflowAuthoringResponseDtoyes

WorkflowDefinitionResponseDto

PropertyTypeRequiredDescription
archivedAtstring or nullno
biomeIdstring or nullnoBiome id when source='biome', otherwise null.
biomeVersionstring or nullno
categorystring or nullnoFree-text grouping label used by launch surfaces to cluster workflows.
contributionScopeIdstring or nullno
createdAtstringyes
descriptionstring or nullno
distributionIdstring or nullno
draftIdstring or nullnoNewest entry in the draft RING, and the compare-and-set token every authoring write carries. Null when the workflow has no draft.
forkedFromIdstring or nullnoId of the workflow this row was forked from (biome/system origin). Null when authored from scratch or when the origin has been deleted.
idstringyes
installationIdstring or nullno
isReusablebooleanyesTrue if this workflow is intended to be called via workflow_call from another workflow.
isSystembooleanyes
orgIdstring or nullnoOrg that owns this workflow. Null for system workflows.
originKindone of "distribution", "org_installation" or nullno
projectIdstring or nullno
releaseGenerationnumberyesMonotonic generation of durable release intent.
releaseTargetRevisionTargetDtoyesCanonical ReleaseChannel RevisionTarget followed by future dispatches.
slugstringyes
sourceWorkflowSpaceKindyesSpace tier that owns this workflow. Resolver precedence is the kernel SPACE_KIND_RANK ladder: project > org > biome > system.
tagsarray of stringyesFree-form tag list. Slug-style strings.
titlestring or nullno
updatedAtstringyes

WorkflowDefinitionResponseDtoDataArrayEnvelope

PropertyTypeRequiredDescription
dataarray of WorkflowDefinitionResponseDtoyes

WorkflowDefinitionResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataWorkflowDefinitionResponseDtoyes

WorkflowDispatchDefinitionDto

PropertyTypeRequiredDescription
briefcaseBriefcaseDtonoBase Briefcase. Merged with any inline briefcase: vars are key-merged (inline wins), uploads/references/mcpTools are replaced wholesale when the inline side is non-empty.
inputsobjectnoBase workflow_dispatch inputs. Shallow-merged UNDER the inline dispatch inputs (inline keys win per key).
walletRefsarray of stringnoWallet names mounted on top of the workflow's declared requires.wallets. Union-merged (deduplicated) with any inline additionalWallets. Purely additive — the workflow's declared wallets can never be subtracted.
workflowTargetRevisionTargetDtonoWorkflow RevisionTarget. Overridden by an inline dispatch workflowTarget.

WorkflowDispatchDefinitionResponseDto

PropertyTypeRequiredDescription
createdAtstringyes
idstringyes
namestringyes
orgIdstringyes
overlayWorkflowDispatchDefinitionDtoyes
projectIdstring or nullnoProject scope, or null for an org-wide definition.
updatedAtstringyes
workflowSlugstringyes

WorkflowDispatchDefinitionResponseDtoDataArrayEnvelope

PropertyTypeRequiredDescription
dataarray of WorkflowDispatchDefinitionResponseDtoyes

WorkflowDispatchDefinitionResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataWorkflowDispatchDefinitionResponseDtoyes

WorkflowDraftResponseDto

PropertyTypeRequiredDescription
baseRevisionIdstring or nullno
definitionIdstringyes
idstringyes
rawYamlstringyes
restoredFromRevisionIdstring or nullno
updatedAtstringyes
updatedBySubjectstringyes

WorkflowDraftResponseDtoDataArrayEnvelope

PropertyTypeRequiredDescription
dataarray of WorkflowDraftResponseDtoyes

WorkflowDraftResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataWorkflowDraftResponseDtoyes

WorkflowEditorStateResponseDto

PropertyTypeRequiredDescription
canvasAnnotationsarray of CanvasAnnotationDto or nullno
canvasLayoutobject or nullno
definitionIdstringyes
revisionnumberyes0 means no editor state has been persisted yet.
updatedAtstring or nullno
updatedBySubjectstring or nullno

WorkflowEditorStateResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataWorkflowEditorStateResponseDtoyes

WorkflowReferenceItemDto

PropertyTypeRequiredDescription
refKindReferenceKindyes
refSlugstringyes
refVersionstring or nullnoStrict semver @version lifted from the source YAML. null means the workflow author left version unspecified, so the consumer resolves 'latest active' at run time.
sourcePathstringyesJSON path inside the parsed workflow document where the ref was discovered.

WorkflowReferencesResponseDto

PropertyTypeRequiredDescription
referencesarray of WorkflowReferenceItemDtoyes
revisionIdstringyes
revisionNumbernumberyes
slugstringyes

WorkflowReferencesResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataWorkflowReferencesResponseDtoyes

WorkflowRevisionResponseDto

PropertyTypeRequiredDescription
contentHashstringyes
contractVersionobject or nullnoCompatibility version for an explicitly reusable public workflow contract.
definitionIdstringyes
idstringyes
originReleaseIdstring or nullno
parsedDocumentobjectyesParsed + validated workflow document JSON.
publishedAtstringyes
publishedBySubjectstring or nullno
rawYamlstringyesRaw YAML source of this version (content-addressed by sha256).
restoredFromRevisionIdstring or nullno
revisionNumbernumberyes

WorkflowRevisionResponseDtoDataArrayEnvelope

PropertyTypeRequiredDescription
dataarray of WorkflowRevisionResponseDtoyes

WorkflowRevisionResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataWorkflowRevisionResponseDtoyes

WorkflowRollbackResponseDto

PropertyTypeRequiredDescription
definitionIdstringyes
draftIdstring or nullno
generationnumberyes
priorReleaseSetIdstringyes
statusone of "pending"yes
workflowSlugstringyes

WorkflowRollbackResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataWorkflowRollbackResponseDtoyes

WorkflowRunStatus

Type: string (10 values)

WorkflowSpaceKind

Space tier that owns this workflow. Resolver precedence is the kernel SPACE_KIND_RANK ladder: project > org > biome > system.

Type: one of "system", "biome", "org", "project"

WorkflowTriggerKind

Type: one of "workflow_dispatch", "schedule", "webhook", "event", "workflow_call"