Read invoices with a manage key
List your hub's published invoices and read one, with its amounts, payment and refund, for your own accounting or reporting.
In this article3 sections
This page covers reading invoices. Paths are under https://prd-api-manage.caseactive.com/v1/<hub id>. A key sees every published invoice on every case, closed cases included, but never drafts. It can't create, change, refund or pay an invoice.
Calls
| Call | What it does |
|---|---|
GET /invoices | Lists published invoices, newest first |
GET /invoices/<case_id>/<invoice_id> | Reads one invoice |
| Parameter | What it does | Required | Default |
|---|---|---|---|
status | Only invoices with this status: open, paid, void, uncollectible or processing | No | All |
case_id | Only one case's invoices | No | Every case |
limit | How many invoices a page holds, up to 1000 | No | 20 |
start_key | The startKey from the previous page | No | First page |
While more invoices remain, call nextLink, or send startKey as start_key. This list has no filter by date, or by when an invoice last changed. To pick up what changed since your last sync, payments and refunds included, search the case_invoices table with filter_by=updated_on:> followed by the time of your last sync in Unix seconds. A change reaches search a few seconds after it's saved, so start each window a little before the last one ended. Add filter_by=refund_status:=succeeded to find refunds. See Search cases and users with a manage key.
An invoice
Every amount is a whole number of cents, in US dollars: 96300 is $963.00.
{
"data": {
"case_id": "cc-1a2b3c4d5e6f70",
"invoice_id": "invoice::20260915143000_ab12cd34ef5678",
"host_id": "ca-7e6d5c4b3a2f10",
"name": "September legal services",
"description": "Consultation and filing for Jane Sample's claim",
"invoice_number": "INV-1042",
"po_number": "PO-778",
"terms": "Net 15",
"host_ref_id": "acct-1042",
"notes": "Thank you for your business.",
"participants_ids": ["cu-4f1c2a9e8b7d60"],
"user_id": "cu-9d8c7b6a5f4e30",
"status": "paid",
"due_date": "2026-09-30T17:00:00+00:00",
"transactions": {
"transactions": [
{"transaction_type": "charge", "description": "Consultation (hours)", "value": 35000, "quantity": 2, "currency": "usd"},
{"transaction_type": "charge", "description": "Court filing fee", "value": 30000, "quantity": 1, "currency": "usd"}
],
"discount": 0.1,
"tax": 0.07
},
"subtotal": 100000,
"discount": 0.1,
"discount_amount": 10000,
"discounted_amount": 90000,
"tax": 0.07,
"tax_amount": 6300,
"total": 96300,
"payment_gateway": "stripe",
"stripe_payment": {"user_id": "cu-4f1c2a9e8b7d60", "fees": 2863, "stripe_fee": 2823, "application_fee": 40, "net": 93437},
"payment_attempts": [{"datetime": "2026-09-20T14:05:12+00:00", "success": true, "user_id": "cu-4f1c2a9e8b7d60"}],
"completed_on": "2026-09-20T14:05:20+00:00",
"published": 1,
"created_on": "2026-09-15T14:30:00+00:00",
"updated_on": "2026-09-20T14:05:20+00:00"
}
}
| Field | What it holds |
|---|---|
invoice_id, case_id | The invoice, and the case it's on. Read one invoice with both. |
name, description | Its title and description |
invoice_number, po_number, terms, notes, host_ref_id | As typed on the invoice. host_ref_id is its Reference ID. |
participants_ids | The people it's billed to |
user_id | Who created it |
status | open: waiting to be paid. paid: paid online or marked paid. void: cancelled. uncollectible and processing: set by your staff. paid and void are final. |
due_date | When it's due |
transactions | Its lines: each a charge or a credit, with a description, a value in cents and a quantity; and the rates applied |
subtotal | Charges less credits, never below 0 |
discount, discount_amount, discounted_amount | The discount rate as a fraction (0.1 is 10%), the discount in cents, and the subtotal after it |
tax, tax_amount | The tax rate as a fraction (0.07 is 7%), and the tax in cents, on the amount after discount |
total | What's due, in cents |
payment_gateway | stripe when paid online, manual when your staff marked it paid |
stripe_payment | For an online payment: who paid, and the fees and net amount in cents |
payment_attempts | Each try to pay online: when, whether it worked, and why not |
refunded | A refund, if any: its status (pending, succeeded, failed or canceled), amount in cents and reason. The invoice's own status stays paid. |
completed_on | When it was paid or voided |
If a call is refused
| Status | message | Why |
|---|---|---|
| 404 | InvoiceDoesNotExistException | No invoice has that ID on that case, in your hub |
| 400 | InvoiceNotPublishedException | The invoice is a draft |
| 400 | SchemaFieldsException | status isn't one of the five |
| 400 | InvalidStartKeyException | start_key didn't come from this list |
For the error body and the rest of the codes, see Handle API errors and status codes.