Workflow Engine API: schemas
The request and response bodies of the operations in this API.
ActionDefinitionResponseDto
| Property | Type | Required | Description |
|---|
archivedAt | string or null | no | |
biomeVersion | string or null | no | |
contributionScopeId | string or null | no | |
createdAt | string | yes | |
description | string or null | no | |
distributionId | string or null | no | |
id | string | yes | |
installationId | string or null | no | |
isSystem | boolean | yes | True if authored in biomes/software-dev/workflow-config/; false if custom. |
orgId | string or null | no | Org that owns this action. null for system actions. |
originKind | one of "distribution", "org_installation" or null | no | |
slug | string | yes | Canonical action id. |
title | string or null | no | |
updatedAt | string | yes | |
ActionDefinitionResponseDtoDataArrayEnvelope
ActionDefinitionResponseDtoDataEnvelope
ActionDefinitionVersionResponseDto
| Property | Type | Required | Description |
|---|
actionKind | ActionKind | yes | 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. |
contentHash | string | yes | |
contractVersion | string or null | no | Optional author-declared compatibility label; not revision identity. |
definitionId | string | yes | |
executionKind | ActionExecutionKind | yes | |
id | string | yes | |
manifestJson | object | yes | Parsed + validated manifest JSON. |
originReleaseId | string or null | no | |
publishedAt | string | yes | |
rawYaml | string | yes | Raw YAML source of this immutable content-addressed revision. |
revisionNumber | number | yes | Server-allocated immutable revision. |
taskQueue | TaskQueueName | yes | |
ActionDefinitionVersionResponseDtoDataEnvelope
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
| Property | Type | Required | Description |
|---|
mcpTools | array of BriefcaseMcpToolDto | no | |
references | array of BriefcaseReferenceDto | no | |
uploads | array of BriefcaseUploadDto | no | |
vars | map of string | no | String KV the dispatcher attaches for run-scoped facts (designSystemVersion, kbSpaceSlug, targetEnvironment, …). Not a substitute for workflow vars: or for run-wide identifiers (orgId / projectId). |
| Property | Type | Required | Description |
|---|
kind | one of "provider", "tool" | yes | |
providerKind | string | yes | |
resourceId | string | yes | |
toolName | string | no | |
BriefcaseReferenceDto
| Property | Type | Required | Description |
|---|
kind | one of "kb_page", "kb_space", "artifact", "scm_repo", "external_url" | yes | |
ref | string | yes | |
title | string or null | yes | |
BriefcaseUploadArtifactDto
| Property | Type | Required | Description |
|---|
artifactId | string | yes | |
hash | string | yes | |
title | string | no | |
type | string | yes | |
version | number | yes | |
versionId | string | yes | |
BriefcaseUploadDto
| Property | Type | Required | Description |
|---|
artifact | BriefcaseUploadArtifactDto | yes | |
contentType | string or null | yes | |
filename | string | yes | |
sizeBytes | number | yes | |
CancelInquiryRequestDto
| Property | Type | Required | Description |
|---|
reason | string | yes | Free-form reason for the audit trail. Surfaced to the FE as the cancellation explanation. |
CanvasAnnotationDto
| Property | Type | Required | Description |
|---|
height | number | yes | Height in SVG user space. |
id | string | yes | Stable identifier (uuid or short slug). Client-generated. |
text | string | yes | Free-form text content. Trimmed to 4 KiB on write. |
width | number | yes | Width in SVG user space. |
x | number | yes | Top-left X in SVG user space. |
y | number | yes | Top-left Y in SVG user space. |
CompilePreviewRawRequestDto
| Property | Type | Required | Description |
|---|
isReusable | boolean | no | When true, treat the YAML as a reusable workflow (workflow_call trigger). Default = false. |
rawYaml | string | yes | Raw YAML text of the workflow document. |
trigger | CompilePreviewTriggerDto | yes | |
CompilePreviewRequestDto
| Property | Type | Required | Description |
|---|
slug | string | yes | Slug of the workflow to compile. Resolution follows the owner-appropriate release channel unless workflowTarget pins an exact revision. |
trigger | CompilePreviewTriggerDto | yes | |
workflowTarget | RevisionTargetDto | no | Optional Workflow RevisionTarget. When omitted, the owner-appropriate channel is followed. |
CompilePreviewResponseDto
| Property | Type | Required | Description |
|---|
compiledRun | object | yes | Full CompiledRun JSON. Typed by @xemahq/kernel-contracts/workflow — imported by the frontend for rendering. |
jobCount | number | yes | Number of jobs in the compiled DAG (after static matrix expansion). |
snapshotSha256 | string | yes | sha256 of the canonical-JSON serialization of the CompiledRun. Deterministic for a given (workflow revision + trigger payload). |
workflowDefinitionContentHash | string | yes | Content hash of the immutable workflow revision used by the compilation. |
CompilePreviewResponseDtoDataEnvelope
CompilePreviewTriggerDto
| Property | Type | Required | Description |
|---|
actorSubject | string or null | no | |
inputs | object | yes | Free-form trigger payload — shape varies by trigger kind. For workflow_dispatch, this is the typed inputs object declared in the workflow. |
kind | WorkflowTriggerKind | yes | |
orgId | string | no | |
projectId | string | no | |
CreateInquiryRequestDto
| Property | Type | Required | Description |
|---|
escalationChain | array of object | no | Optional escalation chain — required when onTimeout=ESCALATE. Each entry: { recipients, policy?, timeoutSeconds }. Validated against EscalationStepSchema in @xemahq/inquiry-contracts. |
expiresAt | string | yes | ISO-8601 wall-clock deadline. |
id | string | yes | Caller-supplied stable id; idempotency key for create. A retry with the same id returns the existing row, no mutation. |
inquiryKind | string | no | Optional 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. |
jobRunId | string | yes | |
kind | InquiryKind | yes | |
onEscalationExhaustion | EscalationExhaustionAction | no | Final action when the escalation chain is exhausted. reject (default) | approve. |
onTimeout | InquiryTimeoutAction | yes | |
policy | ReplyPolicyDto | yes | |
prompt | object | yes | Kind-specific prompt payload. Validated against the Zod schema registered for kind. |
recipients | array of InquiryRecipientDto | yes | |
title | string | yes | |
workflowHandleId | string | no | Optional 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. |
workflowRunId | string | yes | |
CreateWorkflowDispatchDefinitionDto
| Property | Type | Required | Description |
|---|
name | string | yes | Human-facing name. Unique per (org, project?, workflowSlug). |
overlay | WorkflowDispatchDefinitionDto | yes | |
projectId | string | no | Project 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. |
workflowSlug | string | yes | Workflow slug this dispatch definition targets. |
CreateWorkflowDraftDto
| Property | Type | Required | Description |
|---|
isReusable | boolean | no | Enable only for a deliberately reusable public workflow contract. Those workflows retain metadata.contractVersion compatibility versioning. |
rawYaml | string | yes | Initial workflow YAML. The first draft must be valid so the server can establish the stable identity; later draft updates may be temporarily invalid. |
DeleteWorkflowDispatchDefinitionResponseDto
| Property | Type | Required | Description |
|---|
deleted | boolean | yes | |
DeleteWorkflowDispatchDefinitionResponseDtoDataEnvelope
DispatchSchemaResponseDto
| Property | Type | Required | Description |
|---|
inputSchema | object | yes | JSON Schema Draft 2020-12 object describing on.workflow_dispatch.inputs. |
workflowRevisionNumber | number | yes | Generated workflow revision resolved at lookup time. |
workflowSlug | string | yes | Workflow slug the schema was extracted for. |
DispatchSchemaResponseDtoDataEnvelope
EmptyResponseDto
| Property | Type | Required | Description |
|---|
ok | boolean | no | Always true. |
EmptyResponseDtoDataEnvelope
EscalateInquiryRequestDto
| Property | Type | Required | Description |
|---|
reason | string | yes | Free-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
| Property | Type | Required | Description |
|---|
failureCode | string or null | yes | The refusal or failure code behind the state. |
state | EventSubscriptionReadiness | yes | 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. |
ExactRevisionSelectorDto
| Property | Type | Required | Description |
|---|
contentHash | string | yes | |
kind | one of "exact" | yes | |
revisionId | string | yes | |
FiringDelegationDto
| Property | Type | Required | Description |
|---|
capabilities | array of string | yes | The capabilities the live revision needs lent — what authorizing records. |
reason | string or null | yes | Why 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). |
state | FiringDelegationState | yes | 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. |
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
| Property | Type | Required | Description |
|---|
attempt | number | no | |
closedAt | string | no | |
eventId | number | no | Standalone event id (rows of kind=event). |
eventIds | array of number | no | |
eventTime | string | no | |
eventType | string | no | |
failure | object | no | |
groupId | number | no | First event id in this group (rows of kind=activity|child-workflow). |
input | object | no | |
kind | one of "activity", "child-workflow", "event" | yes | Group rows fold the activity/child-workflow lifecycle; event rows are everything else (workflow_task / signal / timer / marker / lifecycle). |
result | object | no | |
scheduledAt | string | no | |
startedAt | string | no | |
status | string | no | |
typeName | string | no | |
InquiryKind
Type: one of "decision_gate", "agent_tool_inquiry", "review"
InquiryRecipientDto
| Property | Type | Required | Description |
|---|
agentMaxIterations | number | no | Review-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. |
kind | RecipientKind | yes | |
mandatory | boolean | no | When false, the recipient is advisory: their verdict is recorded but does not gate the policy. Defaults to true. |
target | object | yes | Discriminated by kind: human { userId } | agent { launchDefinition, workspaceAction, invocationOverlay } | endpoint { url, authRef, verdictMapper, ... }. Validated against the Zod schema in @xemahq/inquiry-contracts. |
InquiryRecipientResponseDto
| Property | Type | Required | Description |
|---|
id | string | yes | |
kind | RecipientKind | yes | |
mandatory | boolean | yes | When false, this recipient is advisory: their verdict is collected for context but does not gate the policy. Default true. |
ord | number | yes | |
reasonCode | string or null | no | |
replyId | string or null | no | |
resolvedAt | string or null | no | |
status | InquiryRecipientStatus | yes | |
target | object | yes | Discriminated by kind (see CreateInquiryRequestDto). |
InquiryRecipientStatus
Type: one of "pending", "replied", "skipped", "errored"
InquiryReplyResponseDto
| Property | Type | Required | Description |
|---|
id | string | yes | |
inquiryId | string | yes | |
payload | object | yes | |
recipientId | string | yes | |
submittedAt | string | yes | |
submittedBy | string | yes | |
InquiryResponseDto
| Property | Type | Required | Description |
|---|
cancelledAt | string or null | no | |
createdAt | string | yes | |
currentEscalationLevel | number | yes | Zero-based count of escalations fired so far. 0 means the original recipients are still active. |
escalationChain | array of object | yes | Linear escalation chain — each entry is { recipients[], policy?, timeoutSeconds }. Empty for non-escalating inquiries. |
expiresAt | string | yes | |
id | string | yes | |
inquiryKind | string or null | no | Optional 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. |
inquiryKindDefinitionId | string or null | no | |
inquiryKindRevisionId | string or null | no | |
jobRunId | string | yes | |
kind | InquiryKind | yes | |
onEscalationExhaustion | EscalationExhaustionAction | yes | Final action when the escalation chain is exhausted. Defaults to reject. |
onTimeout | InquiryTimeoutAction | yes | |
orgId | string | yes | |
originBiome | string or null | no | Generic 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). |
policy | object | yes | |
projectId | string or null | yes | Owning project, or null. An inquiry hangs off workflowRunId and inherits that run's scope, so it is project-less exactly when the run is. |
prompt | object | yes | |
recipients | array of InquiryRecipientResponseDto | yes | |
replies | array of InquiryReplyResponseDto | no | |
resolvedAt | string or null | no | |
status | InquiryStatus | yes | |
title | string | yes | |
updatedAt | string | yes | |
verdict | object or null | no | |
workflowHandleId | string or null | no | |
workflowRunId | string | yes | |
InquiryResponseDtoDataArrayEnvelope
InquiryResponseDtoDataEnvelope
InquiryStatus
Type: one of "pending", "resolved", "expired", "cancelled"
InquiryTimeoutAction
Type: one of "reject", "approve", "escalate"
JobRunResponseDto
| Property | Type | Required | Description |
|---|
attempt | number | yes | Worker retry attempt count. |
completedAt | string or null | no | |
createdAt | string | yes | |
errorMessage | string or null | no | |
errorType | string or null | no | |
id | string | yes | |
jobKey | string | yes | |
matrixBinding | object | yes | Matrix binding values for this spread instance. Empty object for non-matrix jobs. |
matrixIndex | number | yes | Index within a matrix spread (0 for non-matrix jobs). |
outputs | object or null | no | Action-defined output payload. For review actions this includes verdict, reviewerVerdicts[], aggregateFindings[], and tally counts. |
startedAt | string or null | no | |
status | string | yes | pending | running | succeeded | failed | skipped | cancelled. |
updatedAt | string | yes | |
workflowRunId | string | yes | |
JobRunResponseDtoDataArrayEnvelope
MoveRevisionPinsDto
| Property | Type | Required | Description |
|---|
fromRevisionNumber | number | yes | |
toRevisionNumber | number | yes | |
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.
| Property | Type | Required | Description |
|---|
actionableBy | ProblemActionableBy | no | 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. |
code | string | yes | SCREAMING_SNAKE_CASE. The machine-branchable refusal, and the value a policy rule, a retry predicate and a UI branch all name. |
detail | string | no | Human-readable and specific to THIS occurrence. |
errors | array of ProblemFieldIssueDto | no | Field-level issues, when the refusal is about the request body. |
instance | string | no | URI reference identifying the occurrence — a request path, a run, a row. |
params | map of string or number or boolean | no | Safe i18n interpolation values for the message keyed by code — typed and allowlisted per code by its declaration. Never server-authored copy, never internal diagnostics. |
retry | ProblemRetry | no | 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. |
status | number | yes | The HTTP status code, repeated in the body so a logged document is self-contained. |
title | string | yes | Short, human-readable, and STABLE for a given type. Never per-occurrence — that is detail. |
traceId | string | no | W3C trace-context trace-id, present when the caller sent a traceparent. Omitted rather than invented when it did not. |
type | string | yes | Absolute 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
| Property | Type | Required | Description |
|---|
code | string | no | SCREAMING_SNAKE_CASE code of THIS issue, for a frontend i18n key. Present when the issue was minted by a declared problem. |
detail | string | yes | Prose for logs and developers. A frontend localises from code + params instead. |
params | map of string or number or boolean | no | Safe i18n interpolation values for this issue's code. |
pointer | string | yes | RFC 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
| Property | Type | Required | Description |
|---|
rawYaml | string | yes | Full YAML source of the action manifest. Validated against action.schema.json; the engine rejects malformed manifests with DSL_SCHEMA_INVALID. |
PublishWorkflowDraftDto
| Property | Type | Required | Description |
|---|
expectedDraftId | string or null | yes | Id 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. |
idempotencyKey | string | yes | Caller-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
| Property | Type | Required | Description |
|---|
reconciled | number | yes | Rows whose status changed to a terminal state. |
reconciledRunIds | array of string | yes | Run ids that were reconciled in this call. |
scanned | number | yes | Rows inspected in this sweep. |
ReconcileStalledRunsResponseDtoDataEnvelope
ReferenceConsumerDto
| Property | Type | Required | Description |
|---|
refVersionInConsumer | string or null | no | The @version the consumer literally wrote in the YAML, or null if they left it unspecified (resolves to 'latest active' at run time). |
sourcePath | string | yes | JSON path inside the consuming workflow where the ref was discovered. |
workflowRevisionNumber | number | yes | |
workflowSlug | string | yes | |
workflowSource | WorkflowSpaceKind | yes | Owning space tier of the consuming workflow row. |
workflowTitle | string or null | no | |
ReferenceConsumersResponseDto
| Property | Type | Required | Description |
|---|
consumers | array of ReferenceConsumerDto | yes | |
targetKind | ReferenceKind | yes | |
targetSlug | string | yes | |
targetVersion | string or null | no | Optional @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
ReferenceKind
Type: string (9 values)
ReleaseChannelRevisionSelectorDto
| Property | Type | Required | Description |
|---|
channel | string | yes | |
kind | one of "release-channel" | yes | |
ReplyPolicyDto
| Property | Type | Required | Description |
|---|
abstainTreatment | one of "skip", "reject_implicit" | no | How agent/endpoint ABSTAIN replies are counted under M_OF_N: 'skip' (default) ignores them; 'reject_implicit' counts them as rejections. |
kind | ReplyPolicyKind | yes | |
m | number | no | Quorum 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
| Property | Type | Required | Description |
|---|
outcome | one of "approve", "reject" | yes | Verdict 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. |
verdictPayload | object | no | Optional 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
| Property | Type | Required | Description |
|---|
expectedDraftId | string or null | yes | Id 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
| Property | Type | Required | Description |
|---|
holder | RevisionPinHolder | yes | 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. |
holderId | string | yes | |
holderKind | string | yes | Per-registry consumer kind: workflow-dispatch-definition, workflow-outbound-ref, workflow-run, workflow-run-archive. |
label | string or null | no | |
resourceId | string | yes | The workflow definition the pinned revision belongs to. |
revisionId | string | yes | The 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
RevisionPinInventoryResponseDtoDataEnvelope
RevisionPinMoveResponseDto
| Property | Type | Required | Description |
|---|
definitionId | string | yes | |
fromRevisionId | string | yes | |
fromRevisionNumber | number | yes | |
immovable | array of RevisionPinDto | yes | Provenance rows naming the source revision. Never moved: they record what executed. |
moved | array of RevisionPinDto | yes | Pins that were re-pointed. |
provenance | RevisionPinProvenanceSummaryDto | yes | |
republishRequired | array of RevisionPinDto | yes | Pins embedded inside a published revision. Republish the holder to change them — they were NOT moved. |
toRevisionId | string | yes | |
toRevisionNumber | number | yes | |
workflowSlug | string | yes | |
RevisionPinMoveResponseDtoDataEnvelope
RevisionPinProvenanceSummaryDto
| Property | Type | Required | Description |
|---|
archivedRunsListed | number | yes | |
archivedRunsTotal | number | yes | |
cap | number | yes | Per-source listing cap. |
runsListed | number | yes | How many of them this response lists. |
runsTotal | number | yes | Live runs in the caller’s org that executed this revision. |
truncated | boolean | yes | True when provenance rows exist beyond the cap. They are counted, never omitted silently. |
RevisionTargetDto
RollbackWorkflowRevisionDto
| Property | Type | Required | Description |
|---|
idempotencyKey | string | yes | Caller-stable retry key. |
priorReleaseSetId | string | yes | Immutable prior ReleaseSet to replay on this workflow channel. |
RunActivityNowDto
| Property | Type | Required | Description |
|---|
agentDisplayName | string or null | yes | |
jobKey | string | yes | |
summary | string | yes | |
RunArchiveDto
| Property | Type | Required | Description |
|---|
actorSubject | string or null | no | |
archivedAt | string | yes | When the retention sweeper archived the original run row. |
completedAt | string | yes | |
correlationId | string | yes | |
id | string | yes | |
orgId | string or null | no | |
projectId | string or null | no | |
snapshotSha256 | string | yes | |
startedAt | string or null | no | |
status | WorkflowRunStatus | yes | |
triggerKind | WorkflowTriggerKind | yes | |
workflowDefinitionRevisionId | string | yes | Exact immutable workflow revision UUID. |
workflowRevisionNumber | number | yes | |
workflowSlug | string | yes | |
RunBriefcaseSummaryDto
| Property | Type | Required | Description |
|---|
mcpToolsCount | number | yes | |
referencesCount | number | yes | |
uploadsCount | number | yes | |
varKeys | array of string | yes | |
RunControlBodyDto
| Property | Type | Required | Description |
|---|
reason | string | no | Operator-facing justification — stored on the workflow state and echoed through status queries. |
RunDeliverableDto
| Property | Type | Required | Description |
|---|
artifactRef | object or null | no | Artifact reference for kind: "deliverable". Carries the canonical (artifactId, versionId, version, type) needed to fetch payload bytes from artifact-store. |
kind | one of "deliverable", "structured", "text" | yes | Output kind discriminator from the workflow declaration. |
slug | string | yes | Workflow output slug — matches workflow.outputs.<name>.slug. |
sourceJob | string | yes | Job name that produced the underlying value. |
sourceOutput | string | yes | Job-output name read from the producing job. |
structuredValue | object or null | no | Inline JSON value for kind: "structured" — typically a small object the agent reads directly. Null for deliverable/text kinds. |
textValue | string or null | no | Plain string body for kind: "text". Null for other kinds. |
RunDescribeResponseDto
| Property | Type | Required | Description |
|---|
executionStatus | string | no | |
memo | object | no | Workflow memo fields (free-form metadata pinned at start time, immutable for the run's lifetime). |
pendingActivities | array of RunPendingActivityDto | no | Activities currently in flight (scheduled or started, not yet terminal). Each row carries attempt counter + last-failure for retry storms. |
searchAttributes | object | no | Custom 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. |
state | one of "live", "expired", "queued", "skipped" | yes | |
RunDescribeResponseDtoDataEnvelope
RunDetailResponseDto
| Property | Type | Required | Description |
|---|
archive | RunArchiveDto or null | no | Set when state === "pruned". |
run | RunResponseDto or null | no | Set when state === "live". |
state | RunDetailState | yes | live → engine row alive (use run); pruned → row archived (use archive). |
RunDetailResponseDtoDataEnvelope
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
| Property | Type | Required | Description |
|---|
activityNow | array of RunActivityNowDto | yes | |
blockingSummary | string or null | yes | |
briefcaseSummary | RunBriefcaseSummaryDto or null | yes | Concise 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. |
dispatchContext | object or null | yes | Opaque 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. |
dispatchInputs | object or null | yes | Resolved 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). |
endedAt | string (date-time) or null | yes | |
etaAt | string (date-time) or null | yes | |
id | string | yes | |
initiatorDisplayName | string or null | yes | |
outcome | RunOutcomeDto or null | yes | |
phaseRail | RunPhaseRailDto | yes | |
recentTail | array of RunRecentEventDto | yes | |
revision | RunRevisionPayloadDto | yes | |
startedAt | string (date-time) | yes | |
status | WorkflowRunStatus | yes | |
waitWindows | array of WaitWindowDto | yes | |
workflowDisplayName | string | yes | |
workflowSlug | string | yes | |
RunFullResponseDtoDataEnvelope
RunHistoryResponseDto
| Property | Type | Required | Description |
|---|
hasMore | boolean | yes | True iff nextPageToken is non-null. Convenience for FE pagination logic. |
nextPageToken | string or null | yes | Continuation token for the next page (base64-encoded Temporal nextPageToken). Null when no more events. |
rows | array of HistoryRowDto | yes | |
state | one of "live", "expired", "queued", "skipped" | yes | |
workflowClosedAt | string or null | yes | ISO 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
RunManualOverrideDto
| Property | Type | Required | Description |
|---|
canExtendRetries | boolean | yes | |
lastFailureReason | string | yes | |
retryCount | number | yes | |
retryLimit | number | yes | |
| Property | Type | Required | Description |
|---|
queryNames | array of string | yes | Names of every query handler the workflow has defined. Used by the FE Query tab to populate the dropdown. |
RunOutcomeActionDto
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
RunPendingActivityDto
| Property | Type | Required | Description |
|---|
activityId | string | yes | |
activityType | string | no | |
attempt | number | yes | Current attempt count (1-indexed). |
lastFailure | object | no | Most recent failure on this pending activity (if any). |
lastHeartbeatTime | string (date-time) | no | |
lastStartedTime | string (date-time) | no | |
maximumAttempts | number | no | |
scheduledTime | string (date-time) | no | |
state | string | no | |
RunPhaseRailDto
| Property | Type | Required | Description |
|---|
currentIndex | number or null | yes | Index of the currently-active phase, or null when terminal AND fully filled. |
phases | array of RunPhaseRailEntryDto | yes | |
RunPhaseRailEntryDto
| Property | Type | Required | Description |
|---|
endedAt | string (date-time) or null | yes | |
label | string | yes | |
stageKey | string | yes | |
startedAt | string (date-time) or null | yes | |
status | RunPhaseRailStatus | yes | |
RunPhaseRailStatus
Type: one of "pending", "running", "waiting", "succeeded", "failed", "cancelled", "skipped"
RunQueryRequestDto
| Property | Type | Required | Description |
|---|
args | array of any | no | Positional arguments forwarded verbatim to the query handler. |
name | string | yes | |
RunQueryResponseDto
| Property | Type | Required | Description |
|---|
result | object or null | yes | Whatever the workflow query handler returned. |
RunQueryResponseDtoDataEnvelope
RunRecentEventDto
| Property | Type | Required | Description |
|---|
at | string (date-time) | yes | |
developerAnchor | string or null | yes | |
id | string | yes | |
kind | RunEventKind | yes | 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. |
summary | string | yes | |
RunRedoFromPhaseDto
RunRedoPhaseChoiceDto
| Property | Type | Required | Description |
|---|
available | boolean | yes | |
label | string | yes | |
stageKey | string | yes | |
unavailableReason | string | no | |
RunResetRequestDto
| Property | Type | Required | Description |
|---|
eventId | number | yes | eventId (1-indexed Temporal history id) of a WorkflowTaskCompleted event. The workflow re-dispatches everything after this point. |
reason | string | yes | Operator-facing justification stored on the new run. |
RunResetResponseDto
| Property | Type | Required | Description |
|---|
newRunId | string | yes | Temporal runId of the new execution started by the reset. |
RunResetResponseDtoDataEnvelope
RunResponseDto
| Property | Type | Required | Description |
|---|
actorSubject | string or null | no | |
completedAt | string or null | no | |
correlationId | string | yes | |
createdAt | string | yes | |
deliverables | array of RunDeliverableDto | yes | Workflow-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. |
dispatchContext | object or null | no | Opaque 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. |
errorCode | string or null | no | |
errorMessage | string or null | no | |
id | string | yes | |
orgId | string | yes | |
paused | boolean | yes | |
projectId | string or null | yes | Owning 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. |
runtimeExecutionId | string or null | no | |
runtimeWorkflowId | string | yes | Runtime workflow handle id used by the orchestration engine. Internal execution backend is intentionally abstracted from clients. |
snapshotSha256 | string | yes | |
startedAt | string or null | no | |
status | WorkflowRunStatus | yes | |
triggerKind | WorkflowTriggerKind | yes | |
updatedAt | string | yes | |
workflowDefinitionId | string | yes | Physical workflow definition UUID. |
workflowDefinitionRevisionId | string | yes | Exact immutable workflow revision UUID. |
workflowRevisionNumber | number | yes | |
workflowSlug | string | yes | |
RunResponseDtoDataArrayEnvelope
RunResponseDtoDataEnvelope
RunReviseCheckpointDto
| Property | Type | Required | Description |
|---|
checkpointId | string | yes | |
findings | array of RunRevisionFindingDto | yes | |
stageKey | string | yes | |
summary | string | yes | |
title | string | yes | |
RunRevisionFindingDto
| Property | Type | Required | Description |
|---|
anchor | string or null | yes | |
id | string | yes | |
message | string | yes | |
severity | one of "info", "minor", "major", "critical" | yes | |
RunRevisionPayloadDto
RunRevisionStateKind
Type: one of "none", "revise", "manual_override", "redo_from_phase"
RunSignalRequestDto
| Property | Type | Required | Description |
|---|
args | array of any | no | Positional args forwarded as the signal payload. |
name | string | yes | Custom workflow signal name. Reserved lifecycle names (pauseRun, resumeRun, cancelRun) are rejected — use the dedicated /pause /resume /cancel endpoints. |
RunSummaryResponseDto
| Property | Type | Required | Description |
|---|
completedAt | string | no | ISO timestamp when the run reached a terminal state. Only present when state is expired or skipped. |
jobOutputs | object or null | yes | Result of the workflow getJobOutputs query — per-job projection map. |
state | one of "live", "expired", "queued", "skipped" | yes | live 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. |
status | object or null | yes | Result of the workflow getRunStatus query. |
RunSummaryResponseDtoDataEnvelope
RunTimelineEntryDto
| Property | Type | Required | Description |
|---|
cloudEventId | string | yes | CloudEvent id of the source event. Stable across redeliveries; safe for client-side dedupe. |
data | object | yes | CloudEvent data payload as it arrived from event-hub. |
descriptorType | string | yes | CloudEvent type (e.g. workflow.run.started, workflow.activity.completed). |
ehGlobalSeq | string | yes | Event-hub global sequence cursor for this row. Use as the afterEhGlobalSeq parameter on subsequent calls to resume replay. |
hint | object or null | yes | Optional descriptor hint payload (e.g. { runId }). |
id | string | yes | Stable per-row id. |
occurredAt | string | yes | CloudEvent time from the producer. ISO-8601. Use this — NOT createdAt — when ordering frames in the UI. |
RunTimelinePageDto
| Property | Type | Required | Description |
|---|
entries | array of RunTimelineEntryDto | yes | |
nextAfterEhGlobalSeq | string or null | yes | Cursor for the next page. Pass back as afterEhGlobalSeq to resume. null when no more rows. |
RunTimelinePageDtoDataEnvelope
ScheduleResponseDto
| Property | Type | Required | Description |
|---|
createdAt | string | yes | |
cronSpec | string | yes | |
delegation | FiringDelegationDto | yes | The authority this schedule's firings act under. |
id | string | yes | |
inputs | object | yes | |
runtimeScheduleId | string | yes | |
state | string | yes | |
timezone | string or null | no | |
updatedAt | string | yes | |
workflowSlug | string | yes | |
ScheduleResponseDtoDataArrayEnvelope
ScheduleResponseDtoDataEnvelope
StartRunRequestDto
| Property | Type | Required | Description |
|---|
additionalWallets | array of string | no | Wallet 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. |
briefcase | BriefcaseDto | no | Run-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. |
idempotencyKey | string | no | Caller-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. |
inputs | object | yes | Typed workflow_dispatch inputs. Shape is validated against the workflow's on.workflow_dispatch.inputs schema at compile time. |
installationId | string | no | Biome 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. |
projectId | string | yes | Project id the run belongs to. Must be visible to the caller's org. |
workflowDispatchDefinitionId | string | no | Id 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. |
workflowTarget | RevisionTargetDto | no | Workflow 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
| Property | Type | Required | Description |
|---|
payload | object | yes | Reply payload — kind-specific shape. For DECISION_GATE: { verdict: 'approve'|'reject'|'abstain', reason?, attachment? }. For AGENT_TOOL_INQUIRY: { replyPayload: <runtime-specific> }. |
recipientId | string | yes | Recipient 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
| Property | Type | Required | Description |
|---|
createdAt | string | yes | |
delegation | FiringDelegationDto | yes | The authority this trigger's deliveries act under. |
event | string | yes | |
filters | object | yes | |
id | string | yes | |
kind | WorkflowTriggerKind | yes | webhook: fired by a verified connector delivery. event: fired by an event-hub event whose type is event. |
scope | TriggerScope | yes | Tells the UI whether mutations on this row will fork to a new override (shared) or update in place (org, org_override). |
secretRef | string or null | yes | The webhook secret reference; null for an event trigger. |
state | string | yes | |
subscription | EventSubscriptionReadinessDto or null | yes | An event trigger's event-hub subscription; null for a webhook trigger. |
updatedAt | string | yes | |
workflowSlug | string | yes | |
TriggerResponseDtoDataArrayEnvelope
TriggerResponseDtoDataEnvelope
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
| Property | Type | Required | Description |
|---|
filters | object | yes | New filters map. Values match against the webhook envelope payload keys (AND-ed). Array values are 'any-of'. Reserved keys: projectId, autoRemediate. |
UpdateWorkflowDispatchDefinitionDto
| Property | Type | Required | Description |
|---|
name | string | no | New name. Must stay unique per (org, project?, workflowSlug). |
overlay | WorkflowDispatchDefinitionDto | no | Replacement overlay. Replaces the stored overlay wholesale. |
UpdateWorkflowDraftDto
| Property | Type | Required | Description |
|---|
expectedDraftId | string or null | yes | Id 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. |
rawYaml | string | yes | Complete mutable working YAML. It may be temporarily invalid while the workflow is being edited; publish performs full validation. |
UpdateWorkflowEditorStateDto
| Property | Type | Required | Description |
|---|
canvasAnnotations | array of CanvasAnnotationDto | no | Complete annotation list. Omit to leave annotations unchanged; pass an empty array to clear it. |
canvasLayout | map of object | no | Complete node-position map. Omit to leave layout unchanged; pass an empty object to clear it. |
expectedRevision | number | yes | Current 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
| Property | Type | Required | Description |
|---|
endedAt | string (date-time) or null | yes | |
reason | WaitReason | yes | |
startedAt | string (date-time) | yes | |
WorkflowAuthoringResponseDto
WorkflowAuthoringResponseDtoDataEnvelope
WorkflowDefinitionResponseDto
| Property | Type | Required | Description |
|---|
archivedAt | string or null | no | |
biomeId | string or null | no | Biome id when source='biome', otherwise null. |
biomeVersion | string or null | no | |
category | string or null | no | Free-text grouping label used by launch surfaces to cluster workflows. |
contributionScopeId | string or null | no | |
createdAt | string | yes | |
description | string or null | no | |
distributionId | string or null | no | |
draftId | string or null | no | Newest entry in the draft RING, and the compare-and-set token every authoring write carries. Null when the workflow has no draft. |
forkedFromId | string or null | no | Id of the workflow this row was forked from (biome/system origin). Null when authored from scratch or when the origin has been deleted. |
id | string | yes | |
installationId | string or null | no | |
isReusable | boolean | yes | True if this workflow is intended to be called via workflow_call from another workflow. |
isSystem | boolean | yes | |
orgId | string or null | no | Org that owns this workflow. Null for system workflows. |
originKind | one of "distribution", "org_installation" or null | no | |
projectId | string or null | no | |
releaseGeneration | number | yes | Monotonic generation of durable release intent. |
releaseTarget | RevisionTargetDto | yes | Canonical ReleaseChannel RevisionTarget followed by future dispatches. |
slug | string | yes | |
source | WorkflowSpaceKind | yes | Space tier that owns this workflow. Resolver precedence is the kernel SPACE_KIND_RANK ladder: project > org > biome > system. |
tags | array of string | yes | Free-form tag list. Slug-style strings. |
title | string or null | no | |
updatedAt | string | yes | |
WorkflowDefinitionResponseDtoDataArrayEnvelope
WorkflowDefinitionResponseDtoDataEnvelope
WorkflowDispatchDefinitionDto
| Property | Type | Required | Description |
|---|
briefcase | BriefcaseDto | no | Base 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. |
inputs | object | no | Base workflow_dispatch inputs. Shallow-merged UNDER the inline dispatch inputs (inline keys win per key). |
walletRefs | array of string | no | Wallet 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. |
workflowTarget | RevisionTargetDto | no | Workflow RevisionTarget. Overridden by an inline dispatch workflowTarget. |
WorkflowDispatchDefinitionResponseDto
| Property | Type | Required | Description |
|---|
createdAt | string | yes | |
id | string | yes | |
name | string | yes | |
orgId | string | yes | |
overlay | WorkflowDispatchDefinitionDto | yes | |
projectId | string or null | no | Project scope, or null for an org-wide definition. |
updatedAt | string | yes | |
workflowSlug | string | yes | |
WorkflowDispatchDefinitionResponseDtoDataArrayEnvelope
WorkflowDispatchDefinitionResponseDtoDataEnvelope
WorkflowDraftResponseDto
| Property | Type | Required | Description |
|---|
baseRevisionId | string or null | no | |
definitionId | string | yes | |
id | string | yes | |
rawYaml | string | yes | |
restoredFromRevisionId | string or null | no | |
updatedAt | string | yes | |
updatedBySubject | string | yes | |
WorkflowDraftResponseDtoDataArrayEnvelope
WorkflowDraftResponseDtoDataEnvelope
WorkflowEditorStateResponseDto
| Property | Type | Required | Description |
|---|
canvasAnnotations | array of CanvasAnnotationDto or null | no | |
canvasLayout | object or null | no | |
definitionId | string | yes | |
revision | number | yes | 0 means no editor state has been persisted yet. |
updatedAt | string or null | no | |
updatedBySubject | string or null | no | |
WorkflowEditorStateResponseDtoDataEnvelope
WorkflowReferenceItemDto
| Property | Type | Required | Description |
|---|
refKind | ReferenceKind | yes | |
refSlug | string | yes | |
refVersion | string or null | no | Strict semver @version lifted from the source YAML. null means the workflow author left version unspecified, so the consumer resolves 'latest active' at run time. |
sourcePath | string | yes | JSON path inside the parsed workflow document where the ref was discovered. |
WorkflowReferencesResponseDto
| Property | Type | Required | Description |
|---|
references | array of WorkflowReferenceItemDto | yes | |
revisionId | string | yes | |
revisionNumber | number | yes | |
slug | string | yes | |
WorkflowReferencesResponseDtoDataEnvelope
WorkflowRevisionResponseDto
| Property | Type | Required | Description |
|---|
contentHash | string | yes | |
contractVersion | object or null | no | Compatibility version for an explicitly reusable public workflow contract. |
definitionId | string | yes | |
id | string | yes | |
originReleaseId | string or null | no | |
parsedDocument | object | yes | Parsed + validated workflow document JSON. |
publishedAt | string | yes | |
publishedBySubject | string or null | no | |
rawYaml | string | yes | Raw YAML source of this version (content-addressed by sha256). |
restoredFromRevisionId | string or null | no | |
revisionNumber | number | yes | |
WorkflowRevisionResponseDtoDataArrayEnvelope
WorkflowRevisionResponseDtoDataEnvelope
WorkflowRollbackResponseDto
| Property | Type | Required | Description |
|---|
definitionId | string | yes | |
draftId | string or null | no | |
generation | number | yes | |
priorReleaseSetId | string | yes | |
status | one of "pending" | yes | |
workflowSlug | string | yes | |
WorkflowRollbackResponseDtoDataEnvelope
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"