Triggering a run
202 means queued, not done. The run executes asynchronously — see
Polling below.
How top-level keys are routed
Only two keys are reserved. Everything else is matched by name against your Blueprint’s configuration:
That last row is the one to watch: a misspelled input key is silently
dropped, not rejected. If a run behaves as though a node received no data,
check the key against the Blueprint’s
refKey first.
Your Rubie contact can give you the Blueprint’s INPUT
refKeys and its
configured metadata items, or you can read them off the Blueprint canvas in
the dashboard.Inputs
In the example above,records is the refKey of an INPUT node. Objects and
arrays are serialized to JSON for the node; strings are passed through untouched.
Metadata
source_system in the example is a metadata item — useful for stamping a run
with correlation ids from your own system (a tenant id, a job id, the record that
triggered the run) so your team can trace it later from the dashboard.
Metadata items must be configured on the Blueprint to be persisted. If one is
marked required and you omit it, the trigger returns 400.
Credentials
credential_id accepts a single id or a comma-separated list, and
credential_ids is an accepted alias. Most Blueprints need exactly one; pass
several when a workflow touches more than one system.
The credential must belong to the same account as the API key, and the API key
must be authorized for the Blueprint.
Sending files
When an INPUT node expects a file rather than inline data, sendmultipart/form-data instead. The routing rules are identical — the part name is
the key.
refKey may carry either a file or an inline string, so
you can mix uploaded files and inline JSON in the same request.
Polling a run
PollGET /blueprint-runs/{runId}/status every 2–5 seconds. The endpoint accepts
either the opaque run_... id or the UUID run_key from the trigger response.
Status and progress step
status is the coarse lifecycle state you branch on. progress_step is a finer
projection of the same run, useful for showing the user what’s happening.
authenticating means the run is logging into the target system, which is where
invalid credentials surface. awaiting_review means a human review gate in the
Blueprint is holding the run — it’s still running from your side, and will
proceed once someone acts on it in the dashboard.
This endpoint is a projection, not the run
The status response deliberately contains no run inputs, outputs, file URLs, or raw error strings — only lifecycle facts. That makes it safe to poll from systems handling regulated or sensitive data, since nothing the run touched can leak through it. Retrieve outputs separately after the run reachescompleted; see
Fetching results.
Fetching results
CallGET /blueprint-runs/{runId}/results only after status is completed. Like
the status endpoint, it accepts either the opaque run_... id or the UUID
run_key from the trigger response.
To return records directly in JSON:
results is keyed by Blueprint output node reference key. A node with multiple
output handles uses keys such as node_ref.handle_key. Each direct record
contains its output data, validation errors, and isValid flag.
For large datasets, omit the query parameter or use
deliveryMethod=presigned_url:
dataDeliveryMethod rather than assuming it matches the request.
The endpoint returns 409 while a run is incomplete and 400 after its data
has been purged.
Failures
Whenstatus is failed, error is populated:
execution_failed. Specific causes — expired
credentials, a missing template in the target system, a validation failure — are
not yet distinguishable through this endpoint; your Rubie team can inspect the
run in the dashboard. Surface a retry action plus a path back to your reconnect
flow, and treat error.code as an open string set so Blueprint-defined codes can
be added later without breaking your client. See Errors.
Idempotency
Trigger requests should always carry anIdempotency-Key, keyed on the thing
that caused the run — a record id, a job id, a date-scoped sync key. A retried
request with the same key and body replays the original 202 instead of starting
a second run. Same key with a different body returns 409. See
Idempotency.
Next
- Hosted credential collection — where
cred_...comes from - Errors — the error envelope and validation codes
- Get Blueprint run results — response schema and delivery modes
- Identifiers —
run_ids versusrun_key