Get an invoice

One Stripe invoice of the team, by its Stripe id (in_...).

GEThttps://app.usenotix.dev/api/v1/billing/invoices/{id}

Full access and read only keys can call this. Sending access keys cannot. Key permissions lists the extra rules some calls have.

One Stripe invoice of the team, by its Stripe id (in_...). An invoice of any other Stripe customer answers 404. The link to pay or download it is not returned: open it from the billing page.

Who can call it

A full access or read only key made by someone who is a team admin today (the team owner always is), as the billing page is for admins. A key made by a member answers 403 FORBIDDEN, and so does a key made before Notix recorded who made each key. Send-only and live AI keys answer 403 SCOPE_DENIED; a key limited to one domain answers 403 DOMAIN_PINNED. Every read is recorded in the key's audit log (GET /v1/audit-log).

The team can make 60 billing reads a minute through the API (20 for invoices, which are read from Stripe, within a limit shared by every team); when Notix cannot count them the answer is 503 SERVICE_UNAVAILABLE (try again shortly), never a 429.

Path parameters

idstringrequired

Headers

Authorizationstringrequired

Bearer followed by your API key.

Errors

400

The id is not an invoice id.

403

`SCOPE_DENIED`: a send-only or live AI key. `DOMAIN_PINNED`: a key limited to one domain. `FORBIDDEN`: the key was made by a member who is not a team admin, or before Notix recorded who made each key.

404

No invoice with this id for this team.

429

The team read invoices 20 times in the last minute, or Notix's invoice reads across every team are at their limit.

503

Stripe or the rate counters cannot be reached just now.

Every error has the same shape. See all error codes.

curl -X GET "https://app.usenotix.dev/api/v1/billing/invoices/<id>" \
  -H "Authorization: Bearer $NOTIX_API_KEY"
Response200
{
  "id": "cm1x8f3k20001qz7v5b9d2e4a",
  "number": "string",
  "createdAt": "2026-10-01T10:00:00.000Z",
  "amountDue": 1,
  "amountPaid": 1,
  "currency": "usd",
  "status": "paid"
}
Open in ClaudeOpen in ChatGPT