Start a run
The request body is an instance of the app’s input contract
(strictly validated). wait decides whether the call holds for the
result. Omitted: the app’s execution.mode default applies — sync
apps hold until terminal (up to the app’s execution.timeout_seconds),
async apps return a run_id immediately. Given explicitly (0–60 s):
the same for both modes — hold at most wait seconds for the
terminal state; wait=0 returns right after enqueue, so a sync app
can be started without waiting and polled via
GET /runs/?wait=. Whenever the run is terminal on return,
sample_records carries the first records.
version pins the run to a historical version (contract and price
both follow that version); defaults to the latest. build is a
debug run (owner only): pins an immutable Build snapshot
(run_kind=test, excluded from public statistics; billing applies as
usual — the owner pays for their own debugging, no special-casing);
mutually exclusive with version.
The run gate matches the detail gate: draft/private owner only, shared per grant list — not visible means 404 (prevents existence leaks). Visible but under maintenance (accepting_runs=false) is 403, with the owner’s self-tests exempt. New runs pinned to a yanked version are rejected (422 version-yanked; runs in flight are unaffected).
Authorizations
DataHub API Key
Path Parameters
Query Parameters
0 <= x <= 60x >= 1^[a-z][a-z0-9_-]{0,31}$Body
The body is of type Body · object.
Response
Successful Response