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

AuthorizationBearer <token>

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

In: header

Path Parameters

projectId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/projects/string/authoring/policy-simulation" \  -H "Content-Type: application/json" \  -d '{    "nodes": [      {        "id": "string",        "nodeKey": "string"      }    ]  }'
{
  "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"
    }
  ]
}
Empty
Empty
Empty
Empty
Empty
Empty