List invoices

GEThttps://rebaar.in/api/v1/invoicesView as Markdown

The invoices of your company, newest first, optionally of one status.

Headers

HeaderValue
AuthorizationrequiredBearer ck_live_… — your API key from Settings → API keys

Parameters

NameInTypeDescription
limitqueryintegerPage size (1–200). Newest first.minimum 1maximum 200default 50
statusquerystringFilter by invoice status.one of "Draft", "Sent", "Paid", "Overdue", "Partial", "Unpaid", "Cancelled"

Try it

Send runs this call against your API sandbox with a sandbox key (ck_test_…). About the sandbox

curl -X GET 'https://rebaar.in/api/v1/invoices?limit=50&status=Partial' \
  -H 'Authorization: Bearer ck_live_xxxxxxxx_…'
Only sandbox keys (ck_test_…) — make one in Settings → API keys. It reaches your practice company, never your real data. 30 calls a minute.

Responses

200Invoices, newest first.
{
  "object": "list",
  "data": [
    {
      "id": "f1a8c3d5-2e6b-4c9f-a017-3b5d8e2c4f96",
      "number": "INV-2026-0042",
      "status": "Partial",
      "subtotal": 10000000,
      "taxAmount": 1800000,
      "total": 11800000,
      "creditedPaise": 0,
      "debitedPaise": 0,
      "netTotalPaise": 11800000,
      "amountPaid": 5000000,
      "issueDate": "2026-10-01",
      "dueDate": "2026-10-31",
      "paidAt": null,
      "irn": null,
      "createdAt": "2026-10-01T06:10:00.000Z",
      "client": {
        "id": "7d3f1c2a-5b8e-4f0a-9c61-2e4b7a9d0c13",
        "name": "Marigold Estates",
        "gstin": null
      },
      "balanceDuePaise": 6800000,
      "isOverdue": false
    }
  ],
  "hasMore": false
}
401No `Authorization: Bearer …` header was sent. Or: The key is unknown, revoked or expired — or the company cannot use it.
unauthenticated — No `Authorization: Bearer …` header was sent.
{
  "error": "unauthenticated",
  "message": "Authorization: Bearer <api_key> required"
}
invalid_token — The key is unknown, revoked or expired — or the company cannot use it.
{
  "error": "invalid_token",
  "message": "API key not recognised, revoked, or expired"
}
402The company is not on the Scale plan, which includes the API. Or: The subscription is not active (trial over, payment failed, cancelled, paused, locked or closing). `reason` says which.
plan_required — The company is not on the Scale plan, which includes the API.
{
  "error": "plan_required",
  "message": "API access requires the Scale plan. This workspace is on Growth.",
  "currentPlan": "growth",
  "requiredPlan": "scale"
}
access_expired — The subscription is not active (trial over, payment failed, cancelled, paused, locked or closing). `reason` says which.
{
  "error": "access_expired",
  "reason": "payment_failed",
  "message": "Workspace does not currently have an active Scale subscription."
}
403The request came from an IP address that is not on the key's allowlist. Or: The key does not carry the scope this method needs: `read` for GET, `write` for POST, PATCH and DELETE.
ip_not_allowed — The request came from an IP address that is not on the key's allowlist.
{
  "error": "ip_not_allowed",
  "message": "Source IP 203.0.113.7 is not on the key's allowlist."
}
insufficient_scope — The key does not carry the scope this method needs: `read` for GET, `write` for POST, PATCH and DELETE.
{
  "error": "insufficient_scope",
  "message": "This API key does not have the 'write' scope.",
  "required": "write",
  "granted": [
    "read"
  ]
}
429More than 120 requests in a minute with this key (30 with a sandbox key).
rate_limited — More than 120 requests in a minute with this key (30 with a sandbox key).
{
  "error": "Too many requests. Please try again later."
}
500Something failed on our side.
internal — Something failed on our side.
{
  "error": "internal"
}

Errors

Errors every call can return
StatusCodeMeaningWhat to do
401unauthenticatedNo `Authorization: Bearer …` header was sent.Send your API key as `Authorization: Bearer ck_live_…` on every request.
401invalid_tokenThe key is unknown, revoked or expired — or the company cannot use it.Check you copied the whole key. Make a new one in Settings → API keys if it was revoked or has expired.
403ip_not_allowedThe request came from an IP address that is not on the key's allowlist.Call from an allowed address, or change the key's IP allowlist in Settings → API keys.
402plan_requiredThe company is not on the Scale plan, which includes the API.The Owner moves the company to Scale in Settings → Billing.
402access_expiredThe subscription is not active (trial over, payment failed, cancelled, paused, locked or closing). `reason` says which.The Owner pays or renews in Settings → Billing; calls work again at once.
429—More than 120 requests in a minute with this key (30 with a sandbox key).Wait the number of seconds in the `Retry-After` header. Every reply carries `RateLimit-Remaining`, so you can slow down before this happens.
403insufficient_scopeThe key does not carry the scope this method needs: `read` for GET, `write` for POST, PATCH and DELETE.Make a key with the scope you need in Settings → API keys.
500internalSomething failed on our side.Retry with exponential backoff. If it keeps happening, email [email protected] with the time of the call.