Rensei docs

List hosted routing (placement) decision records for the org.

Newest-first, optionally filtered by sessionId/instanceId/stepId/outcome, keyset-paginated. Each entry is a flat summary; GET the same id under /routing/decisions/{id} for the full stage walk.

GET
/api/org/{orgId}/routing/decisions

Authorization

headerAuthorizationBearer <rsk_live_*>

Rensei API key presented as Authorization: Bearer rsk_live_. Required API-key scopes are recorded per operation in x-rensei-required-scopes.

Path Parameters

orgId*string

Organization id (must match the authenticated org).

Query Parameters

sessionId?string

Filter to decisions recorded against this session id.

instanceId?string

Filter to decisions recorded against this workflow instance id.

stepId?string

Filter to decisions recorded against this step id.

outcome?string

Filter by decision outcome.

Value in"selected""unsatisfiable"
limit?integer

Page size, default 50, max 200.

Range1 <= value <= 200
before?string

Keyset cursor: return decisions strictly older than this ISO-8601 instant (use the previous page's meta.nextCursor).

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
Formatdate-time

Response Body

Decision summaries + pagination meta.

application/json
  1. response
decisions*array<>
meta*
Example Request
curl -X GET 'https://app.rensei.ai/api/org/string/routing/decisions'
Example Response
{  "decisions": [    {      "id": "string",      "orgId": "string",      "projectId": "string",      "sessionId": "string",      "instanceId": "string",      "stepId": "string",      "outcome": "selected",      "chosenPoolId": "string",      "chosenProviderId": "string",      "reasonCode": "string",      "reason": "string",      "decidedAt": "string"    }  ],  "meta": {    "count": 0,    "limit": 0,    "nextCursor": "string"  }}