---
title: "Fired when a job reaches the `completed` terminal state."
method: POST
path: "jobCompleted"
tags: ["Webhooks"]
---

# Fired when a job reaches the \`completed\` terminal state.

`POST jobCompleted` (webhook)

## Headers

- `OnPage-Event` string, required
- `OnPage-Delivery-Id` string, required
- `OnPage-Timestamp` string, required
- `OnPage-Signature` string, required

## Payload

- union: Outbound delivery body for the `job.completed` event. `callback_metadata` only appears on scan jobs that received one on creation.
  - object
    - `job_id` string, required
    - `api_key_id` string
    - `request_id` string, required
    - `type` 'classify', required
    - `status` 'completed', required
    - `completed_at` string, required
    - `timings` object, required
      - `queue_wait_ms` integer, required
      - `execution_ms` integer, required
      - `total_wall_ms` integer, required
  - object
    - `job_id` string, required
    - `api_key_id` string
    - `request_id` string, required
    - `type` 'scan', required
    - `callback_metadata` object
    - `status` 'completed', required
    - `completed_at` string, required
    - `timings` object, required
      - `queue_wait_ms` integer, required
      - `execution_ms` integer, required
      - `total_wall_ms` integer, required

## Acknowledgement `200`

Ack. Any 2xx is accepted.

---

[API](https://skmtc.dev/on-page/apis/on-page-ai-api.md) - [All operations](https://skmtc.dev/on-page/apis/on-page-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/on-page/apis/on-page-ai-api/revisions/a081e8701c19?raw)
