Docs
Credits

List what actions cost

GEThttps://api.norreach.app/v1/credits/prices

What each billable action costs in credits, per action, minute or segment — the workspace's own rate where one is set, the default otherwise. confirmed: false marks a default rate that isn't confirmed for billing yet. Rates are set by NorReach, not through the API. Owners and admins.

billing:readRole must allow: billing.viewOperation id: list_credit_prices
GET/credits/prices
curl -X GET "https://api.norreach.app/v1/credits/prices" \
  -H "Authorization: Bearer $NORREACH_API_KEY"
List what actions cost
{
  "object": "list",
  "data": [
    {
      "object": "credit_price",
      "action": "email.send",
      "label": "Emails sent",
      "price": {
        "credits": 1,
        "exact": "1"
      },
      "unit": "per_action",
      "confirmed": true,
      "workspace_rate": false
    },
    {
      "object": "credit_price",
      "action": "call.minute",
      "label": "AI call minutes",
      "price": {
        "credits": 12,
        "exact": "12"
      },
      "unit": "per_minute",
      "confirmed": true,
      "workspace_rate": false
    }
  ],
  "has_more": false,
  "next_cursor": null,
  "any_unconfirmed": false
}

Authorizations

Authorizationstringheaderrequired

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

Response

200application/json— List what actions cost

object"list"required
dataobject[]required
Show child attributes
data[].object"credit_price"required
data[].actionstringrequired
data[].labelstringrequired
data[].priceobjectrequired

Credits per unit.

Show child attributes
data[].price.creditsintegerrequired

Whole credits (rounded half away from zero).

data[].price.exactstringrequired

The exact amount as a decimal string — a per-minute charge can hold a fraction of a credit.

data[].unitenumrequired
One of:per_actionper_minuteper_segment
data[].confirmedbooleanrequired

false = a default rate, not confirmed for billing yet.

data[].workspace_ratebooleanrequired

true = a rate set for this workspace (instead of the default).

has_morefalserequired
next_cursornullrequired
any_unconfirmedbooleanrequired

Errors

Errors are application/problem+json with a stable code.

StatusCodeMeaning
400bad_requestThe request couldn't be read.
400unknown_fieldThe request has a field this operation doesn't know.
401unauthorizedA valid API key is required.
403insufficient_scopeThis API key doesn't have the scope this operation needs.
403feature_not_enabledThe API isn't switched on for this workspace.
403role_forbiddenThe key's creator's role can't do this.
429rate_limitedToo many requests. Slow down and try again.
500server_errorSomething went wrong on our side.
503unavailableThe API isn't available right now. Try again shortly.