# API reference

> Every operation of the Aigently API.

Every operation, by what it is about. Each page lists its parameters, its body, its answer and its errors, with an example in seven languages and a *Try it* that takes a test key.

Requests go to `https://api.aigently.ai`, with an API key in `Authorization: Bearer <key>`. The whole description is [the OpenAPI file](/openapi.v1.json).

## Keys

| Operation | Request |
|---|---|
| [Describe this API key](/reference/getMe) | `GET /v1/me` |

## Projects

| Operation | Request |
|---|---|
| [List projects](/reference/listProjects) | `GET /v1/projects` |

## Agents

| Operation | Request |
|---|---|
| [List agents](/reference/listAgents) | `GET /v1/agents` |
| [Create an agent](/reference/createAgent) | `POST /v1/agents` |
| [Get an agent](/reference/getAgent) | `GET /v1/agents/{agent_id}` |
| [Delete an agent](/reference/deleteAgent) | `DELETE /v1/agents/{agent_id}` |
| [Get an agent's definition](/reference/getAgentDefinition) | `GET /v1/agents/{agent_id}/definition` |
| [Replace an agent's definition](/reference/replaceAgentDefinition) | `PUT /v1/agents/{agent_id}/definition` |
| [Publish an agent](/reference/publishAgent) | `POST /v1/agents/{agent_id}/publish` |
| [List an agent's versions](/reference/listAgentVersions) | `GET /v1/agents/{agent_id}/versions` |
| [Get a published version's definition](/reference/getAgentVersionDefinition) | `GET /v1/agents/{agent_id}/versions/{version}/definition` |

## Evaluations

| Operation | Request |
|---|---|
| [Run an agent's evaluations](/reference/runEvaluations) | `POST /v1/agents/{agent_id}/evaluation-runs` |
| [List an agent's evaluations](/reference/listEvaluations) | `GET /v1/agents/{agent_id}/evaluations` |
| [Add an evaluation](/reference/createEvaluation) | `POST /v1/agents/{agent_id}/evaluations` |
| [Delete an evaluation](/reference/deleteEvaluation) | `DELETE /v1/agents/{agent_id}/evaluations/{evaluation_id}` |
| [Get an evaluation run](/reference/getEvaluationRun) | `GET /v1/evaluation-runs/{run_id}` |

## Phone numbers

| Operation | Request |
|---|---|
| [List phone numbers](/reference/listPhoneNumbers) | `GET /v1/phone-numbers` |
| [Point a phone number at an agent](/reference/updatePhoneNumber) | `PATCH /v1/phone-numbers/{phone_number_id}` |

## Calls

| Operation | Request |
|---|---|
| [Place a call](/reference/createCall) | `POST /v1/calls` |
| [End a conversation](/reference/endConversation) | `POST /v1/conversations/{conversation_id}/end` |

## Scheduled calls

| Operation | Request |
|---|---|
| [List scheduled calls](/reference/listScheduledCalls) | `GET /v1/scheduled-calls` |
| [Schedule a call](/reference/createScheduledCall) | `POST /v1/scheduled-calls` |
| [Get a scheduled call](/reference/getScheduledCall) | `GET /v1/scheduled-calls/{scheduled_call_id}` |
| [Cancel a scheduled call](/reference/cancelScheduledCall) | `DELETE /v1/scheduled-calls/{scheduled_call_id}` |

## Campaigns

| Operation | Request |
|---|---|
| [List campaigns](/reference/listCampaigns) | `GET /v1/campaigns` |
| [Create a campaign](/reference/createCampaign) | `POST /v1/campaigns` |
| [Get a campaign](/reference/getCampaign) | `GET /v1/campaigns/{campaign_id}` |
| [Cancel a campaign](/reference/cancelCampaign) | `POST /v1/campaigns/{campaign_id}/cancel` |
| [List a campaign's contacts](/reference/listCampaignContacts) | `GET /v1/campaigns/{campaign_id}/contacts` |
| [Add contacts to a campaign](/reference/addCampaignContacts) | `POST /v1/campaigns/{campaign_id}/contacts` |
| [Pause a campaign](/reference/pauseCampaign) | `POST /v1/campaigns/{campaign_id}/pause` |
| [Resume a campaign](/reference/resumeCampaign) | `POST /v1/campaigns/{campaign_id}/resume` |
| [Start a campaign](/reference/startCampaign) | `POST /v1/campaigns/{campaign_id}/start` |

## Contacts

| Operation | Request |
|---|---|
| [List contacts](/reference/listContacts) | `GET /v1/contacts` |
| [Add a contact](/reference/createContact) | `POST /v1/contacts` |
| [Import contacts](/reference/importContacts) | `POST /v1/contacts/import` |
| [Get a contact](/reference/getContact) | `GET /v1/contacts/{contact_id}` |
| [Change a contact](/reference/updateContact) | `PATCH /v1/contacts/{contact_id}` |
| [Delete a contact](/reference/deleteContact) | `DELETE /v1/contacts/{contact_id}` |

## Knowledge

| Operation | Request |
|---|---|
| [List knowledge bases](/reference/listKnowledgeBases) | `GET /v1/knowledge-bases` |
| [List the websites a knowledge base reads](/reference/listKnowledgeCrawls) | `GET /v1/knowledge-bases/{knowledge_base_id}/crawls` |
| [Read a website again](/reference/refreshKnowledgeCrawl) | `POST /v1/knowledge-bases/{knowledge_base_id}/crawls/{crawl_id}/refresh` |
| [List a knowledge base's sources](/reference/listKnowledgeDocuments) | `GET /v1/knowledge-bases/{knowledge_base_id}/documents` |
| [Add a file to a knowledge base](/reference/uploadKnowledgeDocument) | `POST /v1/knowledge-bases/{knowledge_base_id}/documents` |
| [Get a source](/reference/getKnowledgeDocument) | `GET /v1/knowledge-bases/{knowledge_base_id}/documents/{document_id}` |
| [Replace a file](/reference/replaceKnowledgeDocument) | `PUT /v1/knowledge-bases/{knowledge_base_id}/documents/{document_id}` |
| [Delete a source](/reference/deleteKnowledgeDocument) | `DELETE /v1/knowledge-bases/{knowledge_base_id}/documents/{document_id}` |

## Tools

| Operation | Request |
|---|---|
| [List MCP servers](/reference/listMcpServers) | `GET /v1/mcp-servers` |
| [Add an MCP server](/reference/createMcpServer) | `POST /v1/mcp-servers` |
| [Get an MCP server](/reference/getMcpServer) | `GET /v1/mcp-servers/{server_id}` |
| [Change an MCP server](/reference/updateMcpServer) | `PATCH /v1/mcp-servers/{server_id}` |
| [Delete an MCP server](/reference/deleteMcpServer) | `DELETE /v1/mcp-servers/{server_id}` |
| [List tools](/reference/listTools) | `GET /v1/tools` |
| [Create a tool](/reference/createTool) | `POST /v1/tools` |
| [Get a tool](/reference/getTool) | `GET /v1/tools/{tool_id}` |
| [Change a tool](/reference/updateTool) | `PATCH /v1/tools/{tool_id}` |
| [Delete a tool](/reference/deleteTool) | `DELETE /v1/tools/{tool_id}` |

## Vault

| Operation | Request |
|---|---|
| [List tool credentials](/reference/listVaultSecrets) | `GET /v1/vault/secrets` |
| [Add a tool credential](/reference/createVaultSecret) | `POST /v1/vault/secrets` |
| [Get a tool credential](/reference/getVaultSecret) | `GET /v1/vault/secrets/{secret_id}` |
| [Change a tool credential](/reference/updateVaultSecret) | `PATCH /v1/vault/secrets/{secret_id}` |
| [Delete a tool credential](/reference/deleteVaultSecret) | `DELETE /v1/vault/secrets/{secret_id}` |

## Do not call

| Operation | Request |
|---|---|
| [List the do-not-call list](/reference/listDoNotCall) | `GET /v1/do-not-call` |
| [Add a number to the do-not-call list](/reference/addDoNotCall) | `POST /v1/do-not-call` |
| [Take a number off the do-not-call list](/reference/removeDoNotCall) | `DELETE /v1/do-not-call/{number}` |

## Chats

| Operation | Request |
|---|---|
| [Upload a picture](/reference/uploadAttachment) | `POST /v1/attachments` |
| [Start a chat](/reference/createChat) | `POST /v1/chats` |
| [Send a message](/reference/sendMessage) | `POST /v1/conversations/{conversation_id}/messages` |

## WhatsApp

| Operation | Request |
|---|---|
| [Start a WhatsApp conversation](/reference/startWhatsappConversation) | `POST /v1/whatsapp/conversations` |
| [List WhatsApp numbers](/reference/listWhatsappSenders) | `GET /v1/whatsapp/senders` |
| [List a WhatsApp number's templates](/reference/listWhatsappTemplates) | `GET /v1/whatsapp/senders/{sender_id}/templates` |

## Web calls

| Operation | Request |
|---|---|
| [Start a browser call](/reference/createWebCall) | `POST /v1/web-calls` |

## Conversations

| Operation | Request |
|---|---|
| [List conversations](/reference/listConversations) | `GET /v1/conversations` |
| [List deleted conversations](/reference/listDeletedConversations) | `GET /v1/conversations/deleted` |
| [Get a conversation](/reference/getConversation) | `GET /v1/conversations/{conversation_id}` |
| [Delete a conversation](/reference/deleteConversation) | `DELETE /v1/conversations/{conversation_id}` |
| [Analyse a conversation again](/reference/analyzeConversation) | `POST /v1/conversations/{conversation_id}/analysis` |
| [Get a link to a conversation's recording](/reference/getRecording) | `GET /v1/conversations/{conversation_id}/recording` |
| [Get a conversation's transcript](/reference/getTranscript) | `GET /v1/conversations/{conversation_id}/transcript` |

## Live calls

| Operation | Request |
|---|---|
| [Get a command](/reference/getConversationCommand) | `GET /v1/conversations/{conversation_id}/commands/{command_id}` |
| [Follow a call's transcript live](/reference/getLiveTranscript) | `GET /v1/conversations/{conversation_id}/live` |
| [Give the agent a note](/reference/addConversationNote) | `POST /v1/conversations/{conversation_id}/notes` |
| [Have the agent say something](/reference/sayInConversation) | `POST /v1/conversations/{conversation_id}/say` |
| [Transfer a call](/reference/transferConversation) | `POST /v1/conversations/{conversation_id}/transfer` |

## Events

| Operation | Request |
|---|---|
| [List events](/reference/listEvents) | `GET /v1/events` |

## Webhooks

| Operation | Request |
|---|---|
| [List webhook receivers](/reference/listWebhookReceivers) | `GET /v1/webhooks` |
| [Create a webhook receiver](/reference/createWebhookReceiver) | `POST /v1/webhooks` |
| [Get a webhook receiver](/reference/getWebhookReceiver) | `GET /v1/webhooks/{receiver_id}` |
| [Change a webhook receiver](/reference/updateWebhookReceiver) | `PATCH /v1/webhooks/{receiver_id}` |
| [Delete a webhook receiver](/reference/deleteWebhookReceiver) | `DELETE /v1/webhooks/{receiver_id}` |
| [List a receiver's deliveries](/reference/listWebhookDeliveries) | `GET /v1/webhooks/{receiver_id}/deliveries` |
| [Send a delivery again](/reference/resendWebhookDelivery) | `POST /v1/webhooks/{receiver_id}/deliveries/{delivery_id}/resend` |
| [Change a webhook receiver's secret](/reference/rotateWebhookSecret) | `POST /v1/webhooks/{receiver_id}/rotate-secret` |
| [Send a test event](/reference/testWebhookReceiver) | `POST /v1/webhooks/{receiver_id}/test` |

## Billing

| Operation | Request |
|---|---|
| [Get the credit balance](/reference/getCreditBalance) | `GET /v1/billing/balance` |
| [List credit transactions](/reference/listCreditTransactions) | `GET /v1/billing/transactions` |

## Audit log

| Operation | Request |
|---|---|
| [List audit events](/reference/listAuditEvents) | `GET /v1/audit-events` |

## Test mode

| Operation | Request |
|---|---|
| [Make a test call to an agent](/reference/createTestInboundCall) | `POST /v1/test/inbound-calls` |

The objects these answer with are listed under [Objects](/reference/objects).
