# Message Usage (GET)

Get today's message usage against your plan's [daily limit](https://info.pocketalert.app/features/daily-limits.md).

## Endpoint

```
GET https://api.pocketalert.app/v1/messages/usage
```

## Authentication

> **Info: Required**
>
> Include one of these headers in your request:
> - `Token: <your-api-key>` — Get it from [API Keys](https://pocketalert.app/account/apikeys)
> - `Authorization: Bearer <jwt-token>` — From [Login](https://info.pocketalert.app/api/user/login.md)

## Request

### Example Request

**cURL**

```bash
curl -X GET "https://api.pocketalert.app/v1/messages/usage" \
  -H "Token: your-api-key"
```

**JavaScript**

```javascript
const response = await fetch('https://api.pocketalert.app/v1/messages/usage', {
  headers: { 'Token': 'your-api-key' }
});
const usage = await response.json();
```

**Python**

```python
import requests

response = requests.get(
    'https://api.pocketalert.app/v1/messages/usage',
    headers={'Token': 'your-api-key'}
)
print(response.json())
```

**PHP**

```php
$response = Http::withHeaders([
    'Token' => 'your-api-key',
])->get('https://api.pocketalert.app/v1/messages/usage');

return $response->json();
```

## Response

### Success Response

> **Tip: 200 OK**
>
> Returns today's usage. The day is the UTC day.

| Field | Type | Description |
|-------|------|-------------|
| `used` | integer | Messages accepted today |
| `limit` | integer \| null | Messages allowed per day, `null` on unlimited plans |
| `unlimited` | boolean | `true` when the plan has no daily limit |
| `rejected` | integer | Requests refused today because the limit was reached |
| `resets_at` | string | Next reset, 00:00 UTC, in RFC3339 |

```json
{
  "used": 42,
  "limit": 50,
  "unlimited": false,
  "rejected": 0,
  "resets_at": "2026-09-22T00:00:00Z"
}
```

On an unlimited plan:

```json
{
  "used": 1280,
  "limit": null,
  "unlimited": true,
  "rejected": 0,
  "resets_at": "2026-09-22T00:00:00Z"
}
```

### Error Responses

| Status | Description |
|:------:|-------------|
| `401` | Unauthorized — Invalid or missing token |

> **Tip: Use Case**
>
> Check `used` against `limit` before a burst of alerts, or show remaining quota in your own dashboard. The same numbers come back on every [Create Message](https://info.pocketalert.app/api/messages/create.md) response as `X-PA-Daily-*` headers.
