## Get Meta usage

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

The business's WhatsApp usage as Meta priced it, for a month (default this one): per
sending number and pricing category, billable and free messages and an **estimated**
cost from Meta's published rate card (list rates, before volume discounts).
`reconciliation` shows the month compared with Meta's own analytics once checked; where
they differ, Meta's figures win. Meta bills the business's WhatsApp Business Account
directly - these amounts never appear on a PaalChat invoice.

Ability: `messages.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._:-]+$` |

### Query parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `month` | string | no | YYYY-MM. Pattern `^[0-9]{4}-[0-9]{2}$` |

### Request

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

### Responses

- **200** - The month.

```json
{
  "data": {
    "month": "2026-10",
    "notice": "Estimated - Meta bills your WhatsApp Business Account directly.",
    "lines": [
      {
        "phone_number_id": "106540352242922",
        "category": "marketing",
        "billable": 412,
        "free": 0,
        "estimated_cost": "9.270000",
        "currency": "USD"
      },
      {
        "phone_number_id": "106540352242922",
        "category": "utility",
        "billable": 1290,
        "free": 57,
        "estimated_cost": "5.160000",
        "currency": "USD"
      }
    ],
    "reconciliation": []
  }
}
```

- **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."}}
```

- **422** - validation_failed - fields are invalid; see errors.

```json
{
  "error": {
    "code": "validation_failed",
    "message": "The external id field format is invalid. (and 1 more error)"
  },
  "errors": {
    "external_id": ["The external id field format is invalid."],
    "name": ["The name field is required."]
  }
}
```

- **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."
  }
}
```

