# HunterAI Integration > Connect your CRM to HunterAI by implementing a small, read-only pull API. ## Docs - [Authentication](https://integration.hunterai.uz/authentication.md): A long-lived, read-only Bearer token is what the adapter implements. OAuth 2.0 is available on request but not built today. - [Changelog](https://integration.hunterai.uz/changelog.md): Version history of the HunterAI CRM integration spec. - [Data model](https://integration.hunterai.uz/concepts/data-model.md): What HunterAI derives from each entity, and how your source IDs, timestamps, and custom fields land in the canonical model. - [How sync works](https://integration.hunterai.uz/concepts/how-sync-works.md): A one-directional pull model: full sync, then incremental by updated_since, terminated by has_more and driven by a per-entity watermark. - [GET /calls](https://integration.hunterai.uz/endpoints/calls.md): Optional. Call records — call volume and connect rate per manager. Incremental on updated_at; return 404 if you don't implement it and the sync still succeeds. - [GET /contacts](https://integration.hunterai.uz/endpoints/contacts.md): Required. The people behind your leads. Incremental on updated_at, ordered ascending; contacts carry no deletion signal at all. - [GET /events](https://integration.hunterai.uz/endpoints/events.md): Optional. Lead history — stage moves, notes, and other timeline events per lead. Incremental; return 404 if you don't implement it and the sync still succeeds. - [GET /leads](https://integration.hunterai.uz/endpoints/leads.md): Leads — the core entity behind every revenue and conversion metric. Incremental, ordered by updated_at ascending; won/lost comes from the stage, not the lead. - [GET /pipelines](https://integration.hunterai.uz/endpoints/pipelines.md): Required. Your pipelines with their stages nested inside. Stages carry the won/lost classification every lead metric depends on. - [GET /tasks](https://integration.hunterai.uz/endpoints/tasks.md): Optional. Manager tasks — the basis for discipline metrics. Incremental on updated_at; return 404 if you don't implement it and the sync still succeeds. - [GET /users](https://integration.hunterai.uz/endpoints/users.md): Required. Your CRM managers — the roster HunterAI attributes every lead, task, and call to. Fetched in full on every sync, not incremental. - [Errors](https://integration.hunterai.uz/errors.md): The exact status codes the adapter reacts to, and how it reacts — retries, skips, and failures. - [Conformance checklist](https://integration.hunterai.uz/guides/conformance-checklist.md): A pre-flight list to tick before requesting a connection. Every item maps to something the adapter actually requires. - [Go live](https://integration.hunterai.uz/guides/connecting.md): The end-to-end sequence to connect a custom CRM — who does what, the real HunterAI endpoints, and what does not work yet. - [HunterAI CRM Integration](https://integration.hunterai.uz/introduction.md): Expose a small, read-only pull API and HunterAI syncs your CRM into sales analytics and AI coaching. No webhooks, no write-back. - [Limitations](https://integration.hunterai.uz/limitations.md): Real constraints of the v1.0 adapter. Read this before you build — some affect how you model currency, contacts, and deletes. - [Quickstart](https://integration.hunterai.uz/quickstart.md): Implement one endpoint, serve the standard envelope, and see exactly what HunterAI sends and expects back. - [Rate limits](https://integration.hunterai.uz/rate-limits.md): Declare a request rate and HunterAI throttles itself to it. It also backs off on 429.