Rensei docs
API ReferenceAuthoring

Simulate and explain a proposed new canvas against one exact Cedar policy revision.

Read-only, bounded author-time simulation for a proposed new canvas. It resolves node/tool resources from the tenant and project vocabulary, loads one exact active workspace/project policy snapshot, evaluates without runtime audit writes, and denies closed on no-match, unknown-node, or evaluation errors. Existing-workflow edit authorization is intentionally outside this create-only surface.

POST
/api/projects/{projectId}/authoring/policy-simulation

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

projectId*string

Request Body

application/json
  1. body
nodes*array<>
Items1 <= items <= 100

Response Body

Exact policy revision and deterministic node/tool decision matrix.

application/json
  1. response
simulation*string
scope*
policyRevision*
overallDecision*string
Value in"allow""deny"
decisions*array<>
Itemsitems <= 200
Example Request
curl -X POST 'https://app.rensei.ai/api/projects/string/authoring/policy-simulation' \  -H 'Content-Type: application/json' \  -d '{  "nodes": [    {      "id": "string",      "nodeKey": "string"    }  ]}'
Example Response
{  "simulation": "author_time_read_only",  "scope": {    "orgId": "string",    "projectId": "string"  },  "policyRevision": {    "digest": "string",    "policies": [      {        "id": "string",        "version": 1,        "scope": "string",        "scopeId": "string",        "cedarDigest": "string"      }    ]  },  "overallDecision": "allow",  "decisions": [    {      "nodeId": "string",      "nodeKey": "string",      "resourceType": "WorkflowNode",      "resourceId": "string",      "action": "author_workflow_node",      "decision": "allow",      "outcome": "matched",      "matchedPolicies": [        "string"      ],      "reason": "string"    }  ]}