Skip to content

Returns AppointmentV1 which has been created

Request

Creates a resource from the request body. Validation errors return 400; a successful create returns 201 with the created resource in data.

Security
bearerAuth or oAuthSandbox
Headers
Organization-IDstringrequired

Organization context for the request. Must match the organization authorized by the access token.

Example:1006
Bodyapplication/jsonrequired

Purpose: Schedule an appointment on an operatory.

Required fields: start, operatory, patient, and at least one scheduling reason: other, practiceProcedures, patientProcedures, or visits.

Defaults: Duration defaults to the location's defaultAppointmentLength when omitted. start and computed end must fall on the same calendar day (location time zone).

Idempotency: Not supported.

needsFollowUpboolean
Example:true
followedUpOnstring, (date-time)
Example:"2024-05-09T17:00:00.000Z"
startstring, (date-time)required
Example:"2024-05-09T12:00:00.000Z"
bookingTypestring
Enum:"TREATMENT""RECARE""NEW_PATIENT""EXISTING_PATIENT"
Example:"TREATMENT"
needsPremedicateboolean
Example:true
notestring
Example:"string"
otherstring, <= 90 characters
Example:"string"
bookedOnlineboolean
Example:true
durationinteger, [ 5 .. 1440 ]
Example:1440
asapboolean
Example:true
labCaseDentalLabobject

A reference to a linked model. Includes the id, the type and url at which the model can be accessed. Setting this field to null is going to set all labCase fields to null (labCaseStatus, labCaseDueDate, labCaseNote)

labCaseStatusstring
Enum:"OUTSTANDING""RECEIVED"
Example:"OUTSTANDING"
labCaseDueDatestring, (date-time)
Example:"2024-05-09T17:00:00.000Z"
labCaseNotestring
Example:"string"
patientProceduresArray of objects
practiceProceduresArray of objects
visitsArray of objects
statusstringrequired
Enum:"LATE""HERE""READY""CHAIR""COMPLETED""WILL_CALL""CONFIRMED""UNCONFIRMED""NO_SHOW""BROKEN"
Example:"COMPLETED"
providerobjectrequired

A reference to a linked model. Includes the id, the type, and URL at which the model can be accessed.

otherProviderobject

A reference to a linked model. Includes the id, the type, and URL at which the model can be accessed.

patientobjectrequired

A reference to a linked model. Includes the id, the type, and URL at which the model can be accessed.

operatoryobjectrequired

A reference to a linked model. Includes the id, the type, and URL at which the model can be accessed.

curl -i -X POST \
  https://papidocs.hs1api.com/_mock/publicapi/api-appointment-management/v1/appointments \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Organization-ID: 1006' \
  -d '{}'

Responses

The request was successful, record was created

Bodyapplication/json
dataobject(AppointmentV1)

This Endpoint is being rate limited. More information can be found here: https://portal.hs1api.com/guide

Example:
{ "confirmed": "2024-05-02T16:30:00.000Z", "needsFollowUp": true }
warningsArray of objects(Error)
Example:
[ { "code": "VALIDATION_ERROR", "title": "Validation Failed", "description": "The provided data does not meet the required validation rules.", "source": "request.body" } ]
errorsArray of objects(Error)
Example:
[ { "code": "ERR101", "title": "Example Title" } ]
Response
{ "data": { "id": "1000012109742", "type": "AppointmentV1", "title": "Appointment", "start": "2025-10-04T07:00:00.000Z", "end": "2025-10-04T08:00:00.000Z", "duration": 60, "status": "HERE", "statusId": 2, "note": "~ 2025-10-04 ~ Test Notes !! heheh JEST TEST NOTE!!", "other": "My Other Test Note", "needsFollowUp": true, "needsPremedicate": true, "bookedOnline": true, "asap": false, "created": "2025-10-03T16:56:56.510Z", "lastModified": "2025-10-03T16:56:56.510Z", "confirmed": "2025-10-03T16:56:56.420Z", "followedUpOn": "2025-10-04T00:00:00.000Z", "patient": { … }, "location": { … }, "provider": { … }, "operatory": { … } }, "warnings": [ { … } ] }