---
title: "Trigger Booking Sync Endpoint"
method: POST
path: "/api/v1/bookings/sync"
tags: ["bookings"]
---

# Trigger Booking Sync Endpoint

`POST /api/v1/bookings/sync`

Queue a reservation import for this tenant.

MANAGE_SETTINGS, not the page's VIEW_REPORTS: this reaches out to the
customer's provider account, so it is an admin action rather than
something every viewer of /bookings can fire.

Returns immediately — progress is read from ``/bookings/sync-state``,
whose ``backfill_started_at``/``backfill_completed_at``/``last_error``
the job stamps per property.

## Request body

- TriggerBookingSyncRequest — ``since_months`` set = historical backfill; None = incremental sync.
  - `since_months` 1 | 3 | 12 | 24, nullable

## Response `200`

Successful Response

- TriggerBookingSyncResponse
  - `status` 'enqueued' | 'already_running', required
  - `job_id` string, nullable

## Other responses

- `422` — Validation Error

## Changes

> 26 revisions in range; 1 not diffed.

- **2026-09-03** `d65b8fefae34` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Change history](https://skmtc.dev/getanana/apis/cleon-api/changes/api/v1/bookings/sync/post.md)

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getanana/apis/cleon-api/revisions/4df7b22a7dae?raw)
