---
title: "Mover confirmed the booking."
method: POST
path: "job.booked"
---

# Mover confirmed the booking.

`POST job.booked` (webhook)

Signed: `X-ReelQuote-Signature: t=<unix>,v1=HMAC-SHA256(secret, t + "." + body)`. Verify before trusting. Delivered with two quick retries.

## Payload

- object: Every webhook POST body. Signed: `X-ReelQuote-Signature: t=<unix>,v1=HMAC-SHA256(secret, t + "." + body)` — verify before trusting, reject a `t` older than a few minutes. Delivered with two quick retries; answer 2xx fast and do the work afterwards.
  - `id` string, required: ULID, unique per delivery attempt set — dedupe on it
  - `event` 'job.booked', required
  - `created` integer, required: Unix seconds; the `t` in the signature
  - `livemode` boolean, required: false when the event comes from a sandbox job (a test key). Same envelope, same signature — branch on this.
  - `data` object, required: Per-event payload, documented under each webhook below
    - `job_id` string
    - `move_date` string, date, nullable: YYYY-MM-DD
    - `quote_total_cents` integer: The confirmed price, in integer cents. Currency travels beside it — never assume USD.
    - `currency` string

## Acknowledgement `2XX`

Acknowledged. Answer fast; do the work afterwards.

## Other responses

- `default`: Anything else is retried twice, then recorded as the endpoint's last_error.

---

[API](https://skmtc.dev/reelquoteai/apis/reelquoteai-us-api.md) · [All operations](https://skmtc.dev/reelquoteai/apis/reelquoteai-us-api/llms.txt) · [OpenAPI document](https://skmtc.dev/reelquoteai/apis/reelquoteai-us-api/revisions/56c304752192?raw)
