/v1/patients/:id/payment_methodsList a Patient's PaymentMethods
Returns stored card PaymentMethods for a Patient with an active connection to the Organization. Requires payment_methods.read. Only PaymentMethods that the Organization has ResourcePermissions to access are included. Expired cards are included and marked with is_expired. Use a PaymentMethod id as payment_method_id on POST /v1/payments to charge that card.
Required API scopes: payment_methods.read
Parameters
id
path · required
string
-
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 PaymentMethod objects.
dataarrayrequireditemsobjectbrandstring | nullrequiredThe card brand, such as
visaormastercard.Allowed values:
amex | bacs_debit | diners | discover | klarna | mastercard | visa | nullcreated_atstring · date-timerequiredAn ISO 8601 timestamp in UTC, with a
Zsuffix. For example,2026-07-01T09:00:00Z.creation_sourcestring | nullrequiredHow this PaymentMethod was stored.
Allowed values:
patient | payment | staff_member | nullexpiry_monthinteger | nullrequiredThe card expiry month, from 1 to 12.
expiry_yearinteger | nullrequiredThe four-digit card expiry year.
idstring · uuidrequiredThe resource's unique identifier, formatted as an RFC 4122 version 4 UUID.
is_defaultbooleanrequiredWhether this is the Patient's default stored card for Organizations that can access it. POST /v1/payments charges this card when
payment_method_idis omitted.is_expiredbooleanrequiredWhether the card expiry date has passed. Expired PaymentMethods cannot be charged.
last_4_digitsstring | nullrequiredThe last four digits of the stored card.
linksobjectrequiredURLs to related resources.
patientstring | null · urirequiredThe full URL of a related resource.
objectanyrequiredDiscriminator value emitted at
object.patient_idstring | null · uuidrequiredThe Patient who owns this PaymentMethod.
payment_method_typestringrequiredThe stored payment method type. Currently always
card.Allowed values:
cardupdated_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-000000000036",
"object": "payment_method",
"brand": "amex",
"created_at": "2026-01-01T09:00:00Z",
"creation_source": "patient",
"expiry_month": 1,
"expiry_year": 1,
"is_default": true,
"is_expired": true,
"last_4_digits": "4242",
"links":
"patient": "https://api.carebit.co/v1/patients/00000000-0000-4000-8000-000000000004"
},
"patient_id": "00000000-0000-4000-8000-000000000004",
"payment_method_type": "card",
"updated_at": "2026-01-01T09:00:00Z"
}
],
"has_more": false,
"next_cursor": "eyJzdGFydF90aW1lIjoiMjAyNi0wMS0wMVQwOTowMDowMFoifQ",
"url": "/v1/patients/00000000-0000-4000-8000-000000000004/payment_methods"
}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"
}
}