Rensei docs
API ReferenceApprovals

Apply one approve / reject decision to many approval gates.

Applies one decision to many gates, each decided independently with the same records as POST /api/approval-gates/{id}/decide, with a per-gate result. The decision actor identity and role are derived from the authenticated context, never trusted from the request body (SR 11-7). A gate the caller may not act on (ineligible role, terminal state, outside the org) refuses in its result slot without failing the other gates; already-resolved gates refuse 409. A failed workflow resume rides on that gate's ok slot as resumeError without un-recording the committed decision.

POST
/api/approval-gates/decide-batch

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.

Request Body

application/json
  1. body
ids*array<>

Gate ids to decide. Duplicates are de-duplicated; max 100.

Items1 <= items <= 100
decision*string

The single decision to record on every eligible gate.

Value in"approved""rejected"
actorType?string

Defaults to human for session / user-token callers.

Value in"human""agent"
actorRole?string

Optional; must match the caller's authenticated org role if supplied.

reason?string

Optional free-text rationale.

Lengthlength <= 4000

Response Body

Per-gate decide results.

application/json
  1. response
results*array<|>
approved*number
refused*number
Example Request
curl -X POST 'https://app.rensei.ai/api/approval-gates/decide-batch' \  -H 'Content-Type: application/json' \  -d '{  "ids": [    "string"  ],  "decision": "approved"}'
Example Response
{  "results": [    {      "gateId": "string",      "ok": true,      "resolved": true,      "resumeError": "string"    }  ],  "approved": 0,  "refused": 0}