# Mock webhook request

Endpoint: POST /v1/webhook/mock-request
Version: 1.177
Security: ClientCredentialsFlow, AuthorizationCodeFlow

## Request fields (application/json):

  - `webhook_url` (string, required)
    a valid url to receive the mock webhook request

  - `webhook_key` (string, required)
    a valid key for the signature in base64 format

  - `appointment_update_type` (string)
    Enum: "updated", "cancelled", "created"

## Response 200 fields (application/json):

  - `event_type` (string, required)

  - `webhook_timestamp` (string, required)

  - `data` (object, required)

  - `data.data_type` (string, required)

  - `data.appointment_data` (object, required)

  - `data.appointment_data.appointment_id` (string, required)

  - `data.appointment_data.practice_id` (string)
    The Zocdoc id of the practice the appointment belongs to.
Optional. On real webhooks the key is omitted entirely (absent, not `null`)
unless your app client is enabled for the field and the event carries a
practice id, so parse for a key that may be missing. This field is currently
for select partners. If you are unsure if you have access, please contact
Zocdoc.
    Example: pt_abc123-def456_wxyz7890

  - `data.appointment_data.appointment_updated_timestamp` (string, required)

  - `data.appointment_data.appointment_update_type` (string, required)
    Enum: "updated", "cancelled", "created"

  - `data.appointment_data.changed_attributes` (array)
    Array of changed attributes when webhook is triggered due to attribute changes. Each object must contain at least an attribute_path indicating the changed field.

  - `data.appointment_data.changed_attributes.attribute_path` (string, required)
    The path to the changed attribute in dot notation (e.g., "appointment.start_time", "patient.uploaded_attachments")
    Example: appointment.start_time

  - `data.appointment_data.changed_attributes.attachment_type` (string)
    Required when attribute_path is "patient.uploaded_attachments", indicates the type of attachment

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

