Skip to main content
The Case API is how partner systems interact with Frayme: submit cases, poll for decisions, act on paused workflow nodes, and deliver external callbacks.
Today, API keys, the workflow IDs you may submit cases to, and webhook configuration (URL, signing secret) are all provisioned for you by the Frayme team. In the future, both will be self-served from the Frayme portal.
For a narrative walkthrough of a full integration — from first submission to handling decisions — start with the Integration guide. This section is the field-level reference for each endpoint.

Base URL

Every path below is relative to your environment’s base URL:
EnvironmentBase URL
Productionhttps://core.us.api.frayme.io
Staginghttps://core.us.api.stg.frayme.io

Authentication

All Case API calls require a tenant-scoped API key, sent on every request in the X-API-Key header:
X-API-Key: <your-api-key>
No other authentication mechanism is supported on the partner endpoints. Your tenant is derived from the key — do not send tenantId in a request body; it is ignored.

Scopes

Each key carries one or more scopes. Every endpoint lists the scope it requires.
ScopeGrants
cases:writeSubmit new cases (POST /cases)
cases:readRead a case, list its paused nodes, and list its durable actions
cases:callbackDeliver an external callback, or invoke a pending / durable action

Idempotency

POST /cases accepts an optional idempotencyKey. If you resubmit with a key that already exists, the existing case is returned with 200 OK instead of a new case being created (201 Created). Durable and pending actions are not idempotent — each invocation is an independent vendor call.

Endpoints

Each endpoint has its own page under Cases API in the sidebar.
ActionMethod and pathScope
Submit a casePOST /casescases:write
Get a caseGET /cases/{caseId}cases:read
List paused nodesGET /cases/{caseId}/pendingcases:read
Invoke a pending actionPOST /pending/{handle}/actions/{actionId}cases:callback
List durable actionsGET /cases/{caseId}/actionscases:read
Invoke a durable actionPOST /cases/{caseId}/actions/{brokerId}/{action}cases:callback
Deliver an external callbackPOST /cases/{caseId}/callbacks/{callbackRef}cases:callback
These pages are reference only — there is no interactive request runner, since calling the API requires a provisioned key against your own tenant. Copy the request examples and run them against your Frayme-provided base URL.
Decisions are also pushed to you asynchronously. See Webhooks for the events, payload shapes, and signature verification.