/v1/servicesList the Organization's Services
Required API scopes: services.read
Parameters
is_bookable_online
query
boolean
Only return Services that patients can book online.
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 Service objects.
dataarrayrequireditemsobjectcreated_atstring · date-timerequiredAn ISO 8601 timestamp in UTC, with a
Zsuffix. For example,2026-07-01T09:00:00Z.descriptionstring | nullrequiredThe description of the service shown to staff members and patients.
duration_minutesinteger | nullrequiredThe scheduled duration of the service, in minutes.
idstring · uuidrequiredThe resource's unique identifier, formatted as an RFC 4122 version 4 UUID.
is_bookable_onlinebooleanrequiredWhether patients can book this service online in the Patient Portal.
namestringrequiredThe display name of the service.
objectanyrequiredDiscriminator value emitted at
object.service_variantsarrayrequiredThe bookable variants of this service.
itemsobjectclinician_idstring | null · uuidrequiredThe identifier of the clinician assigned to this service variant, when the variant is clinician-specific.
currencystring | nullrequiredThe ISO 4217 currency code used for this service variant. Must be one of
chf,eur,gbp, orusd.descriptionstring | nullrequiredThe description of this service variant.
idstring · uuidrequiredThe resource's unique identifier, formatted as an RFC 4122 version 4 UUID.
linksobjectrequiredURLs to related resources.
clinicianstring | null · urirequiredThe full URL of a related resource.
locationstring | null · urirequiredThe full URL of a related resource.
location_idstring | null · uuidrequiredThe identifier of the location assigned to this service variant, when the variant is location-specific.
net_priceinteger | nullrequiredThe net price of this service variant, before tax, in the currency's minor units.
permits_remote_bookingsbooleanrequiredWhether this service variant can be used for remote bookings.
tax_rateobject | nullrequiredThe tax rate applied to this service. Null when no tax rate is set.
descriptionstring | nullrequiredThe description of when the tax rate applies.
idstring · uuidrequiredThe resource's unique identifier, formatted as an RFC 4122 version 4 UUID.
percentagenumberrequiredThe tax rate as a percentage from 0 to 100.
titlestringrequiredThe display name of the tax rate, for example
20% VAT.
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": "5e6f7081-92a3-4bcd-8ef0-123456789abc",
"object": "service",
"created_at": "2026-01-01T09:00:00Z",
"description": "An initial consultation at the Harley Street Clinic.",
"duration_minutes": 30,
"is_bookable_online": true,
"name": "Initial consultation",
"service_variants":
"id": "6f708192-a3b4-4cde-9f01-23456789abcd",
"clinician_id": "2b3c4d5e-6f70-489a-9bcd-ef0123456789",
"currency": "GBP",
"description": "An initial consultation at the Harley Street Clinic.",
"links":
"clinician": "https://api.carebit.co/v1/clinicians/2b3c4d5e-6f70-489a-9bcd-ef0123456789",
"location": "https://api.carebit.co/v1/locations/3c4d5e6f-7081-49ab-acde-f0123456789a"
},
"location_id": "3c4d5e6f-7081-49ab-acde-f0123456789a",
"net_price": 1,
"permits_remote_bookings": true
}
],
"tax_rate":
"id": "211b60c7-ec1b-41b4-8a29-e855209bc694",
"description": "An initial consultation at the Harley Street Clinic.",
"percentage": 20,
"title": "VAT"
},
"updated_at": "2026-01-01T09:00:00Z"
}
],
"has_more": false,
"next_cursor": "eyJzdGFydF90aW1lIjoiMjAyNi0wMS0wMVQwOTowMDowMFoifQ",
"url": "/v1/services"
}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"
}
}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"
}
}