ovidens
API reference

One run's status, per-node outcomes and failure summary

GET/v1/apps/{app}/runs/{runId}

One run with its per-node outcomes and, when it failed, which node failed and why. Requires the workspace:read scope: watching an integration and being able to trigger one are separate authorities. A run whose target is draft is a preview of unpublished work and is visible only to a credential that also holds pipeline:run_draft; without that scope it answers the same 404 not_found an unknown identifier does. Every node is created pending, so a poll taken while the run is executing reports that for most of the array; the run is finished when status is no longer running. Next, on success: createExport for the output you need.

Authorization

bearerAuth
AuthorizationBearer <token>

Obtain a token from https://id.ovidens.com/oauth/token using the client_credentials grant.

In: header

Path Parameters

app*string

The app's stable technicalId, as reported by listApps. It is a snake_case identifier, never a numeric id, and it survives a rename of the app.

Length1 <= length <= 64
runId*integer

The run identifier startRun returned, or one reported by listRuns.

Range1 <= value <= 2147483647
curl -X GET "https://example.com/v1/apps/string/runs/1"
{  "run": {    "runId": 4821,    "status": "success",    "target": "published",    "startedAt": "2026-08-01T02:05:00.000Z",    "finishedAt": "2026-08-01T02:06:12.000Z",    "durationMs": 72000,    "dataAvailable": true,    "triggeredBy": {      "clientId": "ovc_7f3a9c1d2e4b6a8c0d5e7f91",      "name": "ERP nightly import"    },    "nodes": [      {        "technicalId": "customers",        "nodeType": "dataset",        "status": "success",        "rowCount": 18420,        "error": null      },      {        "technicalId": "revenue_by_region",        "nodeType": "sql",        "status": "success",        "rowCount": 34,        "error": null      }    ],    "error": null  }}

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

Was this page helpful?