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

# API Reference

> Programmatic access to your Clarky workspace data via a public REST API

The Clarky REST API gives you programmatic access to the same CRM and conversation data you see in the dashboard — contacts, companies, pipelines, activities, conversations, messages, forms, and submissions. Use it to sync data into your data warehouse, build custom dashboards, automate lead capture, or power two-way integrations with your stack.

<Info>
  **Plan availability:** API access is available on the **Standard**, **Pro**, and **Enterprise** plans. See [Plans & Billing](/features/settings/plans).
</Info>

## Base URL

All endpoints are served from a single base URL:

```bash theme={null}
https://clarky.ai/api/v1
```

The API is versioned in the URL path. The current version is `v1`. We'll announce breaking changes well in advance and maintain older versions for a documented deprecation window.

## Conventions

* **Format** — All requests and responses are JSON. Send `Content-Type: application/json` with `POST` and `PATCH` requests.
* **Workspace scope** — Every API key belongs to a single workspace. Calls automatically operate on that workspace's data.
* **Single resources** — Returned as `{ "data": { ... } }`.
* **List resources** — Returned as `{ "data": [...], "pagination": { ... } }`.
* **Deletes** — Return `204 No Content` with an empty body.
* **Errors** — Wrapped in a consistent `error` envelope. See [Errors](/api-reference/errors).

## Quick example

```bash theme={null}
curl https://clarky.ai/api/v1/contacts \
  -H "Authorization: Bearer ck_live_example"
```

## Get started

<CardGroup cols={2}>
  <Card title="Quickstart" icon="bolt" href="/api-reference/quickstart">
    Make your first curl request in under 2 minutes
  </Card>

  <Card title="Authentication" icon="key" href="/api-reference/authentication">
    Create an API key, understand scopes, and authenticate requests
  </Card>

  <Card title="Errors" icon="triangle-exclamation" href="/api-reference/errors">
    Error envelope shape and every error code with examples
  </Card>

  <Card title="Pagination" icon="list" href="/api-reference/pagination">
    Page through list endpoints with `page` and `page_size`
  </Card>

  <Card title="Rate Limits" icon="gauge-high" href="/api-reference/rate-limits">
    Per-key request limits and recommended retry behavior
  </Card>
</CardGroup>

## Resources

<CardGroup cols={2}>
  <Card title="Agents" icon="robot" href="/api-reference/agents">
    Discover the agents in your workspace and their channel configuration
  </Card>

  <Card title="Contacts" icon="address-book" href="/api-reference/contacts">
    Create, read, update, delete, and bulk upsert contacts
  </Card>

  <Card title="Companies" icon="building" href="/api-reference/companies">
    Manage companies and the contacts that belong to them
  </Card>

  <Card title="Pipelines" icon="diagram-project" href="/api-reference/pipelines">
    Read pipelines and stages, manage pipeline cards
  </Card>

  <Card title="Activities" icon="clock-rotate-left" href="/api-reference/activities">
    Log notes, calls, meetings, tasks, and reminders
  </Card>

  <Card title="Conversations" icon="messages" href="/api-reference/conversations">
    Read conversations and messages across every channel
  </Card>

  <Card title="Forms" icon="clipboard-list" href="/api-reference/forms">
    Read forms and their submissions
  </Card>
</CardGroup>

## API and Webhooks

The REST API and [Webhooks](/features/settings/webhooks) are complementary. The API is the right tool for two-way data flow — pulling data on demand, creating and updating records, or backfilling historical data. Webhooks are best for one-way, real-time push notifications when something happens inside Clarky. Most integrations use both.

<Note>
  Need a feature that isn't covered yet? Email [support@clarky.ai](mailto:support@clarky.ai) — we're actively expanding the API surface.
</Note>
