Kaiten

List all entitlements

Returns a cursor-paginated page of entitlements for the current organization.

GET
/entitlements

Authorization

bearerAuth read:entitlements
AuthorizationBearer <token>

A JWT verified by the proxy in front of this API, or a Kaiten access token (ksh_...) — send either as Authorization: Bearer <token>. The scopes listed on each operation are the ones the token must carry; write:<module> implies read:<module>, and read:* / write:* are wildcards over every module. x-kaiten-scopes lists every scope such a token can carry, including those enforced by a service in front of this API rather than by one of its operations.

In: header

Scope: read:entitlements

Query Parameters

cursor?string

Opaque pagination cursor from a previous response's nextCursor

limit?integer

Maximum number of entries to return (default 50, max 200)

Formatint32
Range1 <= value <= 200

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X GET "https://app.kaiten.sh/api/entitlements"
{
  "hasMore": true,
  "items": [
    {
      "aggregationMethod": "SUM",
      "createdAt": "2023-10-01T12:00:00Z",
      "description": "Basic subscription plan with limited features",
      "displayOrder": 10,
      "entitlementGroups": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "name": "AI Quotas",
          "slug": "ai-quotas"
        }
      ],
      "groupSlugs": [
        "string"
      ],
      "icon": "lucide:rocket",
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "Basic Plan",
      "resetAnchor": "CALENDAR",
      "resetPeriod": "MONTH",
      "saleUnitFactor": 3,
      "saleUnitPlural": "packs",
      "saleUnitSingular": "pack",
      "slug": "basic-plan",
      "type": "NUMBER",
      "unitPlural": "seats",
      "unitSingular": "seat",
      "updatedAt": "2023-10-02T12:00:00Z",
      "userFacing": true,
      "warningThresholdPercent": 80
    }
  ],
  "nextCursor": "string"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}