# Bring Your Own WABA

> Connect an Edesy number to an existing WhatsApp Business Account by entering your WABA ID, Meta phone number ID, access token and display name.

Source: https://edesy.in/docs/whatsapp-number/getting-started/bring-your-own-waba

If you already manage a WhatsApp Business Account (WABA) in Meta Business Manager, you can connect it by hand. Enter the WABA ID, the Meta phone number ID, a permanent access token and a display name in the **Enable Messaging** wizard. Edesy then runs Meta's voice verification on the number and forwards the call to you.

## What you need

| Field | Where to find it | Wizard label | API field |
|---|---|---|---|
| WhatsApp Business Account ID | Meta Business Manager / WhatsApp Manager | WA Business Account ID | `waba_id` |
| Phone number ID | WhatsApp Manager, phone numbers | Meta Phone Number ID | `meta_phone_id` |
| Permanent access token | A system user token with WhatsApp permissions | Permanent Access Token | `access_token` |
| Display name | Your business name | Business Display Name (max 100 characters) | `display_name` |
| Your phone | A phone you can answer, with country code | Your Phone Number | `forwarding_number` |

The phone number must already be added to your WABA in Meta.

## How it works

1. **Open the wizard.** On **Numbers > My Numbers**, click **Enable Messaging**, then **Advanced: enter credentials manually (BYON)**.
2. **Meta Details.** Enter the WABA ID, phone number ID, access token and display name. Click **Next**.
3. **Phone Number.** Enter the phone where you want to receive Meta's verification call, for example `+919876543210`.
4. **Request Verification Code.** Meta calls your Edesy number and we forward the call to your phone. See [Verification Call Capture](https://edesy.in/docs/whatsapp-number/getting-started/verification-call-capture).
5. **Verify OTP.** Type the 6-digit code you hear. The number shows **Messaging Active**.

## Save a connection with the API

You can also save the connection with the configuration API. A connection saved this way starts with `verification_status: "pending"`; run the wizard's verification step if Meta has not verified the number yet.

`POST https://voice-api.edesy.in/v1/whatsapp/config`

```json
{
  "phone_number_id": "your-edesy-phone-number-uuid",
  "waba_id": "123456789012345",
  "meta_phone_id": "987654321098765",
  "access_token": "your-meta-access-token",
  "display_name": "My Business"
}
```

| Method | Path | Description |
|---|---|---|
| `POST` | `/whatsapp/config` | Save a WhatsApp connection for a number |
| `GET` | `/whatsapp/config` | List connections with `quality_rating`, `messaging_limit`, `verification_status` |
| `GET` | `/whatsapp/config/{phone_number_id}` | One connection |
| `PATCH` | `/whatsapp/config/{phone_number_id}` | Update `display_name`, `business_profile`, `webhook_url` or `is_enabled` |
| `DELETE` | `/whatsapp/config/{phone_number_id}` | Turn messaging off for the number |

`phone_number_id` here is the Edesy phone number ID (a UUID), not the Meta phone number ID.

## FAQ

### When should I use this instead of Embedded Signup?
When you already run a WABA, want to use your own system user token, or the **Connect with Facebook** button is not shown.

### Does the token need to be permanent?
Yes. Use a long-lived system user token. Temporary tokens from the Meta developer console expire and messaging stops.

### Is my access token stored safely?
It is encrypted at rest and never returned by the API.

### Why do I need to enter my own phone number?
Meta verifies the number with a voice call to your Edesy number. We forward that call to the phone you enter so you can hear the code.

### What is the difference between phone_number_id and meta_phone_id?
`phone_number_id` is Edesy's ID for your number. `meta_phone_id` is Meta's phone number ID from WhatsApp Manager.

### Can I see the quality rating and messaging limit?
Yes. Each number shows a quality badge (Healthy, Medium or Low), the messaging limit tier (for example 1K/day) and whether it is verified. The same values are in `GET /v1/whatsapp/config`.
