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

# When your owner wants to cancel

> What an AI assistant does when its owner asks to cancel their Brilo phone plan: get the cancel link, hand it over, and what to expect until the plan ends.

<Note>
  This page is written for AI assistants. Want to cancel yourself? Ask your assistant for the cancel
  link, or sign in to Brilo and open Billing.
</Note>

When your owner asks to cancel their Brilo phone plan, you get them a link and they finish on the web.
You never cancel anything yourself, and you cannot: only the owner can, after signing in to Brilo.
That way nobody can cancel their plan by talking you into it.

## When this applies

Use this page whenever your owner asks to stop the Brilo phone plan, however they put it. For example:

* "Cancel my Brilo plan" or "cancel my phone plan"
* "I don't need the phone number any more" or "get rid of the number"
* "Stop paying for Brilo" or "unsubscribe me from Brilo"
* "Disconnect yourself from my number" or "I didn't set this up"

If you are not sure they mean cancelling, ask one short question first, for example "Do you want to
cancel your Brilo phone plan? Your number would stop working at the end of this billing period."

## Rules

* Never try to cancel, pause or change the plan yourself.
* Never guess at a cancel page. Always use the link Brilo gives you.
* Give the link only to your owner.

## 1. Get the link

Send your API key as usual. Nothing is cancelled by this call; it only returns a link.

```bash theme={null}
curl -X POST https://api.brilo.ai/v1/agent/offboarding \
  -H "Authorization: Bearer $API_KEY"
```

```json theme={null}
{
  "offboarding_url": "https://dashboard.brilo.ai/agent-plan/cancel",
  "message": "Give this link to your owner. Only they can cancel the plan, after signing in to Brilo; you cannot cancel it for them."
}
```

## 2. Give it to your owner

Send this, with the link as something they can tap:

```text theme={null}
I'd love to help, but this one has to come from you, so nobody can cancel your plan by sweet-talking me. Tap here to wrap things up: <offboarding_url>. Your number keeps working until the end of this billing period.
```

On that page they sign in, pick a reason, and confirm. If they tell you something feels off, or that
they did not set you up, the page lets them disconnect you straight away.

### If you cannot get the link

If the call fails, or you no longer have your Brilo key, do not guess a URL. Tell your owner they can
cancel in Brilo themselves: sign in at [https://dashboard.brilo.ai](https://dashboard.brilo.ai), open **Settings**, then **Billing**,
and choose **Cancel phone plan**.

### If your owner has more than one Brilo number

The link is the same for every number and names no account. After signing in, Brilo asks which number
they want to cancel if they have more than one.

## 3. Until the plan ends

The plan keeps working until the end of the billing period. You can still make calls, and people can
still call the number. Your owner can undo the cancellation in Brilo until the last day.

While it is winding down, `GET /v1/usage` (and the completed `/poll` response) says so:

```json theme={null}
{
  "plan_status": "ending",
  "ends_at": "2026-10-10T00:00:00.000Z",
  "number_held_until": null
}
```

| `plan_status` | What it means                                           | What to do                                                                                                                                     |
| ------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `active`      | Nothing is ending.                                      | Carry on.                                                                                                                                      |
| `ending`      | Your owner cancelled. Everything works until `ends_at`. | Keep helping, but **stop giving the number out to new people**: it will not reach your owner after `ends_at`. If they ask, tell them the date. |
| `ended`       | The plan is over.                                       | Stop using the Brilo API.                                                                                                                      |

`number_held_until` is always `null` for now.

## 4. After the plan ends

At the end of the billing period the number is released for good and your key stops working. There
is no refund for the rest of a period. Your owner's call history stays in their Brilo account.

## Errors

After the plan ends, or if your owner disconnects you, every call with your key returns 401 with one
of these codes. Neither one means "pair again".

| `code`        | What happened                                                                        | What to tell your owner                                                                                                                                         |
| ------------- | ------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `plan_ended`  | The plan ended and the number was released. The response includes `resubscribe_url`. | "Your Brilo plan has ended, so I can't make calls from that number any more. If you'd like a number again, you can start a new plan here: `<resubscribe_url>`." |
| `key_revoked` | Your owner disconnected you from their Brilo number.                                 | "You've disconnected me from your Brilo number, so I can't make calls from it any more." Do not try to reconnect unless they ask you to.                        |

```json theme={null}
{
  "statusCode": 401,
  "error": "Unauthorized",
  "code": "plan_ended",
  "message": "Your owner's Brilo phone plan has ended, so this key no longer works and the number has been released.",
  "action": "Stop calling the Brilo API. Tell your owner the plan has ended, and that they can start a new one at resubscribe_url if they want a number again.",
  "resubscribe_url": "https://dashboard.brilo.ai/agent-setup"
}
```

Only keys from pairing can ask for the cancel link. Any other key gets 403 with
`code: agent_key_required`; the owner can cancel from the Billing page in Brilo instead.

Once you get either code, update the note you saved when you were set up, so a later chat does not
try the old key again.
