ArcalotlArcalotl
Entitlements

Check an entitlement

Answers whether a platform identity currently holds access, and returns the entitlements that back it. Pass `tier_id` to check a specific tier; omit it to check for any access.

Serverhttps://api.arcalotl.com
GET
/v1/entitlements/check
AuthorizationBearer <token>

Community-scoped API key. Send it as Authorization: Bearer arclt_live_.... Keys carry scopes; endpoints that need a specific scope answer 403 missing_scope when the key lacks it.

In: header

Query Parameters

platform*string

The community platform (for example discord).

platform_uid*string

The identity's stable id on that platform.

tier_id?string

Restrict the check to a specific plan tier.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X GET "https://example.com/v1/entitlements/check?platform=string&platform_uid=string"
{
  "entitled": true,
  "entitlements": [
    {
      "id": "ment_01JMZX7Q2R",
      "entitlement_id": "ent_01JMZX7P4C",
      "key": "vip-access",
      "name": "VIP access",
      "revision": 4,
      "status": "active",
      "granted_at": "2019-08-24T14:15:22Z",
      "revoked_at": "2019-08-24T14:15:22Z",
      "sources": [
        {
          "type": "subscription",
          "id": "string",
          "status": "active",
          "tier_id": "string",
          "plan_id": "string",
          "client_reference_id": "string",
          "valid_until": "2019-08-24T14:15:22Z"
        }
      ],
      "benefits": [
        {
          "platform": "discord",
          "platform_config_id": "pcfg_01JMZX8C4M",
          "type": "role",
          "value": "998877665544332211"
        }
      ]
    }
  ]
}
{
  "type": "https://docs.arcalotl.com/api/errors#invalid_request",
  "title": "Bad Request",
  "status": 400,
  "detail": "The 'cursor' parameter is not a valid cursor from a previous response.",
  "code": "invalid_request"
}
{
  "type": "https://docs.arcalotl.com/api/errors#unauthorized",
  "title": "Unauthorized",
  "status": 401,
  "detail": "A valid API key is required. Provide it as 'Authorization: Bearer arclt_live_...'.",
  "code": "unauthorized"
}
{
  "type": "https://docs.arcalotl.com/api/errors#missing_scope",
  "title": "Forbidden",
  "status": 403,
  "detail": "This API key is missing the required scope: subscriptions:read.",
  "code": "missing_scope"
}
{
  "type": "https://docs.arcalotl.com/api/errors#rate_limited",
  "title": "Too Many Requests",
  "status": 429,
  "detail": "Rate limit exceeded. Retry after the interval in the Retry-After header.",
  "code": "rate_limited"
}