Revoke entitlement by benefit key
Revoke an entitlement from a customer by benefit key. Provide benefitKey as a query parameter. Emits an entitlement.revoked webhook event.
Related endpoints
GET /customers/{customerId}/entitlements— List customer entitlementsPOST /customers/{customerId}/entitlements— Grant entitlement to customerGET /customers/{customerId}/entitlements/check— Check customer entitlementDELETE /customers/{customerId}/entitlements/{entitlementId}— Revoke entitlement by IDGET /entitlements— List entitlementsGET /entitlements/check— Check entitlement access
Common errors
400 invalid_request— malformed payload or failed validation.401 unauthenticated— missing, malformed, or revoked API key.404 resource_missing— the referenced resource does not exist or is not visible to your key.
Idempotency
Pass an Idempotency-Key header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see the idempotency guide.
x-api-key<token>
Your RevKeen API key (powered by Unkey). Get it from Dashboard > Settings > API Keys. Use rk_sandbox_* for test mode and rk_live_* for production.
In: header
Path Parameters
customerId*string
Customer UUID
Format
uuidQuery Parameters
benefitKey?string
Revoke by benefit key instead of entitlement ID
Length
1 <= lengthResponse Body
application/json
application/json
application/json
application/json
Stuck on an error response? Ask the RevKeen assistant to explain it.
curl -X DELETE "https://api.revkeen.com/v2/customers/00000000-0000-0000-0000-000000000000/entitlements" \
-H "x-api-key: $REVKEEN_API_KEY"{
"data": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
"benefit_id": "1c2ea70b-3976-456a-b572-2d8f4680a169",
"benefit": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"description": "string",
"benefit_type": "string",
"benefit_key": "string",
"category": "string",
"icon_url": "string",
"display_order": "string",
"is_active": true,
"default_value": null,
"config": null
},
"granted_at": "2019-08-24T14:15:22Z",
"expires_at": "2019-08-24T14:15:22Z",
"metadata": {},
"status": "active",
"has_access": true,
"access_level": "full",
"subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627",
"subscription_status": "string"
},
"message": "string"
}{
"error": "Bad request"
}{
"error": "Unauthorized"
}{
"error": "Not found"
}