Skip to main content
POST
/
users
/
{user_id}
/
entitlements
Grant an entitlement
curl --request POST \
  --url https://api.qonversion.io/v3/users/{user_id}/entitlements \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": "plus",
  "expires": 1704067200
}
'
{
  "id": "plus",
  "active": true,
  "started": 1678894940,
  "expires": 1704067200,
  "source": "manual"
}
This endpoint requires a Secret Key (sk_ prefix). Never expose it in client-side code.

Authorizations

Authorization
string
header
required

Use your Secret Key (prefixed with sk_) from the Qonversion dashboard. Never expose the secret key in client-side code.

Path Parameters

user_id
string
required

Qonversion User ID

Body

application/json
id
string
required

Entitlement ID

expires
integer<int32>
required

Unix timestamp (seconds) when entitlement expires. Must be in the future.

Response

Entitlement granted

id
string

Entitlement identifier

Example:

"plus"

active
boolean

Whether the user currently has the entitlement

Example:

true

started
integer

Unix epoch seconds when entitlement was activated

Example:

1652438020

expires
integer

Unix epoch seconds when entitlement expires

Example:

1654215637

source
enum<string>

Purchase origin

Available options:
appstore,
playstore,
stripe,
manual,
unknown
Example:

"appstore"

product
object