# Webhooks

## Domain Types

### Batch Cancelled Webhook Event

- `batch_cancelled_webhook_event: object { id, created_at, data, 2 more }`

  Sent when a batch API request has been cancelled.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the batch API request was cancelled.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the batch API request.

  - `type: "batch.cancelled"`

    The type of the event. Always `batch.cancelled`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Batch Completed Webhook Event

- `batch_completed_webhook_event: object { id, created_at, data, 2 more }`

  Sent when a batch API request has been completed.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the batch API request was completed.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the batch API request.

  - `type: "batch.completed"`

    The type of the event. Always `batch.completed`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Batch Expired Webhook Event

- `batch_expired_webhook_event: object { id, created_at, data, 2 more }`

  Sent when a batch API request has expired.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the batch API request expired.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the batch API request.

  - `type: "batch.expired"`

    The type of the event. Always `batch.expired`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Batch Failed Webhook Event

- `batch_failed_webhook_event: object { id, created_at, data, 2 more }`

  Sent when a batch API request has failed.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the batch API request failed.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the batch API request.

  - `type: "batch.failed"`

    The type of the event. Always `batch.failed`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Eval Run Canceled Webhook Event

- `eval_run_canceled_webhook_event: object { id, created_at, data, 2 more }`

  Sent when an eval run has been canceled.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the eval run was canceled.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the eval run.

  - `type: "eval.run.canceled"`

    The type of the event. Always `eval.run.canceled`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Eval Run Failed Webhook Event

- `eval_run_failed_webhook_event: object { id, created_at, data, 2 more }`

  Sent when an eval run has failed.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the eval run failed.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the eval run.

  - `type: "eval.run.failed"`

    The type of the event. Always `eval.run.failed`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Eval Run Succeeded Webhook Event

- `eval_run_succeeded_webhook_event: object { id, created_at, data, 2 more }`

  Sent when an eval run has succeeded.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the eval run succeeded.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the eval run.

  - `type: "eval.run.succeeded"`

    The type of the event. Always `eval.run.succeeded`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Fine Tuning Job Cancelled Webhook Event

- `fine_tuning_job_cancelled_webhook_event: object { id, created_at, data, 2 more }`

  Sent when a fine-tuning job has been cancelled.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the fine-tuning job was cancelled.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the fine-tuning job.

  - `type: "fine_tuning.job.cancelled"`

    The type of the event. Always `fine_tuning.job.cancelled`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Fine Tuning Job Failed Webhook Event

- `fine_tuning_job_failed_webhook_event: object { id, created_at, data, 2 more }`

  Sent when a fine-tuning job has failed.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the fine-tuning job failed.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the fine-tuning job.

  - `type: "fine_tuning.job.failed"`

    The type of the event. Always `fine_tuning.job.failed`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Fine Tuning Job Succeeded Webhook Event

- `fine_tuning_job_succeeded_webhook_event: object { id, created_at, data, 2 more }`

  Sent when a fine-tuning job has succeeded.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the fine-tuning job succeeded.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the fine-tuning job.

  - `type: "fine_tuning.job.succeeded"`

    The type of the event. Always `fine_tuning.job.succeeded`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Realtime Call Incoming Webhook Event

- `realtime_call_incoming_webhook_event: object { id, created_at, data, 2 more }`

  Sent when Realtime API Receives a incoming SIP call.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the model response was completed.

  - `data: object { call_id, sip_headers }`

    Event data payload.

    - `call_id: string`

      The unique ID of this call.

    - `sip_headers: array of object { name, value }`

      Headers from the SIP Invite.

      - `name: string`

        Name of the SIP Header.

      - `value: string`

        Value of the SIP Header.

  - `type: "realtime.call.incoming"`

    The type of the event. Always `realtime.call.incoming`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Response Cancelled Webhook Event

- `response_cancelled_webhook_event: object { id, created_at, data, 2 more }`

  Sent when a background response has been cancelled.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the model response was cancelled.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the model response.

  - `type: "response.cancelled"`

    The type of the event. Always `response.cancelled`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Response Completed Webhook Event

- `response_completed_webhook_event: object { id, created_at, data, 2 more }`

  Sent when a background response has been completed.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the model response was completed.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the model response.

  - `type: "response.completed"`

    The type of the event. Always `response.completed`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Response Failed Webhook Event

- `response_failed_webhook_event: object { id, created_at, data, 2 more }`

  Sent when a background response has failed.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the model response failed.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the model response.

  - `type: "response.failed"`

    The type of the event. Always `response.failed`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Response Incomplete Webhook Event

- `response_incomplete_webhook_event: object { id, created_at, data, 2 more }`

  Sent when a background response has been interrupted.

  - `id: string`

    The unique ID of the event.

  - `created_at: number`

    The Unix timestamp (in seconds) of when the model response was interrupted.

  - `data: object { id }`

    Event data payload.

    - `id: string`

      The unique ID of the model response.

  - `type: "response.incomplete"`

    The type of the event. Always `response.incomplete`.

  - `object: optional "event"`

    The object of the event. Always `event`.

    - `"event"`

