Skip to content

Customers

All endpoints require a valid API key in the Authorization header.

List customer entitlements

Terminal window
GET /v1/customers/{customer_id}/entitlements

Scope: customers:read

You can also look up by Shopify customer ID:

Terminal window
GET /v1/customers/shopify/{shopify_customer_id}/entitlements

Query parameters

ParameterDefaultDescription
limit25Number of results (1–100)
cursorPagination cursor

Response

{
"data": [
{
"id": "ent_abc123",
"product_id": "prod_xyz",
"status": "active",
"granted_at": "2026-01-15T10:00:00.000Z",
"expires_at": null,
"source": "order",
"metadata": {}
}
],
"meta": { "request_id": "req_abc123", "timestamp": "2026-03-01T12:00:00.000Z" },
"pagination": {
"total": 3,
"limit": 25,
"has_more": false,
"next_cursor": null
}
}

List customer downloads

Returns downloadable files for a customer’s active entitlements, grouped by product.

Terminal window
GET /v1/customers/{customer_id}/downloads

Scope: customers:read

Response

{
"data": [
{
"entitlement_id": "ent_abc123",
"product_id": "prod_xyz",
"product_name": "Premium Course",
"files": [
{
"file_id": "file_001",
"file_name": "module-1.pdf",
"file_size": 5242880,
"mime_type": "application/pdf"
},
{
"file_id": "file_002",
"file_name": "bonus-content.zip",
"file_size": 52428800,
"mime_type": "application/zip"
}
]
}
],
"meta": { "request_id": "req_abc123", "timestamp": "2026-03-01T12:00:00.000Z" },
"pagination": {
"limit": 25,
"has_more": false,
"next_cursor": null
}
}

To generate a download URL for a specific file, use the Files API download endpoint.