# Inventory sync

Beyond events, AO periodically syncs your resource inventory (the
things customers have on your platform: projects, services, zones,
databases, …) so agents can reason about what exists, not just what
happened.

Your manifest's `sync` block declares:

- **poll_interval** — a default cadence (Go duration, e.g. `1h`)
  that respects your rate limits. We tighten only with evidence.
- **resources[]** — each with `kind` (what the resource is),
  `endpoint` (your list API), and `pagination`: one of
  `rfc5988_link_next` (Link headers), `page_param`, `page`,
  `cursor`, or `none`.

Requirements for list endpoints: stable ids per resource, a way to
enumerate everything the authorized principal can see, and documented
rate limits (put them in the dossier). Cursor pagination is preferred
for large inventories.
