> For the complete documentation index, see [llms.txt](https://docs.aohwv.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aohwv.dev/core-concepts/sync-types.md).

# Sync Types

AOH Sync uses three sync modes — full, incremental, and delta — each suited to a different point in the sync cycle.

## Full sync

A **full sync** reads every record from a Source System from scratch. AOH Sync fetches the complete dataset, rebuilds the Identity model, and reconciles the result with your Target System.

Full syncs are the most thorough but also the most resource-intensive. They are typically run:

* When you first connect a new Source System or Target System.
* After a configuration change (such as new field mappings or a new Connector).
* On a scheduled cadence you define (for example, nightly or weekly).

{% hint style="info" %}
A full sync is not the same as a "destructive" reset. AOH Sync compares what it finds against what already exists and only applies the changes needed — it does not blindly recreate accounts.
{% endhint %}

## Incremental sync

An **incremental sync** picks up only the records that have changed since the last successful sync run. It uses the timestamp of the previous run as a watermark and fetches forward from there.

Incremental syncs run faster than full syncs and are the default mode for scheduled cycles after the initial full sync. They are suited for keeping your Target System continuously up to date without the overhead of a full re-read.

## Delta sync

A **delta sync** goes one step further: it detects only the specific fields that changed within a record, not just the records themselves. This makes delta syncs the most efficient mode and the one best suited for near-real-time propagation of changes.

Delta syncs are used when your Source System supports change-tracking or delta query feeds. When a delta is available, AOH Sync processes the exact set of changed attributes — reducing both sync time and the number of writes to your Target System.

## Comparison

| Mode            | What it reads                      | When to use                                                             |
| --------------- | ---------------------------------- | ----------------------------------------------------------------------- |
| **Full**        | All records from the source        | Initial load; post-configuration changes; scheduled deep reconciliation |
| **Incremental** | Records changed since the last run | Routine scheduled syncs                                                 |
| **Delta**       | Only the attributes that changed   | Near-real-time updates when the source supports change tracking         |

## SCIM bulk provisioning

For Target Systems that support it, AOH Sync uses **SCIM** (System for Cross-domain Identity Management) to push users and groups in bulk. AOH Sync assembles the SCIM bulk requests from your Connector's attribute mappings and sends them to the Target System in a single operation. SCIM runs as part of provisioning rather than as a named sync mode.

## Triggers

Every sync mode can be started in two ways:

* **Scheduled** — on the schedule you set on the Connector's Schedule tab.
* **Manual** — from the Connectors screen or via the [Public API](/developer-and-api/developer-api.md).

For details on configuring schedules, see [Scheduling & Orchestration](/feature-reference/scheduling-orchestration.md).

## Related

* [How AOH Sync Works](/core-concepts/how-aohsync-works.md)
* [Connectors](/feature-reference/connectors.md)
* [Scheduling & Orchestration](/feature-reference/scheduling-orchestration.md)
* [Sync History](/feature-reference/connectors/logs.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.aohwv.dev/core-concepts/sync-types.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
