Sign in to run requests with your own sandbox key. Sign in

Show an execution

GET /api/v1/executions/{id}
executions:read MCP: cascades_get_execution

Returns the detail view (Execution + input_context). Tokens with executions:read:full additionally receive step_outputs and failed_steps, which typically contain applicant PII and vendor responses. This is the endpoint to poll after triggerWorkflow and reEvaluateExecution. Requires executions:read.

Path parameters

NameTypeDescription
idrequired integer

Execution id. Scoped to the calling api_client; a foreign id returns 404.

Responses

  • 200 Execution detail (or full detail if scope allows) application/json
    • data one of
      • ExecutionFull ExecutionDetail

        Schema: ExecutionFull

        • id integer required
        • object string required
        • workflow_id integer required
        • status string required Lifecycle of an execution. `queued` (batch rows not yet dispatched), `pending`, `running` and `waiting` (paused on a Wait node or adverse-action waiting period) are in flight; `awaiting_review` is paused on human review; `completed`, `failed`, `cancelled` and `skipped` are terminal. One of queued pending running waiting awaiting_review completed failed cancelled skipped
        • execution_key string, nullable
        • external_reference string, nullable
        • needs_human_review boolean required
        • review_status string required One of none in_review approved denied
        • assigned_to_user_id integer, nullable The reviewer who claimed this execution, if any.
        • started_at string (date-time), nullable
        • completed_at string (date-time), nullable
        • created_at string (date-time) required
        • updated_at string (date-time), nullable
        • input_context object The payload originally sent at trigger time, plus resolved fields such as `execution_mode`, `submitted_by_user_id`, `user_approved`, `external_reference`, (for a test-mode run of a draft) `allow_inactive` and (for a test-mode run that replays a registered test subject) `sandbox_replay`.
        • step_outputs object Per-node results keyed by node id.
          • {key} object
        • failed_steps array of object
      • ExecutionDetail Execution

        Schema: ExecutionDetail

        • id integer required
        • object string required
        • workflow_id integer required
        • status string required Lifecycle of an execution. `queued` (batch rows not yet dispatched), `pending`, `running` and `waiting` (paused on a Wait node or adverse-action waiting period) are in flight; `awaiting_review` is paused on human review; `completed`, `failed`, `cancelled` and `skipped` are terminal. One of queued pending running waiting awaiting_review completed failed cancelled skipped
        • execution_key string, nullable
        • external_reference string, nullable
        • needs_human_review boolean required
        • review_status string required One of none in_review approved denied
        • assigned_to_user_id integer, nullable The reviewer who claimed this execution, if any.
        • started_at string (date-time), nullable
        • completed_at string (date-time), nullable
        • created_at string (date-time) required
        • updated_at string (date-time), nullable
        • input_context object The payload originally sent at trigger time, plus resolved fields such as `execution_mode`, `submitted_by_user_id`, `user_approved`, `external_reference`, (for a test-mode run of a draft) `allow_inactive` and (for a test-mode run that replays a registered test subject) `sandbox_replay`.
    • meta Meta

      Schema: Meta

      • request_id string required Correlation id for this request. Also sent as the `X-Request-Id` response header; quote it when contacting support.
    200 example
    {
      "data": {
        "id": 1842,
        "object": "execution",
        "workflow_id": 27,
        "status": "completed",
        "execution_key": "api_client:12:3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "external_reference": "rv-app-20491",
        "needs_human_review": false,
        "review_status": "none",
        "assigned_to_user_id": null,
        "started_at": "2026-09-09T14:00:01Z",
        "completed_at": "2026-09-09T14:00:09Z",
        "created_at": "2026-09-09T14:00:00Z",
        "updated_at": "2026-09-09T14:00:09Z",
        "input_context": {
          "applicant": {
            "first_name": "Jordan",
            "last_name": "Lee",
            "email": "jordan@example.com"
          },
          "execution_mode": "test",
          "submitted_by_user_id": 5,
          "user_approved": false,
          "external_reference": "rv-app-20491"
        }
      },
      "meta": {
        "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f"
      }
    }
  • 401 Missing, malformed, expired or revoked bearer token. The WWW-Authenticate header carries the RFC 6750 challenge. application/json

    Schema: ErrorEnvelope

    401 example
    {
      "error": {
        "code": "unauthorized",
        "message": "A valid bearer token is required.",
        "details": [],
        "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f",
        "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/unauthorized"
      }
    }
  • 403 Token does not hold the required scope. details lists the scope(s) that were checked. application/json

    Schema: ErrorEnvelope

    403 example
    {
      "error": {
        "code": "insufficient_scope",
        "message": "This token does not have the required scope.",
        "details": [
          {
            "field": "scope",
            "message": "executions:write"
          }
        ],
        "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f",
        "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/insufficient_scope"
      }
    }
  • 404 Resource does not exist or belongs to another tenant / api_client application/json

    Schema: ErrorEnvelope

    404 example
    {
      "error": {
        "code": "not_found",
        "message": "The requested resource was not found.",
        "details": [],
        "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f",
        "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/not_found"
      }
    }
  • 429 Rate limit exceeded (60 req/min per IP on /api/v1, 600 req/hour per token prefix, or 300 req/5 min per IP globally). The body is the standard error envelope and Retry-After gives the seconds until the window resets. application/json

    Schema: ErrorEnvelope

    429 example
    {
      "error": {
        "code": "rate_limited",
        "message": "Rate limit exceeded. Retry later.",
        "details": [],
        "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f",
        "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/rate_limited"
      }
    }
Was this page helpful?