---
title: "Reconcile S3 Sync"
method: POST
path: "/v2/syncs/{sync_id}/reconcile"
tags: ["sync"]
---

# Reconcile S3 Sync

`POST /v2/syncs/{sync_id}/reconcile`

Run an on-demand reconciliation: list the bucket, diff it against Captain's indexed state, then index added/modified objects and apply the deletion policy to removed ones. Returns the deltas. This is the same operation the scheduled cadence runs automatically.

## Path parameters

- `sync_id` string, required

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- S3SyncReconcileResponseDocs
  - `sync_id` string
  - `job_id` string, nullable — Index job spawned for the deltas, if any.
  - `added` integer
  - `modified` integer
  - `removed` integer
  - `unchanged` integer
  - `deleted_documents` integer — Documents removed from the collection (mirror) or archived (archive) this pass.

---

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