# Returns the updated AppointmentV1.

Updates the resource identified by the path parameter. Validation errors return **400**; **404** when the resource is missing.

Endpoint: PUT /v1/appointments/{appointmentId}
Version: 191.0.3
Security: bearerAuth, oAuthSandbox

## Security:

  - `bearerAuth` (unknown)
    http bearer JWT

  - `oAuthSandbox` (unknown)
    oauth2

## Path parameters:

  - `appointmentId` (integer, required)
    ID of the appointment to update

## Query parameters:

  - `responseFields` (string)
    A URL-encoded, comma-delimited list of field names to include in the response data. Additionally, the following values are also supported:
ALL - Returns all field names.

## Header parameters:

  - `Organization-ID` (string, required)
    Organization context for the request. Must match the organization authorized by the access token.

## Request body:

  - `application/json` (unknown)
    **Purpose:** Update appointment fields and linked scheduling data.
**Linked-model arrays (`patientProcedures`, `practiceProcedures`, `visits`):** Included arrays **replace** current values entirely. To append, resend existing IDs plus new ones. A procedure cannot appear both on a linked visit and directly on the appointment.
**Idempotency:** Not supported.

## Request fields (application/json):

  - `needsFollowUp` (boolean)
    Example: true

  - `followedUpOn` (string)
    Example: 2024-05-09T17:00:00.000Z

  - `start` (string)
    Example: 2024-05-09T12:00:00.000Z

  - `bookingType` (string)
    Enum: "TREATMENT", "RECARE", "NEW_PATIENT", "EXISTING_PATIENT"

  - `needsPremedicate` (boolean)
    Example: true

  - `note` (string)
    Example: string

  - `other` (string)
    Example: string

  - `bookedOnline` (boolean)
    Example: true

  - `duration` (integer)
    Example: 60

  - `asap` (boolean)
    Example: true

  - `labCaseDentalLab` (object)
    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)

  - `labCaseDentalLab.id` (integer)

  - `labCaseDentalLab.type` (string)
    Example: string

  - `labCaseDentalLab.url` (string)
    Example: string

  - `labCaseStatus` (string)
    Enum: "OUTSTANDING", "RECEIVED"

  - `labCaseDueDate` (string)
    Example: 2024-05-09T17:00:00.000Z

  - `labCaseNote` (string)
    Example: string

  - `patientProcedures` (array)

  - `patientProcedures.id` (integer, required)
    The unique identifier for the linked model.
    Example: 12345

  - `practiceProcedures` (array)

  - `practiceProcedures.id` (integer, required)
    The unique identifier for the linked model.
    Example: 12345

  - `visits` (array)

  - `visits.id` (integer, required)
    The unique identifier for the linked model.
    Example: 12345

## Request examples:

  - `default` (unknown)

## Response 200:

  - `200` (unknown)
    The request was successful

