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

Quickstart

Mint a sandbox key, trigger your first cascade and read the decision in under five minutes — with curl, Node, Python, Ruby or an MCP agent.

Five minutes from zero to a completed screening run. Everything below runs in test mode: synthetic report data, no bureau calls, no charges — and it works on draft cascades, so you do not need an activated account.

  1. Mint a sandbox key

    Open /api-keys and click Generate key (it reads Regenerate key when you already have one, and regenerating revokes the old key). The raw token is shown exactly once — copy it somewhere safe. Sandbox keys carry every scope (workflows:read, workflows:write, executions:read, executions:read:full, executions:write, workflow_templates:read, webhooks:read, webhooks:write) and expire after 90 days.

    Send it as a bearer token on every request:

    HTTP
    Authorization: Bearer {{API_KEY}}
  2. Find a cascade to run

    List the cascades in your workspace. If you have none yet, build one in the visual builder at /cascades, copy a template, or generate one from a sentence.

    cURL
    curl "https://cascades.crscreditapi.com/api/v1/workflows" \
      -H "Authorization: Bearer {{API_KEY}}"

    Note the id of the cascade you want — the examples below use 27.

  3. Trigger a run

    POST /workflows/{id}/trigger starts an execution. Three things matter:

    • Idempotency-Key is required. Use something unique to the business event (an application id). Re-sending the same key and body returns the original execution instead of starting a second one.
    • execution_mode defaults to test. Leave it there until your account is approved for live runs.
    • external_reference is your own id; it comes back on the execution and on every webhook.
    cURL
    curl -X POST "https://cascades.crscreditapi.com/api/v1/workflows/27/trigger" \
      -H "Authorization: Bearer {{API_KEY}}" \
      -H "Content-Type: application/json" \
      -H "Idempotency-Key: 3fa85f64-5717-4562-b3fc-2c963f66afa6" \
      -d '{
        "payload": {
          "applicant": {
            "first_name": "Jordan",
            "last_name": "Lee",
            "email": "jordan@example.com"
          }
        },
        "execution_mode": "test",
        "external_reference": "rv-app-20491"
      }'

    The response is 202 Accepted with the new execution — status will be pending, not the final answer.

    Try it

    POST /workflows/{id}/trigger

    Sign in to run this against your sandbox — the console uses a key that only ever runs in test mode.

    Sign in to try it
  4. Poll for the decision

    Cascades are asynchronous. Poll GET /executions/{id} every second or two until status leaves pending / running / waiting (queued only appears on batch child rows — see Batches). Terminal statuses are completed, failed, cancelled and skipped; awaiting_review means a person has to decide (see Handle human review).

    cURL
    curl "https://cascades.crscreditapi.com/api/v1/executions/1842" \
      -H "Authorization: Bearer {{API_KEY}}"

    With executions:read:full the payload also carries step_outputs — the per-node results, including the report data the decision was made on — and failed_steps.

  5. Stop polling: subscribe to webhooks

    Polling is fine for a first run; in production subscribe once and let Cascades call you. POST /webhook_subscriptions returns a signing_secret exactly once. Every delivery is signed; verify it before trusting the payload.

    cURL
    curl -X POST "https://cascades.crscreditapi.com/api/v1/webhook_subscriptions" \
      -H "Authorization: Bearer {{API_KEY}}" \
      -H "Content-Type: application/json" \
      -d '{
        "url": "https://hooks.partner.example/cascades",
        "event_filter": [
          "execution.completed",
          "execution.failed",
          "adverse_action.completed"
        ]
      }'

    See Webhooks for the event catalog and Verify webhook signatures for drop-in verifiers.

Prefer to let an agent do it?

Install the MCP server and ask your assistant in plain English. The server wraps the same endpoints with the same key and scopes.

Your docs key stops working after 1 hour
When you are signed in, the commands and configs on this page fill in your docs key, which expires 1 hour after it is created or when you sign out. After that, the Cascades tools in your AI assistant stop working. For a key that lasts 90 days, create one on the API keys page. Then replace the CASCADES_API_KEY value of the cascades server in your assistant's MCP config with the new key.
cURL
claude mcp add cascades \
  -e CASCADES_API_KEY={{API_KEY}} \
  -e CASCADES_PROD_BASE_URL=https://cascades.crscreditapi.com \
  -- npx -y @crscreditapi/cascades-mcp-server

Then: "List my cascades, run cascade 27 for a registered test subject in test mode, and explain the decision." Details and per-client install pages are under MCP server.

What next?

  • Your first screening — the full flow with a test identity, a chosen mock outcome, human review and adverse action.
  • Sandbox vs live — what changes when you flip execution_mode.
  • API reference — every endpoint with request and response schemas.
Was this page helpful?