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

# HunterAI CRM Integration

> Expose a small, read-only pull API and HunterAI syncs your CRM into sales analytics and AI coaching. No webhooks, no write-back.

HunterAI ingests CRM data to power sales analytics and AI coaching. This guide is for a
developer connecting a **custom CRM** — anything that is not amoCRM — to HunterAI.

You implement a handful of read-only HTTP endpoints. HunterAI pulls from them on a
schedule, maps the records into its canonical model, and everything downstream
(dashboards, funnels, coaching) works without knowing which CRM produced the data.

<Info>
  This documentation is generated from and verified against the production adapter.
  Where an example shows a query parameter, a status code, or a field, that is what the
  adapter actually sends, reacts to, or reads.
</Info>

## What you build

Four **required** endpoints and up to three **optional** ones. All are `GET`, all
return JSON in the same envelope, all are read-only.

<CardGroup cols={2}>
  <Card title="GET /pipelines" icon="filter" href="/endpoints/pipelines">
    Required · pipelines and their stages (with won/lost classification)
  </Card>

  <Card title="GET /users" icon="users" href="/endpoints/users">
    Required · CRM managers
  </Card>

  <Card title="GET /contacts" icon="address-book" href="/endpoints/contacts">
    Required · people
  </Card>

  <Card title="GET /leads" icon="handshake" href="/endpoints/leads">
    Required · deals
  </Card>

  <Card title="GET /events" icon="clock-rotate-left" href="/endpoints/events">
    Optional · lead history (stage moves, notes)
  </Card>

  <Card title="GET /tasks" icon="list-check" href="/endpoints/tasks">
    Optional · manager tasks
  </Card>

  <Card title="GET /calls" icon="phone" href="/endpoints/calls">
    Optional · call records
  </Card>
</CardGroup>

## What you do not build

<CardGroup cols={3}>
  <Card title="No webhooks" icon="arrows-rotate">
    HunterAI **pulls**. You never push to us and never register a callback URL.
  </Card>

  <Card title="No write-back" icon="lock">
    The connection is one-directional. HunterAI never writes to your CRM.
  </Card>

  <Card title="No SDK" icon="code">
    Plain JSON over HTTPS with a Bearer token. Any stack that serves HTTP works.
  </Card>
</CardGroup>

## The contract in one screen

* **Transport** — HTTPS `GET` against a base URL you host, e.g.
  `https://crm.example.uz/api/hunterai/v1`.
* **Auth** — a long-lived read-only Bearer token you issue to HunterAI.
  See [Authentication](/authentication).
* **Envelope** — every collection returns `{ "data": [ … ], "has_more": <bool> }`.
  See [How sync works](/concepts/how-sync-works).
* **Paging** — HunterAI sends `page` and `limit=100`; `has_more` tells it when to stop.
* **Incremental** — five endpoints accept `updated_since`; records come back ordered by
  `updated_at` ascending.
* **Errors** — a small set of status codes drive retries and skips.
  See [Errors](/errors).

## Where to start

<Steps>
  <Step title="Read the Quickstart">
    [Quickstart](/quickstart) walks one endpoint end to end so you can see the exact
    shapes before building the rest.
  </Step>

  <Step title="Implement the four required endpoints">
    Use the [Endpoint reference](/endpoints/pipelines) — each page lists every field the
    adapter reads, its type, and its maximum accepted length.
  </Step>

  <Step title="Check the Limitations">
    [Limitations](/limitations) lists what HunterAI drops or collapses. Read it before you
    build — some constraints affect how you model currency and multi-contact deals.
  </Step>

  <Step title="Hand off to your HunterAI business owner">
    They create the connection and run the test call. See [Go live](/guides/connecting).
  </Step>
</Steps>

<Note>
  **Version 1.0.** This spec is backed by a working adapter. Breaking changes will be
  recorded in the [Changelog](/changelog).
</Note>
