---
title: "Sync Mailbox Now"
method: POST
path: "/email/mailboxes/{mailbox_id}/sync"
tags: ["email"]
---

# Sync Mailbox Now

`POST /email/mailboxes/{mailbox_id}/sync`

Queue an on-demand sync for one source.

Queued, not run inline. A full scan takes minutes — every thread listed,
messages fetched per changed thread — so running it in the request meant the
client timed out, the transaction rolled back, and nothing at all was
recorded: no threads, no ``last_synced_at``, no ``last_error``. Silent, and
indistinguishable from a broken integration.

## Path parameters

- `mailbox_id` string, uuid, required

## Response `200`

Successful Response

- EmailSyncQueuedRead — Acknowledgement that a sync was queued — not that it finished.
  - `account_id` string, uuid, required
  - `queued` boolean, required
  - `outcome` 'queued' | 'already_running' | 'unavailable', required
  - `detail` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getanana/cleon-api/revisions/c0f54348e251/schema)
