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

# Numbers

> A merchant may hold several senders, each answering differently.

Each can be bound to a different assistant — a sales line and a support line
under one merchant.

|                                                |                                                                   |                                              |
| ---------------------------------------------- | ----------------------------------------------------------------- | -------------------------------------------- |
| `GET .../channels/whatsapp/numbers/`           | every number                                                      |                                              |
| `GET .../channels/whatsapp/available-numbers/` | numbers under their WABA not connected here yet                   |                                              |
| `POST .../channels/whatsapp/numbers/adopt/`    | connect a second number under the same WABA — **no second popup** |                                              |
| `DELETE .../channels/whatsapp/numbers/{pnid}/` | release it (204)                                                  |                                              |
| `GET .../numbers/{pnid}/health/`               | token validity, app subscription, registration                    |                                              |
| \`GET                                          | PATCH .../numbers/{pnid}/settings/\`                              | read receipts, typing indicator, rich blocks |

```json theme={null}
{
  "phone_number_id": "106540352242922",
  "display_phone_number": "+91 98765 43210",
  "verified_name": "Moti Creations",
  "status": "pending",
  "is_primary": true,
  "activated": false,
  "settings": { "read_receipts": false, "typing_indicator": false, "rich_blocks": false }
}
```

`status` is one of `pending` (connected, silent), `active` (answering),
`paused` (credentials kept, silent) or `disconnected`.

Presence settings are **per number**, not per merchant: one may be a support
line that should show blue ticks and the other a broadcast sender that should
not.

## Two errors worth handling

<AccordionGroup>
  <Accordion title="409 number_claimed">
    Another workspace already holds that `phone_number_id`. Numbers do move between
    businesses, and we help that happen — but as something somebody performs, not as
    a side effect of one merchant pasting an id. Talk to us.
  </Accordion>

  <Accordion title="409 plan_limit">
    The merchant's plan allows no more numbers. The body carries `limit` and `used`.

    A **reconnect** of a number they already hold is never charged against the
    limit — otherwise a merchant at their cap with an expired token would have no
    way to fix it.
  </Accordion>
</AccordionGroup>

## The 24-hour window

WhatsApp only permits free-form messages within 24 hours of the customer's last
inbound message. Outside it, only an approved template may be sent.

Every conversation payload carries the state, so you never have to fail in
order to discover it:

```json theme={null}
"window": { "open": true, "last_inbound_at": "…", "expires_at": "2026-09-08T10:12:00Z" }
```

See [Conversations](/reseller/channels/whatsapp/conversations) for sending and takeover.