### Unwrap Webhook Event

- `unwrap_webhook_event: BatchCancelledWebhookEvent or BatchCompletedWebhookEvent or BatchExpiredWebhookEvent or 12 more`

  Sent when a batch API request has been cancelled.

  - `batch_cancelled_webhook_event: object { id, created_at, data, 2 more }`

    Sent when a batch API request has been cancelled.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the batch API request was cancelled.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the batch API request.

    - `type: "batch.cancelled"`

      The type of the event. Always `batch.cancelled`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `batch_completed_webhook_event: object { id, created_at, data, 2 more }`

    Sent when a batch API request has been completed.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the batch API request was completed.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the batch API request.

    - `type: "batch.completed"`

      The type of the event. Always `batch.completed`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `batch_expired_webhook_event: object { id, created_at, data, 2 more }`

    Sent when a batch API request has expired.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the batch API request expired.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the batch API request.

    - `type: "batch.expired"`

      The type of the event. Always `batch.expired`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `batch_failed_webhook_event: object { id, created_at, data, 2 more }`

    Sent when a batch API request has failed.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the batch API request failed.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the batch API request.

    - `type: "batch.failed"`

      The type of the event. Always `batch.failed`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `eval_run_canceled_webhook_event: object { id, created_at, data, 2 more }`

    Sent when an eval run has been canceled.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the eval run was canceled.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the eval run.

    - `type: "eval.run.canceled"`

      The type of the event. Always `eval.run.canceled`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `eval_run_failed_webhook_event: object { id, created_at, data, 2 more }`

    Sent when an eval run has failed.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the eval run failed.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the eval run.

    - `type: "eval.run.failed"`

      The type of the event. Always `eval.run.failed`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `eval_run_succeeded_webhook_event: object { id, created_at, data, 2 more }`

    Sent when an eval run has succeeded.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the eval run succeeded.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the eval run.

    - `type: "eval.run.succeeded"`

      The type of the event. Always `eval.run.succeeded`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `fine_tuning_job_cancelled_webhook_event: object { id, created_at, data, 2 more }`

    Sent when a fine-tuning job has been cancelled.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the fine-tuning job was cancelled.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the fine-tuning job.

    - `type: "fine_tuning.job.cancelled"`

      The type of the event. Always `fine_tuning.job.cancelled`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `fine_tuning_job_failed_webhook_event: object { id, created_at, data, 2 more }`

    Sent when a fine-tuning job has failed.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the fine-tuning job failed.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the fine-tuning job.

    - `type: "fine_tuning.job.failed"`

      The type of the event. Always `fine_tuning.job.failed`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `fine_tuning_job_succeeded_webhook_event: object { id, created_at, data, 2 more }`

    Sent when a fine-tuning job has succeeded.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the fine-tuning job succeeded.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the fine-tuning job.

    - `type: "fine_tuning.job.succeeded"`

      The type of the event. Always `fine_tuning.job.succeeded`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `realtime_call_incoming_webhook_event: object { id, created_at, data, 2 more }`

    Sent when Realtime API Receives a incoming SIP call.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the model response was completed.

    - `data: object { call_id, sip_headers }`

      Event data payload.

      - `call_id: string`

        The unique ID of this call.

      - `sip_headers: array of object { name, value }`

        Headers from the SIP Invite.

        - `name: string`

          Name of the SIP Header.

        - `value: string`

          Value of the SIP Header.

    - `type: "realtime.call.incoming"`

      The type of the event. Always `realtime.call.incoming`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `response_cancelled_webhook_event: object { id, created_at, data, 2 more }`

    Sent when a background response has been cancelled.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the model response was cancelled.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the model response.

    - `type: "response.cancelled"`

      The type of the event. Always `response.cancelled`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `response_completed_webhook_event: object { id, created_at, data, 2 more }`

    Sent when a background response has been completed.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the model response was completed.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the model response.

    - `type: "response.completed"`

      The type of the event. Always `response.completed`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `response_failed_webhook_event: object { id, created_at, data, 2 more }`

    Sent when a background response has failed.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the model response failed.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the model response.

    - `type: "response.failed"`

      The type of the event. Always `response.failed`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`

  - `response_incomplete_webhook_event: object { id, created_at, data, 2 more }`

    Sent when a background response has been interrupted.

    - `id: string`

      The unique ID of the event.

    - `created_at: number`

      The Unix timestamp (in seconds) of when the model response was interrupted.

    - `data: object { id }`

      Event data payload.

      - `id: string`

        The unique ID of the model response.

    - `type: "response.incomplete"`

      The type of the event. Always `response.incomplete`.

    - `object: optional "event"`

      The object of the event. Always `event`.

      - `"event"`
