## Get WhatsApp state

`GET https://whatsapp.paaltech.org/api/v1/businesses/{external_id}/whatsapp`

The business's WhatsApp side: overall status, each WhatsApp Business Account with its
health and phone numbers. Never contains a Meta token.

Ability: `connections.read`

### Path parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `external_id` | string | yes | Your own ID for the business (Multi-SKUUL - the tenant ID). Max 191 characters. Pattern `^[A-Za-z0-9._:-]+$` |

### Request

```bash
curl --request GET \
  --url 'https://whatsapp.paaltech.org/api/v1/businesses/presec/whatsapp' \
  --header "Authorization: Bearer $PAALCHAT_TOKEN" \
  --header 'Accept: application/json'
```

### Responses

- **200** - The WhatsApp state.

```json
{
  "data": {
    "status": "connected",
    "wabas": [
      {
        "waba_id": "102290129340398",
        "name": "Presec Legon",
        "status": "connected",
        "currency": "USD",
        "timezone_id": "1",
        "messaging_limit": "TIER_1K",
        "webhook_subscribed": true,
        "health": {
          "has_credential": true,
          "token_expires_at": null,
          "last_health_check_at": "2026-09-30T18:34:27+00:00",
          "last_error": null,
          "last_webhook_at": "2026-09-30T18:51:27+00:00",
          "last_synced_at": "2026-09-30T17:54:27+00:00"
        },
        "phone_numbers": [
          {
            "phone_number_id": "106540352242922",
            "display_phone_number": "+233 30 200 0000",
            "verified_name": "Presec Legon",
            "quality_rating": "GREEN",
            "messaging_limit": "TIER_1K",
            "code_verification_status": "VERIFIED",
            "last_synced_at": "2026-09-30T17:54:27+00:00"
          }
        ]
      }
    ]
  }
}
```

- **401** - unauthenticated - missing, invalid, revoked or expired token

```json
{
  "error": {"code": "unauthenticated", "message": "A valid product token is required."}
}
```

- **403** - missing_ability, product_suspended or product_token_required

```json
{
  "error": {
    "code": "missing_ability",
    "message": "This token does not have the ability this request needs."
  }
}
```

- **404** - not_found - not yours, or does not exist

```json
{"error": {"code": "not_found", "message": "Business not found."}}
```

- **429** - rate_limited - over 300 requests/minute for this product

```json
{
  "error": {
    "code": "rate_limited",
    "message": "Too many requests. Slow down and retry after the Retry-After header."
  }
}
```

