Entitlement
An Entitlement is what a Customer gets from an accepted Offer: a Verb on a Noun in its Tenant, optionally bounded by a Limit.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
verb | Verb | required | The Verb it grants. |
limit | Limit | The Limit that bounds it. | |
kind | string | Computed, never set: feature, or limit when a Limit bounds it. |
Object
{
"$id": "https: //api.sb/ patentpad.com/ entitlements/ entitlement_1",
"$type": "Entitlement",
"verb": "verb_1",
"limit": "limit_1",
"kind": "feature"
}Relationships
- An Entitlement is granted by one Offer: an accepted Offer grants Entitlements, each a Verb on a Noun, optionally bounded by a Limit.
grantedBy, inversegrants. - An Entitlement is held by one Customer: a Customer’s Entitlements are what it may do right now, granted by the Offers it accepted.
heldBy, inverseholds.
Verbs
createCreates an Entitlement.POST /{namespace}/entitlementsgetReturns one Entitlement by id.GET /{namespace}/entitlements/{id}listReturns Entitlements, newest first, one page at a time.GET /{namespace}/entitlementsupdateChanges the given properties of an Entitlement.PATCH /{namespace}/entitlements/{id}deleteDeletes an Entitlement; its history is kept.DELETE /{namespace}/entitlements/{id}checkCheck says whether a Customer may call a Verb now, how much of its Limit remains, when that resets, and which Offer lifts it.POST /{namespace}/entitlements/check
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
Entitlement.create | Yes | Yes | Yes | No |
Entitlement.get | Yes | Yes | Yes | Yes |
Entitlement.list | Yes | Yes | Yes | Yes |
Entitlement.update | Yes | Yes | Yes | No |
Entitlement.delete | Yes | Yes | Yes | No |
Entitlement.check | Yes | Yes | Yes | No |
Call it
Check the latest entitlement with a customer and a verb.Example
A dental office on the $99 plan holds an Entitlement to send appointment reminders from its Tenant. A Limit bounds it at 1,000 reminders a month.