> ## Documentation Index
> Fetch the complete documentation index at: https://docs.interchange.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List sync history

> List historical sync runs for an ad-server-backed inventory source

`GET /api/v2/storefront/inventory-sources/{sourceId}/sync-history`

Returns the timeline of sync runs for an ad-server-backed source. Use this to drill into individual runs after reading the coarse sync blocks on the status snapshot.

## Request

<CodeGroup>
  ```bash curl theme={null}
  curl "https://api.interchange.io/api/v2/storefront/inventory-sources/retail-gam/sync-history?syncType=inventory&limit=50" \
    -H "Authorization: Bearer $SCOPE3_API_KEY"
  ```
</CodeGroup>

## Parameters

| Field      | Type            | Required | Notes                                       |
| ---------- | --------------- | -------- | ------------------------------------------- |
| `sourceId` | string (path)   | Yes      | Storefront-scoped inventory source ID       |
| `syncType` | string (query)  | No       | Filter by sync type (e.g. `inventory`)      |
| `status`   | string (query)  | No       | Filter by run status                        |
| `limit`    | integer (query) | No       | 1–500                                       |
| `cursor`   | string (query)  | No       | Pagination cursor from a prior `nextCursor` |

## Response

```json theme={null}
{
  "runs": [
    {
      "syncId": "sync_01J2",
      "syncType": "inventory",
      "startedAt": "2026-05-02T08:00:00Z",
      "completedAt": "2026-05-02T08:03:00Z",
      "status": "success",
      "durationSeconds": 180,
      "itemsProcessed": 1840,
      "itemsFailed": 0,
      "errorSummary": null,
      "errorCategory": null
    }
  ],
  "count": 1,
  "nextCursor": null
}
```

When `nextCursor` is non-null, pass it back as the `cursor` parameter to walk pages.

## Errors

* `401 UNAUTHORIZED` — missing or invalid API key.
* `404 NOT_FOUND` — no ad-server-backed source with this `sourceId`.

See [Errors](/v2/reference/errors) for the full error contract.

## Related

<CardGroup cols={2}>
  <Card title="Inventory source tasks" href="/v2/storefront/inventory-sources/tasks" icon="list-check">
    All operations
  </Card>

  <Card title="Get status" href="/v2/storefront/inventory-sources/tasks/get-status" icon="heart-pulse">
    Coarse sync rollups
  </Card>

  <Card title="Refresh" href="/v2/storefront/inventory-sources/tasks/refresh" icon="arrows-rotate">
    Force a fresh sync snapshot
  </Card>

  <Card title="Get ad-server connection" href="/v2/storefront/inventory-sources/tasks/get-ad-server-connection" icon="server">
    Connection state
  </Card>
</CardGroup>
