Search bookable offerings
Search active bookable offerings by q (such as electroencefalograma or neurología), exact serviceId or locationId. Pass the known service name instead of loading the whole catalog. Returns a compact page with offering/service ids, agendas, sites, current bookingChecklist, staff guidance (description), patientInstructions, eligibility (the ages a service takes, in completed years on the appointment day; null for any age) and occupationMinutes (how long the patient stays when longer than the appointment, such as a 12-hour study). Check these requirements against known patient facts before slots or booking; explain patient instructions, and ask only for missing required facts. When eligibility is set, ask the patient's date of birth before booking and pass it as patientBirthDate. If exactly one location applies, use it automatically without asking the patient to choose a site; provide its address for arrival or booking confirmation. Never infer age from a name or document type. A listed service does not establish payer coverage. Follow pageInfo.nextCursor only if needed.
- Scopes: any one of
agenda:bookings:read,agenda:bookings:write - Credentials: an API key, a client-credentials token or a person's access token
- Effect: read-only; safe to retry
- Limits: response up to 8 MB
- CLI:
arbol agenda booking-offerings list· MCP tool:agenda_booking_offerings_list
https://api.getarbol.com/v1/agenda/booking-offeringsAuthorization
Query parameters
Returns
200
Successful operation.
400
INVALID_INPUT: The request does not match the published schema.INVALID_APPOINTMENT_INTAKE: Correct the indicated patient or intake fields before booking.INVALID_PATIENT_FIELDS: Correct the indicated patient fields before saving.DURATION_CHANGE_OFF: This service does not allow changing appointment duration.DURATION_NOT_ALLOWED: Select a duration allowed by this service.STUDY_LENGTH_NOT_OFFERED: Select one of the study lengths this agenda offers.INVALID_FILE_KIND: Select a supported attachment kind.INVALID_FILE_NAME: Provide a valid attachment filename.INVALID_ID_TOKEN: Provide a valid identity token.INVALID_JSON: Send a valid JSON document.INVALID_WINDOW: Provide a positive time window within the supported range.UNEXPECTED_QUERY_PARAMETERS: Remove query parameters not declared by this operation.INVALID_BODY: The request body could not be read. Send valid uncompressed JSON.
403
FORBIDDEN: The token does not authorize this operation.ID_TOKEN_MISMATCH: The identity token does not match the authenticated user.NOT_FILE_UPLOADER: Only the uploader may delete this attachment.NOT_NOTE_AUTHOR: Only the author may edit or delete this note.ORIGIN_NOT_ALLOWED: This request origin is not allowed.
409
PAYER_STAFF_ONLY: This payer requires booking by the organization team. Add the patient to the waitlist for review.APPOINTMENT_NOT_REMINDABLE: Only an open future appointment with a patient email can receive a reminder.APPOINTMENT_WITHOUT_PATIENT: Link a patient to this appointment before performing this action.ARBOL_CATALOG_TOO_LARGE: The integration catalog exceeds the supported size. Narrow the catalog before retrying.ARBOL_CONFIGURATION_REQUIRED: Configure the organization integration before using it.NOTIFICATIONS_NOT_SET_UP: Patient emails need the notifications module turned on.SAME_OFFERING: An agenda cannot take its own appointments.SAME_SERVICE: A service cannot be merged into itself.INVALID_HOLD_PAYLOAD: The held slot is malformed.HOLD_NOT_ACTIVE: The hold is no longer active.APPOINTMENT_CLOSED: A cancelled appointment cannot be edited.APPOINTMENT_VERSION_MISMATCH: The appointment changed after it was loaded.APPOINTMENT_NOT_MOVABLE: A closed appointment cannot be moved.SERVICE_CHANGED: The new slot belongs to another service.SCHEDULE_CHANGED: The selected time no longer matches the current schedule.INVALID_AVAILABILITY_WINDOW: Availability windows must be positive and at most 31 days.SERVICE_CAPACITY_EXCEEDED: This service already has as many appointments as it can run at once at that time.RESOURCE_CAPACITY_EXCEEDED: The selected time is no longer available.OVERBOOK_OUT_OF_RANGE: An overbooked appointment must start between yesterday and the booking horizon.OVERBOOK_UNAVAILABLE: No active agenda can take this appointment.STUDY_OVERBOOKING_NOT_ALLOWED: This study has an explicit capacity limit and requires an available ordinary slot.INVALID_SLOT_TOKEN: Request a fresh available slot before booking.BIRTH_DATE_REQUIRED: This service has an age rule: the patient's date of birth is required.AGE_NOT_ELIGIBLE: The patient's age on that day is outside this service's age rule.INTAKE_SETTINGS_VERSION_MISMATCH: Intake settings changed; reload before saving.PAYER_NAME_TAKEN: Another payer already has that name.PAYER_VERSION_MISMATCH: The payer changed; reload before saving.LOCATION_VERSION_MISMATCH: The site changed after it was loaded.PROFILE_VERSION_MISMATCH: The profile changed after it was loaded.PROVIDER_DISABLED: Enable the provider integration before using it.BINDING_VERSION_MISMATCH: Connection changed or is synchronizing; refresh and retry.RESOURCE_VERSION_MISMATCH: The resource changed after it was loaded.SCHEDULE_RULE_AGENDA_MISMATCH: The schedule rule belongs to another agenda.SCHEDULE_RULE_EXPECTED_VERSION_REQUIRED: Expected version is required for an update.SCHEDULE_RULE_VERSION_MISMATCH: The schedule rule changed after it was loaded.SCHEDULE_RULES_CHANGED: The schedule changed after it was loaded.SERVICE_VERSION_MISMATCH: The service changed after it was loaded.OFFERING_VERSION_MISMATCH: The offering changed after it was loaded.SAME_RESOURCE: An agenda cannot take its own appointments.TARGET_INACTIVE: An archived agenda takes no appointments.SLOT_REQUIRED: A hold or slot token is required.ARBOL_SETTINGS_VERSION_MISMATCH: Arbol settings changed.NOTIFICATION_SETTINGS_VERSION_MISMATCH: Notification settings changed; reload before saving.ORGANIZATION_VERSION_MISMATCH: The organization changed; reload before saving.PATIENT_DOCUMENT_TAKEN: Another patient has that document.PATIENT_VERSION_MISMATCH: The patient changed after it was loaded.DAILY_REPORT_TOO_LARGE: Daily report exceeds the supported size; no partial report was generated.REPORT_SETTINGS_VERSION_MISMATCH: Report settings changed; reload before saving.REPORT_NOTIFICATIONS_DISABLED: Enable the notifications module before sending a daily agenda.REPORT_RECIPIENTS_REQUIRED: No eligible organization owner or additional delivery address is available for this agenda.WAITLIST_ENTRY_VERSION_MISMATCH: The waitlist entry changed; reload before saving.REMOVAL_JOB_CONFLICT: A removal is already active, or this idempotency key belongs to another decision.FOLLOWUP_SETTINGS_VERSION_MISMATCH: Follow-up email settings changed; reload before saving.FOLLOWUP_DISABLED: Turn this follow-up email on in the notification settings first.FOLLOWUP_CONSENT_REQUIRED: The patient has not consented to this follow-up email for their current address.PATIENT_EMAIL_REQUIRED: Record the patient's email before this action.PATIENT_ARCHIVED: Restore the patient before this action.RECALL_ALREADY_ACTIVE: The patient already has an active recall for this service.RECALL_MONTH_PASSED: The recall's month has already passed.RECALL_VISIT_REQUIRED: Enter the last visit: there is no attended appointment of this service for the patient.RECALL_VISIT_IN_FUTURE: The last visit must be a past date.RECALL_VERSION_MISMATCH: The recall changed after it was loaded.SLOT_OFFER_NOT_ALLOWED: Only an open waiting-list entry of a registered patient can receive a slot offer.SLOT_OFFER_MISMATCH: The slot belongs to another service or agenda than the entry asks for.SLOT_OFFER_TOO_SOON: The slot starts too soon to hold it for the patient; offer a later one.SLOT_OFFER_ALREADY_OPEN: This waiting-list entry already has an open slot offer.SLOT_OFFER_CLOSED: The slot offer is no longer open.
415
UNSUPPORTED_MEDIA_TYPE: The request content type is not supported.APPLICATION_JSON_REQUIRED: Send the request as application/json.FILE_CONTENT_MISMATCH: The uploaded content does not match its declared file type.UNSUPPORTED_CONTENT_ENCODING: Send an uncompressed request body.UNSUPPORTED_FILE_TYPE: Select a supported attachment file type.
502
OUTCOME_UNKNOWN: The operation may have been applied; check its result before repeating it.
503
UPSTREAM_UNAVAILABLE: The upstream service could not complete the request.ARBOL_RESPONSE_TOO_LARGE: The integration response exceeds the supported size.ARBOL_UNAVAILABLE: The integration service is temporarily unavailable. Retry later.REMOVAL_WORKFLOW_UNAVAILABLE: Durable removal is unavailable here; use the bounded manual removal operations.ARBOL_REFUSED: The integration service rejected this request. Review its configuration.