## Response 200 fields (application/json):

  - `data` (object)
    This Endpoint is being rate limited. More information can be found here: https://portal.hs1api.com/guide
    Example: {}

  - `data.confirmed` (string)
    Example: 2024-05-02T16:30:00.000Z

  - `data.needsFollowUp` (boolean)
    Example: true

  - `data.followedUpOn` (string)
    Example: 2024-05-09T17:00:00.000Z

  - `data.start` (string, required)
    Example: 2024-05-09T12:00:00.000Z

  - `data.bookingType` (string)
    Enum: "TREATMENT", "RECARE", "NEW_PATIENT", "EXISTING_PATIENT"

  - `data.needsPremedicate` (boolean)
    Example: true

  - `data.note` (string)
    Example: string

  - `data.other` (string)
    Example: string

  - `data.bookedOnline` (boolean)
    Example: true

  - `data.leftMessage` (string)
    Example: 2024-05-02T00:00:00.000Z

  - `data.duration` (integer)
    Example: 1440

  - `data.asap` (boolean)
    Example: true

  - `data.lastModified` (string)
    Example: 2024-05-09T13:30:00.000Z

  - `data.labCaseDentalLab` (object)
    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)

  - `data.labCaseDentalLab.id` (integer)

  - `data.labCaseDentalLab.type` (string)
    Example: string

  - `data.labCaseDentalLab.url` (string)
    Example: string

  - `data.labCaseStatus` (string)
    Enum: "OUTSTANDING", "RECEIVED"

  - `data.labCaseDueDate` (string)
    Example: 2024-05-09T17:00:00.000Z

  - `data.labCaseNote` (string)
    Example: string

  - `data.patientProcedures` (array)

  - `data.patientProcedures.id` (integer, required)
    The unique identifier for the linked model.
    Example: 12345

  - `data.patientProcedures.type` (string)
    The type of the linked model. This field is read-only.
    Example: ExampleModelType

  - `data.patientProcedures.url` (string, required)
    The URL at which the linked model can be accessed. This field is read-only.
    Example: https://api.example.com/models/12345

  - `data.practiceProcedures` (array)

  - `data.practiceProcedures.id` (integer, required)
    The unique identifier for the linked model.
    Example: 12345

  - `data.practiceProcedures.type` (string)
    The type of the linked model. This field is read-only.
    Example: ExampleModelType

  - `data.practiceProcedures.url` (string, required)
    The URL at which the linked model can be accessed. This field is read-only.
    Example: https://api.example.com/models/12345

  - `data.visits` (array)

  - `data.visits.id` (integer, required)
    The unique identifier for the linked model.
    Example: 12345

  - `data.visits.type` (string)
    The type of the linked model. This field is read-only.
    Example: ExampleModelType

  - `data.visits.url` (string, required)
    The URL at which the linked model can be accessed. This field is read-only.
    Example: https://api.example.com/models/12345

  - `data.id` (integer)

  - `data.end` (string)
    Example: 2024-05-09T13:00:00.000Z

  - `data.created` (string)
    Example: 2024-05-09T13:05:00.000Z

  - `data.status` (string, required)
    Enum: "LATE", "HERE", "READY", "CHAIR", "COMPLETED", "WILL_CALL", "CONFIRMED", "UNCONFIRMED", "NO_SHOW", "BROKEN", "LEFT_MESSAGE", "CHECKOUT", "UNREACHABLE", "CANCELLEDBYOFFICE"

  - `data.statusId` (number)

  - `data.timePattern` (object)
    Used to represent who is providing care to the patient during the appointment.

  - `data.timePattern.duration` (integer)
    Example: 1440

  - `data.timePattern.blocksPerHour` (integer)
    Example: 6

  - `data.timePattern.rows` (array)

  - `data.timePattern.rows.activity` (string)
    Enum: "assistant", "provider", "chair", "none"

  - `data.timePattern.rows.order` (integer)
    Example: 1

  - `data.provider` (object, required)
    A reference to a linked model. Includes the id, the type, and URL at which the model can be accessed.

  - `data.provider.id` (integer, required)
    The unique identifier for the linked model.
    Example: 12345

  - `data.provider.type` (string)
    The type of the linked model. This field is read-only.
    Example: ExampleModelType

  - `data.provider.url` (string, required)
    The URL at which the linked model can be accessed. This field is read-only.
    Example: https://api.example.com/models/12345

  - `data.otherProvider` (object)
    A reference to a linked model. Includes the id, the type, and URL at which the model can be accessed.

  - `data.otherProvider.id` (integer, required)
    The unique identifier for the linked model.
    Example: 12345

  - `data.otherProvider.type` (string)
    The type of the linked model. This field is read-only.
    Example: ExampleModelType

  - `data.otherProvider.url` (string, required)
    The URL at which the linked model can be accessed. This field is read-only.
    Example: https://api.example.com/models/12345

  - `data.patient` (object, required)
    A reference to a linked model. Includes the id, the type, and URL at which the model can be accessed.

  - `data.patient.id` (integer, required)
    The unique identifier for the linked model.
    Example: 12345

  - `data.patient.type` (string)
    The type of the linked model. This field is read-only.
    Example: ExampleModelType

  - `data.patient.url` (string, required)
    The URL at which the linked model can be accessed. This field is read-only.
    Example: https://api.example.com/models/12345

  - `data.operatory` (object, required)
    A reference to a linked model. Includes the id, the type, and URL at which the model can be accessed.

  - `data.operatory.id` (integer, required)
    The unique identifier for the linked model.
    Example: 12345

  - `data.operatory.type` (string)
    The type of the linked model. This field is read-only.
    Example: ExampleModelType

  - `data.operatory.url` (string, required)
    The URL at which the linked model can be accessed. This field is read-only.
    Example: https://api.example.com/models/12345

  - `warnings` (array)

  - `warnings.code` (string)

  - `warnings.title` (string)

  - `warnings.description` (string)

  - `warnings.source` (string)

  - `errors` (array)

## Response 400:

  - `400` (unknown)
    The request was invalid or cannot be processed

## Response 401:

  - `401` (unknown)
    Authentication is required and has failed or has not been provided

## Response 403:

  - `403` (unknown)
    The request is understood, but it has been refused or access is not allowed

## Response 404:

  - `404` (unknown)
    The requested resource is either missing or does not exist

## Response 408:

  - `408` (unknown)
    The server timed out while processing the request

## Response 429:

  - `429` (unknown)
    Rate limit exceeded

## Response 500:

  - `500` (unknown)
    An unexpected error occurred

## Response 200 examples:

  - `default` (unknown)

