# Entitlement programs: check

URL: /code/mcp/entitlement/verbs · Id: `page:code/mcp/entitlement/verbs`

> The Entitlement Verbs check as MCP do programs, with inputs, result, refusals and an example.

Reference for [Entitlement](/business/nouns/entitlement), one group of [Entitlement programs](/code/mcp/entitlement).

### Entitlement.check
Check says whether a Customer may call a Verb now, how much of its Limit remains, when that resets, and which Offer lifts it. [Verb page](/business/nouns/entitlement/check?interface=mcp).

```text
do: return await $.Entitlement.check(input)
```

Emits [`Entitlement.checked`](/business/events/Entitlement.checked).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `customer` | [Customer](/business/nouns/customer) | Yes | The Customer making the call. |
| `verb` | [Verb](/business/nouns/verb) | Yes | The Verb it wants to call, as `Noun.verb`. |
| `amount` | `integer` | No | How many units the call would use. Defaults to 1. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `allowed` | `boolean` | Yes | True when an Entitlement grants the call and its Limit has room for `amount`. |
| `entitlement` | [Entitlement](/business/nouns/entitlement) | No | The Entitlement that grants the Verb, when one does. |
| `remaining` | `integer` | No | Units left in the current period; absent for a `feature` Entitlement. |
| `resetsAt` | `datetime` | No | When the period resets; absent when the Limit never resets. |
| `upgrade` | [Offer](/business/nouns/offer) | No | The Offer that lifts the bound, when its Offer’s `atBound` is `upgrade`. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Entitlement.check({ customer: 'cus_K1BROJhqzZ', verb: 'verb_hlkWBvrAyZ' })"
  }
}
```