Skip to content

Appointment Histories V1 — Developer Guide

Reference: Appointment Histories (V1) Endpoint Documentation


GET — Bulk Appointment Histories

This endpoint retrieves appointment history records belonging to locations within your organization. It is a read-only endpoint — no POST, PUT, or DELETE operations are available.

Always narrow your query with at least one filter. The following filter keys are supported:

FilterSupported Operators
appointment.id==, ->
lastModified>, >=, <, <=

See the endpoint reference for the full up-to-date list of supported parameters.


Important Notes

⚠️ Default Date Filter: If you do not provide a date-limiting filter (such as lastModified), one will be automatically applied to your query.

⚠️ No lastId Pagination: Unlike some other endpoints, /v1/appointmenthistories does not support lastId cursor pagination. Use page and pageSize to paginate through results.

⚠️ Not Recommended: Avoid paginating through large data sets without a filter. Always apply a lastModified or appointment.id filter to limit the result set before paginating.


Paginating with page and pageSize

The /v1/appointmenthistories endpoint uses offset-based pagination via the page and pageSize query parameters.

Step 1 — Initial Request

Send your first request without a page parameter (defaults to page 1):

GET /api/v1/appointmenthistories?pageSize=500&filter=lastModified>2025-02-16T00:00:00.000Z

Step 2 — Subsequent Requests

Increment the page parameter to retrieve the next set of results:

GET /api/v1/appointmenthistories?page=2&pageSize=500&filter=lastModified>2025-02-16T00:00:00.000Z

Step 3 — Repeat

Continue incrementing page until the response returns an empty data array.

Note: pagination.total will not be present in the response when using the page parameter. Use the presence or absence of records in data to determine end-of-results. See Bulk GET — Total Count Behavior for more details.


GET — By ID

Retrieve a single appointment history record by its unique ID:

GET /api/v1/appointmenthistories/{appointmentHistoryId}

The appointmentHistoryId path parameter must be a valid integer (minimum: 1).


Total Count

Use the total count endpoint to determine the number of appointment history records matching your filter criteria before paginating:

GET /api/v1/appointmenthistories/totalcount

See Bulk GET — Total Count Behavior for details on how pagination.total behaves across different request types.


Response Structure

Bulk Response — AppointmentHistoryBulkResponseWrapperV1

A successful 200 response from the bulk GET returns an AppointmentHistoryBulkResponseWrapperV1 object:

FieldTypeDescription
dataarrayArray of AppointmentHistoryV1 objects
warningsarrayNon-fatal warnings (operation still succeeded)
errorsarrayField-level or structural errors
metaobjectPagination metadata — see meta.pagination below

meta.pagination Object

FieldTypeDescription
limitintegerThe page size used for this request
offsetintegerThe record offset applied to this request
totalintegerPresent only when page and lastId are absent. Returns 0 — the total record count is not computed.

Single Record Response — AppointmentHistoryResponseWrapperV1

A successful 200 response from the GET by ID returns an AppointmentHistoryResponseWrapperV1 object:

FieldTypeDescription
dataobjectA single AppointmentHistoryV1 object
warningsarrayNon-fatal warnings (operation still succeeded)
errorsarrayField-level or structural errors

AppointmentHistoryV1 Object

All fields on this object are read-only.

FieldTypeDescription
idintegerUnique appointment history record identifier
typestringResource type identifier
lastModifiedstringTimestamp of the most recent update (ISO 8601)
historyTypestringThe type of history event. Enum: BROKEN, NOSHOW, RESCHEDULED, CANCELED
originalDateTimestringThe original date and time of the appointment before the history event (ISO 8601)
rescheduledDateTimestringThe rescheduled date and time, if applicable (ISO 8601)
insertDateTimestringThe date and time the history record was created (ISO 8601)
appointmentobjectLinked model reference to the associated appointment
patientobjectLinked model reference to the associated patient

Linked Model Object (for appointment and patient)

FieldTypeDescription
idintegerThe unique identifier for the linked model
typestringThe type of the linked model (read-only)
urlstringThe URL at which the linked model can be accessed (read-only)

Errors & Warnings Reference


HTTP Status Code Errors — click to expand

These apply to all Appointment Histories V1 endpoints.


400 — Bad Request

The request body or query parameters are invalid or cannot be processed.


401 — Unauthorized

MessageAuthentication is required and has failed or has not been provided.
WhyNo valid auth token was sent, the token is expired, or the token is malformed.
FixProvide a valid Bearer token in the Authorization header.

403 — Forbidden

MessageThe request is understood, but it has been refused or access is not allowed.
WhyThe authenticated token does not have the required scope. Read operations require model:read.
FixRequest a token that includes the model:read scope.

404 — Not Found

MessageThe requested resource is either missing or does not exist.
WhyNo appointment history record exists for the given appointmentHistoryId within your organization, or the ID is not a valid integer (e.g. 0 or non-numeric).
FixConfirm the appointment history ID is correct and belongs to your organization.

408 — Request Timeout

MessageThe server timed out while processing the request.
WhyThe server took too long to respond, often due to a complex query or high server load.
FixRetry the request. If the issue persists, simplify your query or contact support.

429 — Too Many Requests

MessageRate limit exceeded.
WhyYour client has made too many requests in a short period of time.
FixImplement exponential backoff and retry logic. Reduce request frequency.

500 — Internal Server Error

MessageAn unexpected error occurred.
WhyAn unhandled server-side error occurred.
FixRetry the request. If the issue persists, contact support with the request details and timestamp.