---
title: "Read the month's message pool state"
method: GET
path: "/api/usage/messages"
tags: ["Usage"]
---

# Read the month's message pool state

`GET /api/usage/messages`

## Request

- Base URL: `https://api.setluca.com`
- URL: `https://api.setluca.com/api/usage/messages`
- Auth: one of:
  - API key in cookie `luca.session_token`
  - API key in header `x-api-key`
  - HTTP bearer

The month's message pool: allowance, messages used, top-up pack bonus, and what's left. A coach still on trial economics is measured against the trial cap since the trial started, not against the monthly pool.

**API key scopes:** `usage:read`.

## Headers

- `Luca-API-Version` '1'

## Response `200`

ok

- MessagePoolResponse
  - `planTier` string, required
  - `used` integer, required
  - `allowed` integer, required
  - `remaining` integer, required
  - `usagePct` integer, required
  - `warn` boolean, required
  - `exhausted` boolean, required
  - `isTrialCap` boolean

## Other responses

- `401`: unauthorized
- `429`: rate limited
- `500`: internal error
- `503`: service unavailable

---

[API](https://skmtc.dev/setluca/apis/luca-api.md) · [All operations](https://skmtc.dev/setluca/apis/luca-api/llms.txt) · [OpenAPI document](https://skmtc.dev/setluca/apis/luca-api/revisions/90a200e4100b?raw)
