## Get provider health

`GET https://whatsapp.paaltech.org/api/v1/providers`

Whether each provider works right now - Meta (WhatsApp), Arkesel and Hubtel (SMS), Resend (email):
`healthy`, `degraded` (more than a fifth of the last 15 minutes' sends failed) or
`unavailable` (calls paused after failures, or not set up). Notifications skip
unavailable channels.

Ability: `any`

### Request

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

### Responses

- **200** - Health per provider.

```json
{
  "data": {
    "meta": {"channel": "whatsapp", "status": "healthy", "failure_rate": 1.2},
    "arkesel": {"channel": "sms", "status": "healthy", "failure_rate": 0.5},
    "hubtel": {"channel": "sms", "status": "healthy", "failure_rate": null},
    "resend": {"channel": "email", "status": "unavailable", "failure_rate": null}
  }
}
```

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

```json
{
  "error": {"code": "unauthenticated", "message": "A valid product token 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."
  }
}
```

