---
title: "Finish connecting a WhatsApp number as an inbox, with the WhatsApp Business account Meta's Embedded Signup returned. Banger registers the number as a WhatsApp sender in the workspace's Twilio sub-account; the inbox is pending until the sender is ONLINE."
method: POST
path: "/v1/workspaces/{workspaceId}/mailboxes/whatsapp"
---

# Finish connecting a WhatsApp number as an inbox, with the WhatsApp Business account Meta's Embedded Signup returned. Banger registers the number as a WhatsApp sender in the workspace's Twilio sub-account; the inbox is pending until the sender is ONLINE.

`POST /v1/workspaces/{workspaceId}/mailboxes/whatsapp`

## Request

- Base URL: `https://api.bangermail.com`
- URL: `https://api.bangermail.com/v1/workspaces/{workspaceId}/mailboxes/whatsapp`
- Auth: HTTP bearer

## Request body

- object
  - `waba_id` string, required
  - `phone_number` string, required: The number the business chose in the signup
  - `display_name` string: The name WhatsApp shows; required for a number from Banger.

## Response `201`

The WhatsApp inbox.

- object
  - `data` Mailbox, required
    - `id` string, uuid, required
    - `workspace_id` string, uuid, required
    - `product_id` string, uuid, nullable: The product (project) the mailbox belongs to. Clients group mailboxes and build web-app links with it.
    - `domain_id` string, uuid, nullable
    - `address` string, required: The email address, or for an SMS inbox its phone number in E.164 (+15551234567).
    - `display_name` string, required
    - `provider` 'gmail' | 'smtp' | 'twilio', required
    - `channel` 'email' | 'sms' | 'whatsapp': email; sms for an SMS inbox on Twilio; whatsapp for a WhatsApp inbox, a WhatsApp sender on Twilio for the business's WhatsApp Business account.
    - `sms_verification` object, nullable: A number from Banger, carriers' answer on its toll-free verification. It sends once approved; null for every other mailbox.
      - `status` 'pending_review' | 'in_review' | 'approved' | 'rejected'
      - `reason` string, nullable: Carriers' reason when rejected.
    - `status` 'pending' | 'active' | 'suspended' | 'reconnect_required' | 'disabled', required
    - `status_reason` string, nullable
    - `suspended_at` string, nullable
    - `mailbox_kind` 'domain' | 'starter', required

## Other responses

- `400`: The signup didn't finish
- `402`: WhatsApp comes with a paid plan.
- `409`: The number is already an inbox in this workspace.
- `503`: WhatsApp isn't available yet.

---

[API](https://skmtc.dev/bangermail/apis/banger-api.md) · [All operations](https://skmtc.dev/bangermail/apis/banger-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bangermail/apis/banger-api/revisions/a149909267f9?raw)
