Skip to main content
POST
http://localhost:3000
/
permissions
/
batch
curl -X POST 'https://api.example.com/permissions/batch' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "id": "permission_read",
      "scopeId": "scope_acme",
      "action": "read",
      "resourceType": "document",
      "resourcePattern": "*",
      "key": "document:read:*",
      "label": "Read Documents"
    },
    {
      "id": "permission_write",
      "scopeId": "scope_acme",
      "action": "write",
      "resourceType": "document",
      "resourcePattern": "*",
      "key": "document:write:*",
      "label": "Write Documents"
    }
  ]'
[
  {
    "id": "permission_read",
    "scopeId": "scope_acme",
    "action": "read",
    "resourceType": "document",
    "resourcePattern": "*",
    "key": "document:read:*",
    "label": "Read Documents"
  },
  {
    "id": "permission_write",
    "scopeId": "scope_acme",
    "action": "write",
    "resourceType": "document",
    "resourcePattern": "*",
    "key": "document:write:*",
    "label": "Write Documents"
  }
]

Overview

Batch creation allows you to create multiple permissions in a single API call.
ID Format: All IDs use a namespaced UUIDv7 format: permission_{uuidv7}.

Request Body

Array of permission objects:
[].id
string
Optional client-provided ID
[].scopeId
string
required
ID of the scope where this permission is defined
[].action
string
required
The action this permission grants (e.g., read, write, delete)
[].resourceType
string
required
The type of resource this permission applies to
[].resourcePattern
string
required
Pattern matching resources (use * for all)
[].key
string
required
Unique key for the permission
[].label
string
Display label for the permission

Response

Returns an array of created permission objects.
curl -X POST 'https://api.example.com/permissions/batch' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "id": "permission_read",
      "scopeId": "scope_acme",
      "action": "read",
      "resourceType": "document",
      "resourcePattern": "*",
      "key": "document:read:*",
      "label": "Read Documents"
    },
    {
      "id": "permission_write",
      "scopeId": "scope_acme",
      "action": "write",
      "resourceType": "document",
      "resourcePattern": "*",
      "key": "document:write:*",
      "label": "Write Documents"
    }
  ]'
[
  {
    "id": "permission_read",
    "scopeId": "scope_acme",
    "action": "read",
    "resourceType": "document",
    "resourcePattern": "*",
    "key": "document:read:*",
    "label": "Read Documents"
  },
  {
    "id": "permission_write",
    "scopeId": "scope_acme",
    "action": "write",
    "resourceType": "document",
    "resourcePattern": "*",
    "key": "document:write:*",
    "label": "Write Documents"
  }
]