# Confirm appointment

This endpoint is used to confirm an appointment in pending booking status. Developers must send a valid `appointment_id` as input in the request body.

Endpoint: POST /v1/appointments/confirm
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)
    Example: d04b049a-41b1-4aba-9268-d8973cf72cdd

## Response 200:

  - `200` (unknown)
    Success

## 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 400 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 401:

  - `401` (unknown)
    Unauthorized

## Response 403:

  - `403` (unknown)
    Forbidden

## Response 404:

  - `404` (unknown)
    Not found

## Response 404 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 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)

