/v1/invoicesList Invoices
Returns Invoices in the authenticated Organization. All filters are optional. When several filters are supplied, an Invoice must match every filter. Use status and a created_at window to list outstanding Invoices without querying one Patient at a time.
Required API scopes: invoices.read
Parameters
booking_id
query
string
Filter by a Booking in the Organization.
created_at_from
query
string
Inclusive lower bound for
created_atin UTC ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).created_at_to
query
string
Inclusive upper bound for
created_atin UTC ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).patient_id
query
string
Filter by a Patient with an active connection to the Organization.
status
query
string · enum: awaiting_patient | being_processed | canceled | credited_error | credited_goodwill | credited_other | credited_overbilled | credited_service_not_delivered | draft | error | no_payment_required | overdue | overpaid | paid | partially_credited | partially_paid | partially_refunded | partially_written_off | payment_scheduled | refunded | scheduled_for_sending | sent_to_debt_collectors | sent_to_insurance_company | sent_to_other_recipient | unpaid | validated | written_off_nonpayer | written_off_other
Filter by Invoice status. Use a documented status such as
canceled,overdue,paid, orunpaid.limit
query
integer
The maximum number of items to return. Defaults to
25; the maximum is100.starting_after
query
string
Return items after this resource ID. You cannot use this with
cursor.cursor
query
string
The
next_cursorvalue from the previous page. You cannot use this withstarting_after.
Responses
Paginated list of Invoice objects.
dataarrayrequireditemsobjectbooking_idsarrayrequiredThe Bookings associated with the Invoice.
itemsstring · uuid
clinician_idstring | null · uuidrequiredThe Clinician associated with the Invoice.
created_atstring · date-timerequiredAn ISO 8601 timestamp in UTC, with a
Zsuffix. For example,2026-07-01T09:00:00Z.currencystring | nullrequiredThe ISO 4217 currency code.
idstring · uuidrequiredThe resource's unique identifier, formatted as an RFC 4122 version 4 UUID.
invoice_notesstring | nullrequiredThe sanitized HTML notes on the Invoice.
invoice_numberstring | nullrequiredThe Invoice number, unique within the Organization.
line_itemsarrayrequiredThe charges included on the Invoice.
itemsobjectbooking_idstring | null · uuidrequiredThe Booking associated with the line item.
created_atstring · date-timerequiredAn ISO 8601 timestamp in UTC, with a
Zsuffix. For example,2026-07-01T09:00:00Z.currencystring | nullrequiredThe ISO 4217 currency code.
discount_amountinteger | nullrequiredThe discount in minor currency units.
gross_amountinteger | nullrequiredThe gross amount in minor currency units.
idstring · uuidrequiredThe resource's unique identifier, formatted as an RFC 4122 version 4 UUID.
net_amountinteger | nullrequiredThe net amount in minor currency units.
objectanyrequiredDiscriminator value emitted at
object.quantitynumber | nullrequiredThe quantity charged.
service_variant_idstring | null · uuidrequiredThe ServiceVariant associated with the charge.
tax_amountinteger | nullrequiredThe tax amount in minor currency units.
tax_rate_idstring | null · uuidrequiredThe TaxRate applied to the line item.
titlestring | nullrequiredThe line item description.
totalinteger | nullrequiredThe line total in minor currency units.
unit_priceinteger | nullrequiredThe unit price in minor currency units.
updated_atstring · date-timerequiredAn ISO 8601 timestamp in UTC, with a
Zsuffix. For example,2026-07-01T09:00:00Z.
linksobjectrequiredURLs to related resources.
patientstring | null · urirequiredThe full URL of a related resource.
objectanyrequiredDiscriminator value emitted at
object.patient_idstring | null · uuidrequiredThe Patient associated with the Invoice.
payment_urlstring | null · urirequiredThe Patient Portal URL where the Patient can pay this Invoice. Null when the Invoice has no invoice_number.
payor_typestring | nullrequiredThe type of party responsible for payment.
statusstring | nullrequiredThe Invoice's current status.
Allowed values:
awaiting_patient | being_processed | canceled | credited_error | credited_goodwill | credited_other | credited_overbilled | credited_service_not_delivered | draft | error | no_payment_required | overdue | overpaid | paid | partially_credited | partially_paid | partially_refunded | partially_written_off | payment_scheduled | refunded | scheduled_for_sending | sent_to_debt_collectors | sent_to_insurance_company | sent_to_other_recipient | unpaid | validated | written_off_nonpayer | written_off_other | nullsubtotalinteger | nullrequiredThe subtotal in minor currency units.
supply_datestring | null · daterequiredThe date on which the invoiced services were supplied.
tax_amountinteger | nullrequiredThe tax amount in minor currency units.
titlestring | nullrequiredThe Invoice title.
totalintegerrequiredThe total in minor currency units.
total_discount_amountinteger | nullrequiredThe total discount in minor currency units.
total_outstandinginteger | nullrequiredThe outstanding amount in minor currency units.
total_paidinteger | nullrequiredThe paid amount in minor currency units.
updated_atstring · date-timerequiredAn ISO 8601 timestamp in UTC, with a
Zsuffix. For example,2026-07-01T09:00:00Z.
has_morebooleanrequiredWhether another page is available after
next_cursor.next_cursorstring | nullrequiredThe value to pass as
cursorfor the next page. Null on the last page.objectanyrequiredAlways
list.urlstringrequiredThe API path that returned this list.
Example
{
"object": "list",
"data":
"id": "00000000-0000-4000-8000-000000000027",
"object": "invoice",
"booking_ids":
"00000000-0000-4000-8000-000000000001"
],
"clinician_id": "00000000-0000-4000-8000-000000000002",
"created_at": "2026-01-01T09:00:00Z",
"currency": "GBP",
"invoice_notes": "<p>Payment is due within 30 days.</p>",
"invoice_number": "INV-1001",
"line_items":
"id": "1bf0a3b9-0974-4fd3-8bf6-817d28071309",
"object": "invoice_line_item",
"booking_id": "00000000-0000-4000-8000-000000000001",
"created_at": "2026-01-01T09:00:00Z",
"currency": "GBP",
"discount_amount": 1,
"gross_amount": 1,
"net_amount": 1,
"quantity": 1.5,
"service_variant_id": "00000000-0000-4000-8000-000000000006",
"tax_amount": 1,
"tax_rate_id": "00000000-0000-4000-8000-000000000029",
"title": "Dr",
"total": 1,
"unit_price": 1,
"updated_at": "2026-01-01T09:00:00Z"
}
],
"links":
"patient": "https://api.carebit.co/v1/patients/00000000-0000-4000-8000-000000000004"
},
"patient_id": "00000000-0000-4000-8000-000000000004",
"payment_url": "https://files.example.invalid/document.pdf?signature=test",
"payor_type": "insurance_company",
"status": "awaiting_patient",
"subtotal": 1,
"supply_date": "2026-01-01",
"tax_amount": 1,
"title": "Dr",
"total": 1,
"total_discount_amount": 1,
"total_outstanding": 1,
"total_paid": 1,
"updated_at": "2026-01-01T09:00:00Z"
}
],
"has_more": false,
"next_cursor": "eyJzdGFydF90aW1lIjoiMjAyNi0wMS0wMVQwOTowMDowMFoifQ",
"url": "/v1/invoices"
}A filter or pagination parameter is invalid.
errorobjectrequiredThe structured details that describe why the request failed.
codestringrequiredThe machine-readable error code.
errorsarray | nullAdditional errors from a failed validation.
itemsobjectcodestringThe machine-readable code for this validation error.
messagestringA message that explains this validation error.
paramstring | nullThe name of the parameter that caused this validation error, when known.
messagestringrequiredA message that explains the error and how to resolve it.
paramstring | nullThe name of the parameter that caused the error, when known.
typestringrequiredThe high-level category of the error.
Allowed values:
authentication_error | permission_error | invalid_request_error | rate_limit_error | api_error
Example
{
"error":
"code": "resource_missing",
"errors":
"code": "resource_missing",
"message": "The requested resource was not found.",
"param": "patient_id"
}
],
"message": "The requested resource was not found.",
"param": "patient_id",
"type": "authentication_error"
}
}The access token is missing, invalid, expired, or revoked.
errorobjectrequiredThe structured details that describe why the request failed.
codestringrequiredThe machine-readable error code.
errorsarray | nullAdditional errors from a failed validation.
itemsobjectcodestringThe machine-readable code for this validation error.
messagestringA message that explains this validation error.
paramstring | nullThe name of the parameter that caused this validation error, when known.
messagestringrequiredA message that explains the error and how to resolve it.
paramstring | nullThe name of the parameter that caused the error, when known.
typestringrequiredThe high-level category of the error.
Allowed values:
authentication_error | permission_error | invalid_request_error | rate_limit_error | api_error
Example
{
"error":
"code": "resource_missing",
"errors":
"code": "resource_missing",
"message": "The requested resource was not found.",
"param": "patient_id"
}
],
"message": "The requested resource was not found.",
"param": "patient_id",
"type": "authentication_error"
}
}The access token lacks the required scope, or the project is disabled.
errorobjectrequiredThe structured details that describe why the request failed.
codestringrequiredThe machine-readable error code.
errorsarray | nullAdditional errors from a failed validation.
itemsobjectcodestringThe machine-readable code for this validation error.
messagestringA message that explains this validation error.
paramstring | nullThe name of the parameter that caused this validation error, when known.
messagestringrequiredA message that explains the error and how to resolve it.
paramstring | nullThe name of the parameter that caused the error, when known.
typestringrequiredThe high-level category of the error.
Allowed values:
authentication_error | permission_error | invalid_request_error | rate_limit_error | api_error
Example
{
"error":
"code": "resource_missing",
"errors":
"code": "resource_missing",
"message": "The requested resource was not found.",
"param": "patient_id"
}
],
"message": "The requested resource was not found.",
"param": "patient_id",
"type": "authentication_error"
}
}The Booking or Patient was not found in the Organization.
errorobjectrequiredThe structured details that describe why the request failed.
codestringrequiredThe machine-readable error code.
errorsarray | nullAdditional errors from a failed validation.
itemsobjectcodestringThe machine-readable code for this validation error.
messagestringA message that explains this validation error.
paramstring | nullThe name of the parameter that caused this validation error, when known.
messagestringrequiredA message that explains the error and how to resolve it.
paramstring | nullThe name of the parameter that caused the error, when known.
typestringrequiredThe high-level category of the error.
Allowed values:
authentication_error | permission_error | invalid_request_error | rate_limit_error | api_error
Example
{
"error":
"code": "resource_missing",
"errors":
"code": "resource_missing",
"message": "The requested resource was not found.",
"param": "patient_id"
}
],
"message": "The requested resource was not found.",
"param": "patient_id",
"type": "authentication_error"
}
}Too many requests. Retry after the delay indicated by Retry-After.
errorobjectrequiredThe structured details that describe why the request failed.
codestringrequiredThe machine-readable error code.
errorsarray | nullAdditional errors from a failed validation.
itemsobjectcodestringThe machine-readable code for this validation error.
messagestringA message that explains this validation error.
paramstring | nullThe name of the parameter that caused this validation error, when known.
messagestringrequiredA message that explains the error and how to resolve it.
paramstring | nullThe name of the parameter that caused the error, when known.
typestringrequiredThe high-level category of the error.
Allowed values:
authentication_error | permission_error | invalid_request_error | rate_limit_error | api_error
Example
{
"error":
"code": "resource_missing",
"errors":
"code": "resource_missing",
"message": "The requested resource was not found.",
"param": "patient_id"
}
],
"message": "The requested resource was not found.",
"param": "patient_id",
"type": "authentication_error"
}
}