Skip to main content
POST
Grant an entitlement to a user

Authorizations

Authorization
string
header
required

Bearer authentication using the project Secret Key (prefixed with sk_, or test_sk_ for sandbox). All v4 public endpoints require the Secret Key — see Authentication. Never expose the Secret Key in client-side code.

Path Parameters

user_id
string
required

User identifier.

Body

application/json
entitlement_id
string
required

Identifier of the entitlement definition to grant.

Example:

"premium"

expires_at
integer<int64>
default:0

Unix timestamp (seconds) when the entitlement expires. Use 0 (or omit the field) to grant the entitlement with no expiry. Negative values and past timestamps are rejected with 400.

Example:

1767225600

Response

Entitlement granted.

object
enum<string>
required
Available options:
user_entitlement
id
string
required

Unique entitlement identifier.

Example:

"premium"

url
string
required

Canonical API path.

Example:

"/v4/users/QON_3af4c5b8a4d24f21b72e9d0c8aef9d4e/entitlements/premium"

is_active
boolean
required

Whether the entitlement is currently active.

source
string
required

Source of the entitlement grant (open enum).

started_at
string<date-time> | null

Timestamp when the entitlement became active (ISO 8601 UTC).

Example:

"2025-09-15T12:30:00Z"

expires_at
string<date-time> | null

Timestamp when the entitlement expires (ISO 8601 UTC). Null if no expiry.

Example:

"2026-09-15T12:30:00Z"

product
object | null

Product associated with this entitlement, if any.