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

# Manage WhatsApp Business Accounts

> Retrieve connected WhatsApp Business Accounts and interpret their operational status.

## What it is

A WhatsApp Business Account (WABA) contains the phone numbers, templates, and
messaging configuration used by a business. Use these APIs to discover the
WABAs connected to your YCloud account and inspect whether each account is
ready for production messaging.

## Before you begin

* Connect or register a WABA with YCloud.
* Store your YCloud API key securely.
* Know whether you need every connected account or one specific WABA ID.

## How it works

1. List WABAs to discover their IDs.
2. Retrieve one WABA when you need its current business, verification, payment,
   restriction, or messaging-limit state.
3. Store the WABA ID with the phone numbers and templates that belong to it.

The API is read-only. Account onboarding and remediation may require action in
YCloud or Meta Business Manager.

## Request

### List WABAs

`GET /whatsapp/businessAccounts`

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl "https://api.ycloud.com/v2/whatsapp/businessAccounts?page=1&limit=20&includeTotal=true" \
  --header "X-API-Key: $YCLOUD_API_KEY"
```

Use `filter.accountReviewStatus` when you need accounts in a specific review
state.

### Retrieve one WABA

`GET /whatsapp/businessAccounts/{id}`

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl https://api.ycloud.com/v2/whatsapp/businessAccounts/WABA_ID \
  --header "X-API-Key: $YCLOUD_API_KEY"
```

## Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "WABA_ID",
  "name": "Example Business",
  "currency": "USD",
  "accountReviewStatus": "APPROVED",
  "businessVerificationStatus": "verified",
  "paymentMethodAttached": true,
  "primaryBusinessLocation": "US",
  "whatsappBusinessManagerMessagingLimit": "TIER_2K"
}
```

| Field | Description |
| - | - |
| `id` | WABA ID used by phone number, template, and Flow APIs. |
| `accountReviewStatus` | Current WhatsApp account review state. |
| `businessVerificationStatus` | Meta business verification state. |
| `paymentMethodAttached` | Whether the account has a payment method attached. |
| `restrictions` | Active restrictions and their expiration times, when present. |
| `whatsappBusinessManagerMessagingLimit` | Current business-level messaging limit. |

## Phone-number registration limits

The list and retrieve endpoints do not return historical values for
`maxPhoneNumbersPerBusiness` or `maxPhoneNumbersPerWaba`. Subscribe to
`whatsapp.business_account.updated` and handle
`updateEvent=BUSINESS_CAPABILITY_UPDATE` to receive the values Meta includes
in each update.

Meta currently reports the two fields in separate updates. Do not treat them
as mutually exclusive: process each field independently and accept both if a
future update includes them together. A value of `0` is valid. Store these
values in your system if you need history or the latest known state.

## Account readiness

Do not treat a successful retrieval as proof that every phone number can send.
Check the WABA state together with the selected phone number registration,
template status, product access, and messaging limits.

## Limits and troubleshooting

* A missing WABA usually means it is not connected to the current YCloud
  account or the ID is incorrect.
* Review, verification, restriction, and payment states are controlled by Meta
  and may change asynchronously.
* Cache stable identifiers, but retrieve status again before diagnosing an
  onboarding or sending problem.

<CardGroup cols={2}>
  <Card title="List WABAs" icon="list" href="/api-reference/whatsapp-business-accounts/list-wabas">
    Inspect pagination, filters, and the complete page schema.
  </Card>

  <Card title="Retrieve a WABA" icon="code" href="/api-reference/whatsapp-business-accounts/retrieve-a-waba">
    Inspect every account status and restriction field.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.