warden

API reference

List entitlements

Every record your key's provider holds, in external_id order, a page at a time.

GET/api/v1/integration/entitlements

Query

Parameter
limitA whole number from 1 to 500. 500 by default.
cursorThe next of the page before. Omit for the first page.

Request

curl -sS "https://3dwarden.com/api/v1/integration/entitlements?limit=500" \
  -H "Authorization: Bearer $WARDEN_KEY"

Read records back has the full walk in TypeScript and Python.

Response, 200

{
  "records": [
    {
      "external_id": "member-1001",
      "public_id": "q3Zr8mW1x0aB4cD5eF6gHi",
      "normalized_state": "active",
      "capabilities": ["physical_sales"],
      "last_synced_at": "2026-09-21T18:04:11.123456+00:00",
      "retired": false,
      "verify_url": "https://3dwarden.com/verify/q3Zr8mW1x0aB4cD5eF6gHi"
    }
  ],
  "next": null
}

Each item is the one a sync returns. next is null on the last page.

Errors

StatusCodeWhen
400invalid_requestlimit is not a whole number from 1 to 500, or the cursor is not one this API returned.
401invalid_key
429rate_limited