Browse documentation
Browse API reference

JSON:API · v1

Workflows

Inspect workflow definitions, authored steps, triggers, and mappings.

Bearer authentication api_read / api_write by operation Stable

Operations

Objects and fields

These are the reviewed public attributes. Fields omitted from this contract are not part of the API, even when they exist internally.

Workflow data mapping type: workflow_data_mapping 5 fields

Public JSON:API resource object for workflow data mappings.

Field Type Presence Description
data_model_id string Required Data model id returned by the public contract.
formula string Required Abacus formula, e.g. "input.first_name + ' ' + input.last_name". Field included by default.
source_path string | null Optional · nullable Optional JSONPath to extract initial data before formula evaluation. Field included by default.
step_id string Required Step id returned by the public contract.
target_field_name string Required The DataModelField name this mapping writes to. Field included by default.
Workflow step type: workflow_step 16 fields

Public JSON:API resource object for workflow steps.

Field Type Presence Description
api_operation_ref string | null Optional · nullable For :api_request steps, the bound operation's ref (operationId else "METHOD path") within the spec named by api_spec_id. Pairs with that FK as the first-class binding. Field included by default.
api_spec_id string | null Optional · nullable Api spec id returned by the public contract.
args object | null Optional · nullable User-defined inputs passed to the Reactor step. Field included by default.
compensation_config object | null Optional · nullable Compensation configuration: subflow_id for :subflow_reference, or inline step DAG for :inline_flow. Field included by default.
compensation_type enum: none | subflow_reference | inline_flow | null Optional · nullable Compensation strategy: :none, :subflow_reference (run another workflow), or :inline_flow (inline DAG). Field included by default.
config object | null Optional · nullable Type-specific config: URL/headers for HTTP, expression for conditional, seconds for delay. Field included by default.
external_connector_id string | null Optional · nullable Attached external connector identifier, when configured.
identifier string Required Unique machine-readable name used as namespace in formulas. Field included by default.
name string Required Display name for the node. Field included by default.
order integer | null Optional · nullable Execution order hint. Field included by default.
pinned_output object | null Optional · nullable The step's last test result, held so the steps below it can be tested without calling the provider again. Authoring scaffolding, not configuration: activation refuses a workflow that has one. See Dash.Workflows.StepPin. Field included by default.
position object | null Optional · nullable React Flow canvas coordinates. Field included by default.
trigger_connections array<string> | null Optional · nullable Trigger UUIDs that visually connect to this step (canvas display only; not used by executor). Field included by default.
type enum: http_request | api_request | conditional | delay | harmonizer | filter_list | data_transform | subflow | send_email | snowflake_read | snowflake_write | s3_read | s3_write Required Determines step behavior in the Reactor. Field included by default.
wait_for array<object> | null Optional · nullable Typed parent dependencies. Each entry %{id, type: :normal | :on_error}. :normal entries define success paths; :on_error defines fault paths. Legacy :compensate entries must be removed or converted before execution. Field included by default.
workflow_id string Required Workflow that owns or produced the resource.
Workflow trigger type: workflow_trigger 8 fields

Public JSON:API resource object for workflow triggers.

Field Type Presence Description
credential_id string | null Optional · nullable Service account selected for this operation or trigger.
external_connector_id string | null Optional · nullable Attached external connector identifier, when configured.
name string Required Human-readable resource name.
observed_at_path string | null Optional · nullable Dot-notation path to a timestamp field in the payload (e.g. "data.updated_at"). Used as observed_at on the Event. Defaults to now if nil or not found. Field included by default.
organization_id string Required Organization that owns the resource.
trigger_config object | null Optional · nullable Type-specific config. scheduled → schedule_interval. Field included by default.
type enum: webhook | scheduled Required JSON:API resource type.
workflow_id string Required Workflow that owns or produced the resource.
Workflow type: workflow 13 fields

Public JSON:API resource object for workflows.

Field Type Presence Description
context_semantics_version integer Required Which context-resolution semantics this version's steps run under: 1 collapses a list-of-maps upstream output to its first element, 2 hands the whole list to formulas and item fan-out. Stamped when the builder saves a definition and frozen with the version. Field included by default.
data_schema object | null Optional · nullable Embedded schema describing the shape of data this workflow was authored against. Field included by default.
description string | null Optional · nullable Human-readable description.
group_id string Required Group id returned by the public contract.
is_active boolean | null Optional · nullable Whether the resource currently accepts use.
name string Required Human-readable resource name.
organization_id string Required Organization that owns the resource.
outputs array<object> Required The values a `:subflow` hands back to whoever called it, each read from somewhere inside it. Declaring any replaces the graph's raw result — a caller then reads `<subflow step>.<name>` and never names a step inside the subflow. Empty on a `:standard` workflow, whose result nothing is waiting for. Field included by default.
parameters array<object> Required The values a `:subflow` declares that its callers pass in, bound as `params.*` inside it. Declaring any closes the boundary: the subflow then sees only what was passed, not the calling parent's whole context. Empty on a `:standard` workflow, which has callers only in the sense that a trigger fires it. Field included by default.
published_at object | null Optional · nullable Published at returned by the public contract.
schema_status enum: none | fresh | stale Required Drift status of the data_schema vs. live sources: :none, :fresh, or :stale. Field included by default.
type enum: standard | subflow | null Optional · nullable Workflow type: :standard requires triggers, :subflow is invoked internally by parent workflows. Field included by default.
version_number integer Required Monotonic authored version number.