/v1/paymentsList Payments
Returns Payments in the authenticated Organization. Filter optionally by patient_id and by a paid_at window. Each Payment includes invoice_id, patient_id, and nested refunds.
Required API scopes: payments.read
Parameters
patient_id
query
string
Filter by a Patient with an active connection to the Organization.
paid_at_from
query
string
Inclusive lower bound for
paid_atin UTC ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). Payments with a nullpaid_atare omitted when this filter is set.paid_at_to
query
string
Inclusive upper bound for
paid_atin UTC ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). Payments with a nullpaid_atare omitted when this filter is set.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 Payment objects.
dataarrayrequireditemsobjectamountintegerrequiredThe Payment amount in minor currency units.
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.
internal_notesstring | nullrequiredInternal notes recorded with the Payment.
invoice_idstring | null · uuidrequiredThe Invoice this Payment is allocated to, when one is assigned.
linksobjectrequiredURLs to related resources.
patientstring | null · urirequiredThe full URL of a related resource.
objectanyrequiredDiscriminator value emitted at
object.paid_atstring | null · date-timerequiredAn ISO 8601 timestamp in UTC, with a
Zsuffix. For example,2026-07-01T09:00:00Z.patient_idstring | null · uuidrequiredThe Patient associated with the Payment.
payment_method_typestring | nullrequiredHow the Payment was collected.
Allowed values:
bacs_debit | bank_transfer | card | card_external | cash | cheque | klarna | other | standing_order | nullpayor_typestring | nullrequiredThe type of party who made the Payment.
Allowed values:
alternative_payor | insurance_company | location | patient | nullrefundsarrayrequiredRefunds issued against this Payment, if any. Ordered by
created_at.itemsobjectamountintegerrequiredThe refunded amount in minor currency units.
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.
errorstring | nullrequiredThe failure message when the Refund did not complete.
idstring · uuidrequiredThe resource's unique identifier, formatted as an RFC 4122 version 4 UUID.
invoice_idstring | null · uuidrequiredThe Invoice associated with the refunded Payment, when one is assigned.
linksobjectrequiredURLs to related resources.
patientstring | null · urirequiredThe full URL of a related resource.
notesstring | nullrequiredInternal notes recorded with the Refund.
objectanyrequiredDiscriminator value emitted at
object.patient_idstring | null · uuidrequiredThe Patient associated with the Refund.
payment_idstring | null · uuidrequiredThe Payment this Refund was issued against.
reasonstring | nullrequiredThe reason the Refund was issued.
Allowed values:
other | other_party_will_pay | overcharged | overpaid | service_not_delivered | nullrefund_sourcestring | nullrequiredHow the Refund is paid.
Allowed values:
bank_account | deduction_from_balance | payment_account | nullstatusstring | nullrequiredThe Refund's current status.
Allowed values:
canceled | failed | processing | requires_action | succeeded | nullsucceeded_atstring | null · date-timerequiredAn ISO 8601 timestamp in UTC, with a
Zsuffix. For example,2026-07-01T09:00:00Z.updated_atstring · date-timerequiredAn ISO 8601 timestamp in UTC, with a
Zsuffix. For example,2026-07-01T09:00:00Z.
statusstring | nullrequiredThe Payment's current status.
Allowed values:
awaiting_authentication | being_processed | canceled | failed | paid | partially_refunded | refunded | scheduled | unpaid | nullupdated_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": "947c03a0-35f4-43b4-8df0-60c048915a10",
"object": "payment",
"amount": 25000,
"created_at": "2026-01-01T09:00:00Z",
"currency": "GBP",
"internal_notes": "Asked about evening appointments with Dr Smith.",
"invoice_id": "2fc3a636-66c0-4677-86be-032dd32125e1",
"links":
"patient": "https://api.carebit.co/v1/patients/1a2b3c4d-5e6f-4789-8abc-def012345678"
},
"paid_at": "2026-01-01T09:00:00Z",
"patient_id": "1a2b3c4d-5e6f-4789-8abc-def012345678",
"payment_method_type": "bacs_debit",
"payor_type": "insurance_company",
"refunds":
"id": "d3d1640d-4d73-43b4-81cb-c0dd11bb3a12",
"object": "refund",
"amount": 25000,
"created_at": "2026-01-01T09:00:00Z",
"currency": "GBP",
"error": "The destination payment account declined the refund.",
"invoice_id": "2fc3a636-66c0-4677-86be-032dd32125e1",
"links":
"patient": "https://api.carebit.co/v1/patients/1a2b3c4d-5e6f-4789-8abc-def012345678"
},
"notes": "Please confirm the appointment by email.",
"patient_id": "1a2b3c4d-5e6f-4789-8abc-def012345678",
"payment_id": "947c03a0-35f4-43b4-8df0-60c048915a10",
"reason": "other",
"refund_source": "bank_account",
"status": "canceled",
"succeeded_at": "2026-01-01T09:00:00Z",
"updated_at": "2026-01-01T09:00:00Z"
}
],
"status": "awaiting_authentication",
"updated_at": "2026-01-01T09:00:00Z"
}
],
"has_more": false,
"next_cursor": "eyJzdGFydF90aW1lIjoiMjAyNi0wMS0wMVQwOTowMDowMFoifQ",
"url": "/v1/payments"
}A time 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 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"
}
}