> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clawdot.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# errand_add_tip

> MCP tool errand_add_tip — adds a tip to an errand order to encourage a faster pickup; can be called repeatedly before the rider accepts

## errand\_add\_tip

Adds a tip to an already-placed errand order to encourage a faster pickup. **A tip is its own separate payment order**: this tool only returns a checkout link for the tip — the user must open it and complete payment before the tip takes effect and is added to the order's `tip_fee`. Only available **before a rider accepts the order**; you can call it multiple times to add tips incrementally.

### Parameters

| Parameter          | Type    | Required | Default | Description                                                                                           |
| ------------------ | ------- | -------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `consent_grant_id` | string  | Yes      | —       | User consent grant ID (`cg_` prefix, from `errand_verify_user_bind`), identifying the consenting user |
| `order_id`         | string  | Yes      | —       | Order ID (`err_` prefix)                                                                              |
| `tip_fee`          | integer | Yes      | —       | Tip amount to add this time (cents), must be greater than 0                                           |

### Returns

<Warning>
  The amount field `tip_fee` is in **cents (integer)**.
</Warning>

| Field         | Type    | Description                                                                  |
| ------------- | ------- | ---------------------------------------------------------------------------- |
| `order_id`    | string  | Order ID                                                                     |
| `tip_fee`     | integer | Tip amount added this time (cents)                                           |
| `status`      | string  | Always `pending_payment`, meaning this tip order is awaiting payment         |
| `cashier_url` | string  | Checkout link for the tip — hand it to the user to open and complete payment |

```json theme={null}
{
  "order_id": "err_1f5108ee7dc54730aee29d20db789d64",
  "tip_fee": 100,
  "status": "pending_payment",
  "cashier_url": "https://g.clawdot.ai/xk2IP"
}
```

<Note>
  Calling this after the rider has accepted the order returns `ERRAND_TIP_NOT_ALLOWED`; a `tip_fee` of 0 or less returns `ERRAND_TIP_INVALID`.
</Note>

### Error Codes

| code                      | Description                                                                        |
| ------------------------- | ---------------------------------------------------------------------------------- |
| `CONSENT_GRANT_REQUIRED`  | Missing consent grant (no `consent_grant_id`)                                      |
| `CONSENT_GRANT_INVALID`   | Consent grant is invalid                                                           |
| `CONSENT_GRANT_EXPIRED`   | Consent grant has expired; re-authorization required                               |
| `CAP_NOT_BOUND`           | The errand capability is not enabled for this agent                                |
| `CONSENT_GRANT_WRONG_CAP` | The consent grant belongs to another capability and cannot be used for this tool   |
| `ERRAND_ORDER_NOT_FOUND`  | Order not found, or not owned by the consenting user                               |
| `ERRAND_TIP_NOT_ALLOWED`  | The order's current status doesn't allow tipping (a rider has already accepted it) |
| `ERRAND_TIP_INVALID`      | Invalid tip amount; must be an integer greater than 0 (cents)                      |

### Example Call

```json theme={null}
{
  "name": "errand_add_tip",
  "arguments": {
    "consent_grant_id": "cg_your_consent_grant",
    "order_id": "<from errand_create / errand_list_orders>",
    "tip_fee": 100
  }
}
```
