# Update appointment status

Use this endpoint to update the status of an appointment to either 'arrived' or 'no_show'.
- `arrived`: Indicates the patient has arrived at the office.
- `no_show`: Indicates the patient did not show up for their scheduled appointment. Appointment start time should be in the past but no older than 2 days to be marked as no_show.

Endpoint: PUT /v1/appointments/update-status
Version: 1.182
Security: ClientCredentialsFlow, AuthorizationCodeFlow

## Security:

  - `ClientCredentialsFlow` (unknown)
    oauth2 scopes: external.appointment.write

  - `AuthorizationCodeFlow` (unknown)
    oauth2 scopes: external.appointment.write

## Request fields (application/json):

  - `appointment_id` (string, required)
    The Zocdoc ID of the appointment.
    Example: d04b049a-41b1-4aba-9268-d8973cf72cdd

  - `appointment_status` (string, required)
    New status to set for the appointment. Accepted values:
- `arrived`: Patient has arrived at the office.
- `no_show`: Patient did not show up for their appointment.
    Enum: "arrived", "no_show"

## Response 200:

  - `200` (unknown)
    Successful status update

## Response 200 fields (application/json):

  - `request_id` (string, required)
    Unique request identifier for tracing

  - `data` (object, required)
    Data that will be returned upon a sucessful booking request

  - `data.appointment_id` (string, required)
    The Zocdoc ID of the appointment.

  - `data.appointment_status` (string, required)
    The status of the appointment. See [Appointment Status definitions](/guides/glossary).
    Enum: "pending_booking", "confirmed", "booking_failed", "cancelled", "no_show", "pending_reschedule", "rescheduled", "reschedule_failed"

  - `data.developer_patient_id` (string)
    The patient identifier provided by 3P developer. Null if not provided.

## Response 400:

  - `400` (unknown)
    Bad Request

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 403:

  - `403` (unknown)
    Forbidden

## Response 404:

  - `404` (unknown)
    Not found

## Response 409:

  - `409` (unknown)
    Conflict

## Response 409 fields (application/json):

  - `request_id` (string, required)
    Unique request identifier for tracing

  - `error_type` (string, required)
    Enum: "api_error", "invalid_request"

  - `errors` (array, required)

  - `errors.field` (string)

  - `errors.message` (string, required)

## Response 500:

  - `500` (unknown)
    Internal Server Error

