Get the credit balance
https://api.norreach.app/v1/creditsThe workspace's credit balance (the exact sum of every grant and charge), its plan and the credits the plan includes per month, and what was spent and granted over from–to (YYYY-MM-DD, UTC; default the last 30 days, at most 366), per action. Credits are whole numbers; exact keeps the fraction a per-minute charge can leave. Owners and admins.
curl -X GET "https://api.norreach.app/v1/credits" \
-H "Authorization: Bearer $NORREACH_API_KEY"{
"object": "credits",
"balance": {
"credits": 18431,
"exact": "18430.5"
},
"plan": "pro",
"monthly_allowance": {
"credits": 25000,
"confirmed": true
},
"usage": {
"from": "2026-10-07",
"to": "2026-11-05",
"spent": {
"credits": 6569,
"exact": "6569"
},
"granted": {
"credits": 25000,
"exact": "25000"
},
"by_action": [
{
"action": "call.minute",
"label": "AI call minutes",
"spent": {
"credits": 4104,
"exact": "4104"
},
"count": 120
},
{
"action": "email.send",
"label": "Emails sent",
"spent": {
"credits": 1830,
"exact": "1830"
},
"count": 1830
}
],
"truncated": false
}
}Authorizations
Bearer authentication: send Authorization: Bearer <key>, with an API key or an OAuth access token. The key needs the scope billing:read. API keys and scopes
Query parameters
First day (YYYY-MM-DD, UTC; default 29 days before to).
Last day (YYYY-MM-DD, UTC; default today).
Response
200application/json— Get the credit balance
What the workspace has now: the sum of every grant and charge.
Show child attributesHide child attributes
Whole credits (rounded half away from zero).
The exact amount as a decimal string — a per-minute charge can hold a fraction of a credit.
The workspace's plan (free, pro, enterprise), or null.
Credits the plan includes per month.
Spent and granted in the period.
Show child attributesHide child attributes
First day (YYYY-MM-DD, UTC).
Last day (YYYY-MM-DD, UTC).
An amount of credits.
Show child attributesHide child attributes
Whole credits (rounded half away from zero).
The exact amount as a decimal string — a per-minute charge can hold a fraction of a credit.
An amount of credits.
Show child attributesHide child attributes
Whole credits (rounded half away from zero).
The exact amount as a decimal string — a per-minute charge can hold a fraction of a credit.
Show child attributesHide child attributes
What was charged (email.send, call.minute …).
An amount of credits.
Show child attributesHide child attributes
Whole credits (rounded half away from zero).
The exact amount as a decimal string — a per-minute charge can hold a fraction of a credit.
How many charges.
true when the period held more charges than were summed (20 000).
Errors
Errors are application/problem+json with a stable code.
| Status | Code | Meaning |
|---|---|---|
| 400 | bad_request | The request couldn't be read. |
| 400 | unknown_field | The request has a field this operation doesn't know. |
| 401 | unauthorized | A valid API key is required. |
| 403 | insufficient_scope | This API key doesn't have the scope this operation needs. |
| 403 | feature_not_enabled | The API isn't switched on for this workspace. |
| 403 | role_forbidden | The key's creator's role can't do this. |
| 422 | validation_failed | The request has invalid fields. |
| 429 | rate_limited | Too many requests. Slow down and try again. |
| 500 | server_error | Something went wrong on our side. |
| 503 | unavailable | The API isn't available right now. Try again shortly. |