Skip to content
Keptslot
Start free

Read account usage

GET
/v1/account/usage
curl --request GET \
--url https://api.keptslot.com/v1/account/usage \
--header 'Authorization: Bearer <token>'

This endpoint gives what the whole account used in the current billing period, and the caps it is counted against. The caps belong to the account and are shared across its workspaces.

Use this endpoint for the caps. GET /v1/usage reports one workspace’s contribution and has no caps beside it.

The period is given as two dates, not as a month name. An account billed on the 20th has a period that no month names.

The account usage and its caps.

Media type application/json
object
plan
required
string
plan_step
required

The volume step inside the plan. The caps are keyed by plan and step together, so the two travel as a pair.

integer
period_start
required
string format: date
period_end
required
string format: date
bookings_this_month
required

Bookings created in this billing period. There is no maximum beside it and no maximum anywhere else: bookings are counted and are not capped on any plan.

integer
active_workspaces
required
integer
max_active_workspaces
required
integer
staff
required

Active calendars across every live workspace of the account.

integer
max_staff
required
integer
monthly_sms_credits
required
integer
sms_credits_remaining
required

What is left of the monthly credits. It has a floor of 0. A downgrade in the middle of a period can leave the used figure above the new allowance.

integer
sms_topup_balance
required

Bought credits. They are separate from the monthly ones.

integer
extra_locations
required
integer
Example generated
{
"plan": "example",
"plan_step": 1,
"period_start": "2026-04-15",
"period_end": "2026-04-15",
"bookings_this_month": 1,
"active_workspaces": 1,
"max_active_workspaces": 1,
"staff": 1,
"max_staff": 1,
"monthly_sms_credits": 1,
"sms_credits_remaining": 1,
"sms_topup_balance": 1,
"extra_locations": 1
}

The key is missing, malformed or revoked.

Media type application/json
object
error
required
object
type
required

A stable machine-readable code. Match on this.

string
message
required

A sentence for a person. Do not match on this.

string
param

The field that caused the refusal, if one field did.

string
dimension

The plan limit that refused the request. It is present only on a 402, and only for a secret key or an account key. See the errors guide.

string
used

The current count for that dimension. It is present only on a 402, and only for an account key. It is absent when the refusal has no count to report. Absent and zero are different answers.

integer format: int64
limit

The cap for that dimension. It is present only on a 402, and only for an account key. A cap of zero is a real value.

integer format: int64
Example generated
{
"error": {
"type": "example",
"message": "example",
"param": "example",
"dimension": "example",
"used": 1,
"limit": 1
}
}