# HeyRik public API

> Complete HeyRik API reference with authentication, AI agent creation, knowledge, phone numbers, calls, voices, campaigns, parameters, requests, and response examples.

Source: https://www.heyrik.com/docs/api-reference

Everything you need to build with voice. Choose a resource to explore its endpoints, parameters and copy-ready examples.

**13** resource groups**77** documented operations**v1** current API

## Base URL and authentication

Send one account-scoped key with every request. Keep it on your server because it can place paid calls and access account data.

Base URL

```
https://server.heyrik.com/api/v1
```

Authorization header

```
Authorization: Bearer $HEYRIK_API_KEY
```

New to HeyRik? [Follow the complete Academy course](https://www.heyrik.com/docs/academy/build-agent) before using the endpoint catalogue.

## Agents

An agent is the AI that speaks on a call. You define its behaviour as an ordered Conversation Flow (config.prompt\_sections) — the same structured sections the dashboard builder uses — plus a voice, languages and call settings. Create one, then point a phone number at it or dial out with it.

[GET**List agents**`/agents`](https://www.heyrik.com/docs/api-reference/agents/get-agents-list-every-agent-on-your-account)

[POST**Create an agent**`/agents`](https://www.heyrik.com/docs/api-reference/agents/post-agents-create-an-agent-full-configuration)

[GET**Get an agent**`/agents/{id}`](https://www.heyrik.com/docs/api-reference/agents/get-agents-id-fetch-one-agent-full-config)

[PATCH**Update an agent**`/agents/{id}`](https://www.heyrik.com/docs/api-reference/agents/patch-agents-id-edit-an-agent-any-field-or-section)

[DELETE**Delete an agent**`/agents/{id}`](https://www.heyrik.com/docs/api-reference/agents/delete-agents-id-delete-an-agent)

[POST**Generate an agent**`/agents/generate`](https://www.heyrik.com/docs/api-reference/agents/post-agents-generate-draft-an-agent-from-a-plain-language-description)

## Knowledge base

Give an agent documents to answer from — a price list, a policy page, an FAQ. It quotes these instead of improvising.

[POST**Upload a PDF**`/agents/{id}/knowledge`](https://www.heyrik.com/docs/api-reference/knowledge/post-agents-id-knowledge-upload-a-pdf)

[POST**Add a web page by URL**`/agents/{id}/knowledge`](https://www.heyrik.com/docs/api-reference/knowledge/post-agents-id-knowledge-add-a-web-page-by-url)

[GET**List an agent's knowledge sources**`/agents/{id}/knowledge`](https://www.heyrik.com/docs/api-reference/knowledge/get-agents-id-knowledge-list-an-agent-s-knowledge-sources)

[DELETE**Remove a source**`/agents/{id}/knowledge/{kid}`](https://www.heyrik.com/docs/api-reference/knowledge/delete-agents-id-knowledge-kid-remove-a-source)

## Phone numbers

List your numbers and choose which agent answers each one. Buying a number needs completed KYC and happens in the dashboard.

[GET**List your numbers**`/phone-numbers`](https://www.heyrik.com/docs/api-reference/phone-numbers/get-phone-numbers-list-your-numbers)

[PATCH**Assign the agent that answers this number**`/phone-numbers/{id}`](https://www.heyrik.com/docs/api-reference/phone-numbers/patch-phone-numbers-id-assign-the-agent-that-answers-this-number)

[DELETE**Remove a number from the account**`/phone-numbers/{id}`](https://www.heyrik.com/docs/api-reference/phone-numbers/delete-phone-numbers-id-remove-a-number-from-the-account)

[GET**Fetch one number**`/phone-numbers/{id}`](https://www.heyrik.com/docs/api-reference/phone-numbers/get-phone-numbers-id-fetch-one-number)

[POST**Bring your own SIP trunk**`/phone-numbers`](https://www.heyrik.com/docs/api-reference/phone-numbers/post-phone-numbers-bring-your-own-sip-trunk)

## Calls

Dial out with an agent, then read back the transcript, recording, outcome and what it cost.

[POST**Place an outbound call**`/calls/dispatch`](https://www.heyrik.com/docs/api-reference/calls/post-calls-dispatch-place-an-outbound-call)

[GET**List call logs (all, or for one agent)**`/calls`](https://www.heyrik.com/docs/api-reference/calls/get-calls-list-call-logs-all-or-for-one-agent)

[GET**One call — transcript, recording, outcome, cost**`/calls/{id}`](https://www.heyrik.com/docs/api-reference/calls/get-calls-id-one-call-transcript-recording-outcome-cost)

[GET**Tools and custom APIs the agent invoked**`/calls/{id}/functions`](https://www.heyrik.com/docs/api-reference/calls/get-calls-id-functions-tools-and-custom-apis-the-agent-invoked)

## Custom APIs (integrations)

Register your own endpoint as a tool the agent can call mid-conversation — look up an order, check availability, create a ticket.

[POST**Register an endpoint as an agent tool**`/custom-apis`](https://www.heyrik.com/docs/api-reference/custom-apis/post-custom-apis-register-an-endpoint-as-an-agent-tool)

[GET**List your registered integrations**`/custom-apis`](https://www.heyrik.com/docs/api-reference/custom-apis/get-custom-apis-list-your-registered-integrations)

[PATCH**Update an integration**`/custom-apis/{id}`](https://www.heyrik.com/docs/api-reference/custom-apis/patch-custom-apis-id-update-an-integration)

[DELETE**Remove an integration**`/custom-apis/{id}`](https://www.heyrik.com/docs/api-reference/custom-apis/delete-custom-apis-id-remove-an-integration)

## Voices

Browse the voice library, list your cloned voices, preview one, or clone a new voice from a short recording. A voice's id goes into voice\_settings.voice\_id on any agent.

[GET**List voices (library or your clones)**`/voices`](https://www.heyrik.com/docs/api-reference/voices/get-voices-list-voices-library-or-your-clones)

[POST**Clone a voice from an audio clip**`/voices/clone`](https://www.heyrik.com/docs/api-reference/voices/post-voices-clone-clone-a-voice-from-an-audio-clip)

[POST**Hear a voice before assigning it**`/voices/preview`](https://www.heyrik.com/docs/api-reference/voices/post-voices-preview-hear-a-voice-before-assigning-it)

## Campaigns (bulk calling)

Call a list of leads with one agent. Seed from a CSV/XLSX or push leads in live, then start, pause and export results. A campaign is continuous: leads that arrive after it has finished are dialled automatically. Every lead field is matched to the agent's input variables by meaning (AI), so a column called "Decision Maker" fills {{prospect\_name}} without renaming. Each finished call can be POSTed to your webhook\_url — see the Connect your backend guide.

[GET**List campaigns with live counts**`/campaigns`](https://www.heyrik.com/docs/api-reference/campaigns/get-campaigns-list-campaigns-with-live-counts)

[POST**Create a campaign**`/campaigns`](https://www.heyrik.com/docs/api-reference/campaigns/post-campaigns-create-a-campaign)

[POST**Push leads in live**`/campaigns/{id}/contacts`](https://www.heyrik.com/docs/api-reference/campaigns/post-campaigns-id-contacts-push-leads-in-live)

[GET**One lead with every call made to it**`/campaigns/{id}/contacts/{contactId}`](https://www.heyrik.com/docs/api-reference/campaigns/get-campaigns-id-contacts-contactid-one-lead-with-every-call-made-to-it)

[PATCH**Fix a lead before it is dialled**`/campaigns/{id}/contacts/{contactId}`](https://www.heyrik.com/docs/api-reference/campaigns/patch-campaigns-id-contacts-contactid-fix-a-lead-before-it-is-dialled)

[GET**The campaign's call log — every lead + its outcome**`/campaigns/{id}/contacts`](https://www.heyrik.com/docs/api-reference/campaigns/get-campaigns-id-contacts-the-campaign-s-call-log-every-lead-its-outcome)

[POST**Start (or resume) calling**`/campaigns/{id}/start`](https://www.heyrik.com/docs/api-reference/campaigns/post-campaigns-id-start-start-or-resume-calling)

[POST**Pause calling**`/campaigns/{id}/pause`](https://www.heyrik.com/docs/api-reference/campaigns/post-campaigns-id-pause-pause-calling)

[POST**Stop a campaign for good**`/campaigns/{id}/cancel`](https://www.heyrik.com/docs/api-reference/campaigns/post-campaigns-id-cancel-stop-a-campaign-for-good)

[GET**Progress and stats**`/campaigns/{id}`](https://www.heyrik.com/docs/api-reference/campaigns/get-campaigns-id-progress-and-stats)

[PATCH**Edit campaign settings**`/campaigns/{id}`](https://www.heyrik.com/docs/api-reference/campaigns/patch-campaigns-id-edit-campaign-settings)

[GET**Export results with outcomes**`/campaigns/{id}/export`](https://www.heyrik.com/docs/api-reference/campaigns/get-campaigns-id-export-export-results-with-outcomes)

[DELETE**Delete a campaign**`/campaigns/{id}`](https://www.heyrik.com/docs/api-reference/campaigns/delete-campaigns-id-delete-a-campaign)

## Analytics

The numbers a dashboard is built around — calls made and connected, answer rate, talk time — overall, per agent, and as a daily series.

[GET**Call performance: totals, per agent, per day**`/analytics`](https://www.heyrik.com/docs/api-reference/analytics/get-analytics-call-performance-totals-per-agent-per-day)

[GET**Call counts by state, outcome and direction**`/calls/stats`](https://www.heyrik.com/docs/api-reference/analytics/get-calls-stats-call-counts-by-state-outcome-and-direction)

[GET**Tool / custom-API invocations across many calls**`/functions`](https://www.heyrik.com/docs/api-reference/analytics/get-functions-tool-custom-api-invocations-across-many-calls)

## Agent settings

What the builder UI fills its pickers from — the supported languages and performance tiers. Read these instead of hardcoding lists, so your dashboard never drifts from ours.

[GET**The managed speech + language stack, by tier**`/providers`](https://www.heyrik.com/docs/api-reference/agent-settings/get-providers-the-managed-speech-language-stack-by-tier)

[GET**Languages, performance tiers, regions, and the default voice**`/voice-options`](https://www.heyrik.com/docs/api-reference/agent-settings/get-voice-options-languages-performance-tiers-regions-and-the-default-voice)

[POST**Rewrite a rough prompt into a better one**`/agents/enhance`](https://www.heyrik.com/docs/api-reference/agent-settings/post-agents-enhance-rewrite-a-rough-prompt-into-a-better-one)

[GET**Ambient audio clips (office, cafe) for calls**`/background-audios`](https://www.heyrik.com/docs/api-reference/agent-settings/get-background-audios-ambient-audio-clips-office-cafe-for-calls)

[GET**Whether call recordings will actually be stored**`/recordings/config`](https://www.heyrik.com/docs/api-reference/agent-settings/get-recordings-config-whether-call-recordings-will-actually-be-stored)

[GET**The public plan catalogue (for your own pricing page)**`/plans`](https://www.heyrik.com/docs/api-reference/agent-settings/get-plans-the-public-plan-catalogue-for-your-own-pricing-page)

## CRM — leads & folders

A lead pipeline you can drive entirely from your own app: import contacts, move them through stages, and dial them.

[GET**List leads**`/leads`](https://www.heyrik.com/docs/api-reference/crm/get-leads-list-leads)

[POST**Create a lead**`/leads`](https://www.heyrik.com/docs/api-reference/crm/post-leads-create-a-lead)

[POST**Import many leads at once**`/leads/bulk`](https://www.heyrik.com/docs/api-reference/crm/post-leads-bulk-import-many-leads-at-once)

[POST**Call selected leads with an agent**`/leads/call`](https://www.heyrik.com/docs/api-reference/crm/post-leads-call-call-selected-leads-with-an-agent)

[GET**Pipeline totals and win rate**`/leads/summary`](https://www.heyrik.com/docs/api-reference/crm/get-leads-summary-pipeline-totals-and-win-rate)

[GET**One lead**`/leads/{id}`](https://www.heyrik.com/docs/api-reference/crm/get-leads-id-one-lead)

[PATCH**Update a lead**`/leads/{id}`](https://www.heyrik.com/docs/api-reference/crm/patch-leads-id-update-a-lead)

[POST**Move a lead to a pipeline stage**`/leads/{id}/stage`](https://www.heyrik.com/docs/api-reference/crm/post-leads-id-stage-move-a-lead-to-a-pipeline-stage)

[DELETE**Delete a lead**`/leads/{id}`](https://www.heyrik.com/docs/api-reference/crm/delete-leads-id-delete-a-lead)

[GET**Every call made to this lead**`/leads/{id}/calls`](https://www.heyrik.com/docs/api-reference/crm/get-leads-id-calls-every-call-made-to-this-lead)

[GET**Your pipeline stages, in order**`/crm/stages`](https://www.heyrik.com/docs/api-reference/crm/get-crm-stages-your-pipeline-stages-in-order)

[GET**Lead folders (segments / lists)**`/crm/folders`](https://www.heyrik.com/docs/api-reference/crm/get-crm-folders-lead-folders-segments-lists)

[POST**Create a folder (optionally with leads in it)**`/crm/folders`](https://www.heyrik.com/docs/api-reference/crm/post-crm-folders-create-a-folder-optionally-with-leads-in-it)

## Chat (text agents)

Talk to an agent over TEXT — no phone call, no speech. Use a one-shot completion for a quick answer, or a stateful session that remembers the whole conversation. Billed per message (much cheaper than a call), so it's ideal for testing an agent's brain or powering a chatbot in your own product. Same agents as your calls — an agent id from POST /agents works here directly.

[GET**Chat pricing + whether transcripts are stored**`/chat/config`](https://www.heyrik.com/docs/api-reference/chat/get-chat-config-chat-pricing-whether-transcripts-are-stored)

[POST**One-shot reply (stateless — no memory)**`/chat/complete`](https://www.heyrik.com/docs/api-reference/chat/post-chat-complete-one-shot-reply-stateless-no-memory)

[POST**Start a stateful conversation**`/chat/sessions`](https://www.heyrik.com/docs/api-reference/chat/post-chat-sessions-start-a-stateful-conversation)

[POST**Send a message, get the agent's reply**`/chat/sessions/{id}/messages`](https://www.heyrik.com/docs/api-reference/chat/post-chat-sessions-id-messages-send-a-message-get-the-agent-s-reply)

[GET**List conversations**`/chat/sessions`](https://www.heyrik.com/docs/api-reference/chat/get-chat-sessions-list-conversations)

[GET**Fetch a conversation with its messages**`/chat/sessions/{id}`](https://www.heyrik.com/docs/api-reference/chat/get-chat-sessions-id-fetch-a-conversation-with-its-messages)

[GET**Get a downloadable transcript link**`/chat/sessions/{id}/transcript`](https://www.heyrik.com/docs/api-reference/chat/get-chat-sessions-id-transcript-get-a-downloadable-transcript-link)

[DELETE**Delete a conversation**`/chat/sessions/{id}`](https://www.heyrik.com/docs/api-reference/chat/delete-chat-sessions-id-delete-a-conversation)

## Chat widgets

Embed a text agent on your own website. Create a widget, drop its snippet in, and those conversations arrive alongside your calls.

[GET**List your widgets**`/widgets`](https://www.heyrik.com/docs/api-reference/widgets/get-widgets-list-your-widgets)

[POST**Create a widget for an agent**`/widgets`](https://www.heyrik.com/docs/api-reference/widgets/post-widgets-create-a-widget-for-an-agent)

[GET**One widget (with its embed key)**`/widgets/{id}`](https://www.heyrik.com/docs/api-reference/widgets/get-widgets-id-one-widget-with-its-embed-key)

[PATCH**Update a widget**`/widgets/{id}`](https://www.heyrik.com/docs/api-reference/widgets/patch-widgets-id-update-a-widget)

[DELETE**Delete a widget**`/widgets/{id}`](https://www.heyrik.com/docs/api-reference/widgets/delete-widgets-id-delete-a-widget)

## Account & balance

Who the key belongs to, and how many credits are left — check this before starting a large campaign.

[GET**The account this key belongs to**`/me`](https://www.heyrik.com/docs/api-reference/account/get-me-the-account-this-key-belongs-to)

[GET**Credit balance and the current rate**`/balance`](https://www.heyrik.com/docs/api-reference/account/get-balance-credit-balance-and-the-current-rate)

[GET**Per-day consumption and the credit ledger**`/usage`](https://www.heyrik.com/docs/api-reference/account/get-usage-per-day-consumption-and-the-credit-ledger)

## Errors

Failures return { "error": "code", "hint": "…" }. Use the status and hint to decide whether to correct, retry, or escalate.

400`invalid_request`

A required field is missing or malformed. The \`hint\` says which.

401`api_key_required`

No key sent, or it's revoked. Create one in the dashboard → API.

402`insufficient_credits`

Not enough credits to start the call. \`need\` gives the minimum.

403`kyc_required`

Identity verification isn't complete — finish it in the dashboard.

404`not_found`

No such id ON YOUR ACCOUNT. Keys never see another account's data.

409`name_already_used`

That name is taken — custom API names are unique per account.

429`rate_limited`

Too many requests for this key. Back off and retry.

500`server_error`

Our side. Safe to retry; contact support if it persists.

## Dashboard-only actions

Money and regulated identity workflows stay in the HeyRik dashboard.

Buying a phone number requires completed KYC.

Identity verification covers PAN, Aadhaar, GST, and CIN.

Plans, credit top-ups, and payment methods remain in the dashboard.

## Endpoint Markdown files

### Agents

- [GET /agents — List every agent on your account](https://www.heyrik.com/docs/api-reference/agents/get-agents-list-every-agent-on-your-account.md)
- [POST /agents — Create an agent (full configuration)](https://www.heyrik.com/docs/api-reference/agents/post-agents-create-an-agent-full-configuration.md)
- [GET /agents/{id} — Fetch one agent (full config)](https://www.heyrik.com/docs/api-reference/agents/get-agents-id-fetch-one-agent-full-config.md)
- [PATCH /agents/{id} — Edit an agent (any field or section)](https://www.heyrik.com/docs/api-reference/agents/patch-agents-id-edit-an-agent-any-field-or-section.md)
- [DELETE /agents/{id} — Delete an agent](https://www.heyrik.com/docs/api-reference/agents/delete-agents-id-delete-an-agent.md)
- [POST /agents/generate — Draft an agent from a plain-language description](https://www.heyrik.com/docs/api-reference/agents/post-agents-generate-draft-an-agent-from-a-plain-language-description.md)

### Knowledge base

- [POST /agents/{id}/knowledge — Upload a PDF](https://www.heyrik.com/docs/api-reference/knowledge/post-agents-id-knowledge-upload-a-pdf.md)
- [POST /agents/{id}/knowledge — Add a web page by URL](https://www.heyrik.com/docs/api-reference/knowledge/post-agents-id-knowledge-add-a-web-page-by-url.md)
- [GET /agents/{id}/knowledge — List an agent's knowledge sources](https://www.heyrik.com/docs/api-reference/knowledge/get-agents-id-knowledge-list-an-agent-s-knowledge-sources.md)
- [DELETE /agents/{id}/knowledge/{kid} — Remove a source](https://www.heyrik.com/docs/api-reference/knowledge/delete-agents-id-knowledge-kid-remove-a-source.md)

### Phone numbers

- [GET /phone-numbers — List your numbers](https://www.heyrik.com/docs/api-reference/phone-numbers/get-phone-numbers-list-your-numbers.md)
- [PATCH /phone-numbers/{id} — Assign the agent that answers this number](https://www.heyrik.com/docs/api-reference/phone-numbers/patch-phone-numbers-id-assign-the-agent-that-answers-this-number.md)
- [DELETE /phone-numbers/{id} — Remove a number from the account](https://www.heyrik.com/docs/api-reference/phone-numbers/delete-phone-numbers-id-remove-a-number-from-the-account.md)
- [GET /phone-numbers/{id} — Fetch one number](https://www.heyrik.com/docs/api-reference/phone-numbers/get-phone-numbers-id-fetch-one-number.md)
- [POST /phone-numbers — Bring your own SIP trunk](https://www.heyrik.com/docs/api-reference/phone-numbers/post-phone-numbers-bring-your-own-sip-trunk.md)

### Calls

- [POST /calls/dispatch — Place an outbound call](https://www.heyrik.com/docs/api-reference/calls/post-calls-dispatch-place-an-outbound-call.md)
- [GET /calls — List call logs (all, or for one agent)](https://www.heyrik.com/docs/api-reference/calls/get-calls-list-call-logs-all-or-for-one-agent.md)
- [GET /calls/{id} — One call — transcript, recording, outcome, cost](https://www.heyrik.com/docs/api-reference/calls/get-calls-id-one-call-transcript-recording-outcome-cost.md)
- [GET /calls/{id}/functions — Tools and custom APIs the agent invoked](https://www.heyrik.com/docs/api-reference/calls/get-calls-id-functions-tools-and-custom-apis-the-agent-invoked.md)

### Custom APIs (integrations)

- [POST /custom-apis — Register an endpoint as an agent tool](https://www.heyrik.com/docs/api-reference/custom-apis/post-custom-apis-register-an-endpoint-as-an-agent-tool.md)
- [GET /custom-apis — List your registered integrations](https://www.heyrik.com/docs/api-reference/custom-apis/get-custom-apis-list-your-registered-integrations.md)
- [PATCH /custom-apis/{id} — Update an integration](https://www.heyrik.com/docs/api-reference/custom-apis/patch-custom-apis-id-update-an-integration.md)
- [DELETE /custom-apis/{id} — Remove an integration](https://www.heyrik.com/docs/api-reference/custom-apis/delete-custom-apis-id-remove-an-integration.md)

### Voices

- [GET /voices — List voices (library or your clones)](https://www.heyrik.com/docs/api-reference/voices/get-voices-list-voices-library-or-your-clones.md)
- [POST /voices/clone — Clone a voice from an audio clip](https://www.heyrik.com/docs/api-reference/voices/post-voices-clone-clone-a-voice-from-an-audio-clip.md)
- [POST /voices/preview — Hear a voice before assigning it](https://www.heyrik.com/docs/api-reference/voices/post-voices-preview-hear-a-voice-before-assigning-it.md)

### Campaigns (bulk calling)

- [GET /campaigns — List campaigns with live counts](https://www.heyrik.com/docs/api-reference/campaigns/get-campaigns-list-campaigns-with-live-counts.md)
- [POST /campaigns — Create a campaign](https://www.heyrik.com/docs/api-reference/campaigns/post-campaigns-create-a-campaign.md)
- [POST /campaigns/{id}/contacts — Push leads in live](https://www.heyrik.com/docs/api-reference/campaigns/post-campaigns-id-contacts-push-leads-in-live.md)
- [GET /campaigns/{id}/contacts/{contactId} — One lead with every call made to it](https://www.heyrik.com/docs/api-reference/campaigns/get-campaigns-id-contacts-contactid-one-lead-with-every-call-made-to-it.md)
- [PATCH /campaigns/{id}/contacts/{contactId} — Fix a lead before it is dialled](https://www.heyrik.com/docs/api-reference/campaigns/patch-campaigns-id-contacts-contactid-fix-a-lead-before-it-is-dialled.md)
- [GET /campaigns/{id}/contacts — The campaign's call log — every lead + its outcome](https://www.heyrik.com/docs/api-reference/campaigns/get-campaigns-id-contacts-the-campaign-s-call-log-every-lead-its-outcome.md)
- [POST /campaigns/{id}/start — Start (or resume) calling](https://www.heyrik.com/docs/api-reference/campaigns/post-campaigns-id-start-start-or-resume-calling.md)
- [POST /campaigns/{id}/pause — Pause calling](https://www.heyrik.com/docs/api-reference/campaigns/post-campaigns-id-pause-pause-calling.md)
- [POST /campaigns/{id}/cancel — Stop a campaign for good](https://www.heyrik.com/docs/api-reference/campaigns/post-campaigns-id-cancel-stop-a-campaign-for-good.md)
- [GET /campaigns/{id} — Progress and stats](https://www.heyrik.com/docs/api-reference/campaigns/get-campaigns-id-progress-and-stats.md)
- [PATCH /campaigns/{id} — Edit campaign settings](https://www.heyrik.com/docs/api-reference/campaigns/patch-campaigns-id-edit-campaign-settings.md)
- [GET /campaigns/{id}/export — Export results with outcomes](https://www.heyrik.com/docs/api-reference/campaigns/get-campaigns-id-export-export-results-with-outcomes.md)
- [DELETE /campaigns/{id} — Delete a campaign](https://www.heyrik.com/docs/api-reference/campaigns/delete-campaigns-id-delete-a-campaign.md)

### Analytics

- [GET /analytics — Call performance: totals, per agent, per day](https://www.heyrik.com/docs/api-reference/analytics/get-analytics-call-performance-totals-per-agent-per-day.md)
- [GET /calls/stats — Call counts by state, outcome and direction](https://www.heyrik.com/docs/api-reference/analytics/get-calls-stats-call-counts-by-state-outcome-and-direction.md)
- [GET /functions — Tool / custom-API invocations across many calls](https://www.heyrik.com/docs/api-reference/analytics/get-functions-tool-custom-api-invocations-across-many-calls.md)

### Agent settings

- [GET /providers — The managed speech + language stack, by tier](https://www.heyrik.com/docs/api-reference/agent-settings/get-providers-the-managed-speech-language-stack-by-tier.md)
- [GET /voice-options — Languages, performance tiers, regions, and the default voice](https://www.heyrik.com/docs/api-reference/agent-settings/get-voice-options-languages-performance-tiers-regions-and-the-default-voice.md)
- [POST /agents/enhance — Rewrite a rough prompt into a better one](https://www.heyrik.com/docs/api-reference/agent-settings/post-agents-enhance-rewrite-a-rough-prompt-into-a-better-one.md)
- [GET /background-audios — Ambient audio clips (office, cafe) for calls](https://www.heyrik.com/docs/api-reference/agent-settings/get-background-audios-ambient-audio-clips-office-cafe-for-calls.md)
- [GET /recordings/config — Whether call recordings will actually be stored](https://www.heyrik.com/docs/api-reference/agent-settings/get-recordings-config-whether-call-recordings-will-actually-be-stored.md)
- [GET /plans — The public plan catalogue (for your own pricing page)](https://www.heyrik.com/docs/api-reference/agent-settings/get-plans-the-public-plan-catalogue-for-your-own-pricing-page.md)

### CRM — leads & folders

- [GET /leads — List leads](https://www.heyrik.com/docs/api-reference/crm/get-leads-list-leads.md)
- [POST /leads — Create a lead](https://www.heyrik.com/docs/api-reference/crm/post-leads-create-a-lead.md)
- [POST /leads/bulk — Import many leads at once](https://www.heyrik.com/docs/api-reference/crm/post-leads-bulk-import-many-leads-at-once.md)
- [POST /leads/call — Call selected leads with an agent](https://www.heyrik.com/docs/api-reference/crm/post-leads-call-call-selected-leads-with-an-agent.md)
- [GET /leads/summary — Pipeline totals and win rate](https://www.heyrik.com/docs/api-reference/crm/get-leads-summary-pipeline-totals-and-win-rate.md)
- [GET /leads/{id} — One lead](https://www.heyrik.com/docs/api-reference/crm/get-leads-id-one-lead.md)
- [PATCH /leads/{id} — Update a lead](https://www.heyrik.com/docs/api-reference/crm/patch-leads-id-update-a-lead.md)
- [POST /leads/{id}/stage — Move a lead to a pipeline stage](https://www.heyrik.com/docs/api-reference/crm/post-leads-id-stage-move-a-lead-to-a-pipeline-stage.md)
- [DELETE /leads/{id} — Delete a lead](https://www.heyrik.com/docs/api-reference/crm/delete-leads-id-delete-a-lead.md)
- [GET /leads/{id}/calls — Every call made to this lead](https://www.heyrik.com/docs/api-reference/crm/get-leads-id-calls-every-call-made-to-this-lead.md)
- [GET /crm/stages — Your pipeline stages, in order](https://www.heyrik.com/docs/api-reference/crm/get-crm-stages-your-pipeline-stages-in-order.md)
- [GET /crm/folders — Lead folders (segments / lists)](https://www.heyrik.com/docs/api-reference/crm/get-crm-folders-lead-folders-segments-lists.md)
- [POST /crm/folders — Create a folder (optionally with leads in it)](https://www.heyrik.com/docs/api-reference/crm/post-crm-folders-create-a-folder-optionally-with-leads-in-it.md)

### Chat (text agents)

- [GET /chat/config — Chat pricing + whether transcripts are stored](https://www.heyrik.com/docs/api-reference/chat/get-chat-config-chat-pricing-whether-transcripts-are-stored.md)
- [POST /chat/complete — One-shot reply (stateless — no memory)](https://www.heyrik.com/docs/api-reference/chat/post-chat-complete-one-shot-reply-stateless-no-memory.md)
- [POST /chat/sessions — Start a stateful conversation](https://www.heyrik.com/docs/api-reference/chat/post-chat-sessions-start-a-stateful-conversation.md)
- [POST /chat/sessions/{id}/messages — Send a message, get the agent's reply](https://www.heyrik.com/docs/api-reference/chat/post-chat-sessions-id-messages-send-a-message-get-the-agent-s-reply.md)
- [GET /chat/sessions — List conversations](https://www.heyrik.com/docs/api-reference/chat/get-chat-sessions-list-conversations.md)
- [GET /chat/sessions/{id} — Fetch a conversation with its messages](https://www.heyrik.com/docs/api-reference/chat/get-chat-sessions-id-fetch-a-conversation-with-its-messages.md)
- [GET /chat/sessions/{id}/transcript — Get a downloadable transcript link](https://www.heyrik.com/docs/api-reference/chat/get-chat-sessions-id-transcript-get-a-downloadable-transcript-link.md)
- [DELETE /chat/sessions/{id} — Delete a conversation](https://www.heyrik.com/docs/api-reference/chat/delete-chat-sessions-id-delete-a-conversation.md)

### Chat widgets

- [GET /widgets — List your widgets](https://www.heyrik.com/docs/api-reference/widgets/get-widgets-list-your-widgets.md)
- [POST /widgets — Create a widget for an agent](https://www.heyrik.com/docs/api-reference/widgets/post-widgets-create-a-widget-for-an-agent.md)
- [GET /widgets/{id} — One widget (with its embed key)](https://www.heyrik.com/docs/api-reference/widgets/get-widgets-id-one-widget-with-its-embed-key.md)
- [PATCH /widgets/{id} — Update a widget](https://www.heyrik.com/docs/api-reference/widgets/patch-widgets-id-update-a-widget.md)
- [DELETE /widgets/{id} — Delete a widget](https://www.heyrik.com/docs/api-reference/widgets/delete-widgets-id-delete-a-widget.md)

### Account & balance

- [GET /me — The account this key belongs to](https://www.heyrik.com/docs/api-reference/account/get-me-the-account-this-key-belongs-to.md)
- [GET /balance — Credit balance and the current rate](https://www.heyrik.com/docs/api-reference/account/get-balance-credit-balance-and-the-current-rate.md)
- [GET /usage — Per-day consumption and the credit ledger](https://www.heyrik.com/docs/api-reference/account/get-usage-per-day-consumption-and-the-credit-ledger.md)
