API reference
Usage API
Reference for GET /usage, which returns your team's email and contact usage against the plan limits.
GET /usage returns how much of your plan the team has used. It is a Sooner endpoint and has no Resend equivalent. Usage belongs to the team, so keys in different projects of one team see the same numbers.
Retrieve usage
GET/usage
Needs a full_access key. There are no parameters.
Shell
curl https://api.sooner.dev/usage \
-H "Authorization: Bearer $SOONER_API_KEY"JSON
{
"object": "usage",
"emails": {
"daily": {
"used": 120,
"limit": 500,
"sent": 120,
"received": 0,
"resets_at": "2026-11-15T00:00:00.000Z"
},
"monthly": {
"used": 1840,
"limit": 5000,
"sent": 1840,
"received": 0,
"resets_at": "2026-12-01T00:00:00.000Z"
}
},
"contacts": {
"used": 312,
"limit": 2000
}
}| Field | Description |
|---|---|
emails.monthly.used | Emails counted this calendar month (UTC). See Rate limits for what counts. |
emails.monthly.limit | The plan's monthly allowance. On paid plans you can send past it and pay overage. |
emails.monthly.resets_at | The start of the next month, in UTC. |
emails.daily.limit | The daily cap. null on paid plans, which have no daily cap. |
emails.daily.used | Emails counted against the daily cap today. 0 on plans without a cap. |
emails.daily.resets_at | The next 00:00 UTC. |
sent | The same number as used. |
received | Always 0. Sooner does not receive email. |
contacts.used | Contacts across all projects in the team. |
contacts.limit | The plan's contact limit, or null when unlimited. |
The Billing page in the dashboard shows the same month-to-date number.
Errors
| Error | When |
|---|---|
restricted_api_key | The key is sending_access. |
rate_limit_exceeded | Too many requests for your plan. |