# Sawt API reference

Base URL: `﻿https://ai-voice-agent-backend.fly.dev`

Authenticate with an API key from Settings → API keys:

```
Authorization: Bearer sk_live_...
```

Generated from the running application, so every endpoint below exists and
every endpoint that exists is below.

## Agents

### GET /agents/

List Agents

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /agents/

Create Agent

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### DELETE /agents/{agent_id}

Delete Agent

| Parameter | In | Required |
| --- | --- | --- |
| `agent_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### GET /agents/{agent_id}

Get Agent

| Parameter | In | Required |
| --- | --- | --- |
| `agent_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### PATCH /agents/{agent_id}

Update Agent

| Parameter | In | Required |
| --- | --- | --- |
| `agent_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### GET /agents/{agent_id}/knowledge

List Knowledge

| Parameter | In | Required |
| --- | --- | --- |
| `agent_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /agents/{agent_id}/knowledge

Add Knowledge

| Parameter | In | Required |
| --- | --- | --- |
| `agent_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /agents/draft

Draft Agent Endpoint

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### DELETE /agents/knowledge/{item_id}

Delete Knowledge

| Parameter | In | Required |
| --- | --- | --- |
| `item_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /agents/knowledge/{item_id}/media

Attach Knowledge Media

| Parameter | In | Required |
| --- | --- | --- |
| `item_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

## Calls

### GET /calls/

List Calls

| Parameter | In | Required |
| --- | --- | --- |
| `page` | query | no |
| `limit` | query | no |
| `direction` | query | no |
| `status` | query | no |
| `agent_id` | query | no |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### GET /calls/{call_id}

Get Call

| Parameter | In | Required |
| --- | --- | --- |
| `call_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /calls/outbound

Initiate Outbound Call

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

## Campaigns

### GET /campaigns/

List Campaigns

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /campaigns/

Create Campaign

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### DELETE /campaigns/{campaign_id}

Delete Campaign

| Parameter | In | Required |
| --- | --- | --- |
| `campaign_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### PATCH /campaigns/{campaign_id}/amd

Update Campaign Amd

| Parameter | In | Required |
| --- | --- | --- |
| `campaign_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### GET /campaigns/{campaign_id}/analytics

Campaign Analytics

| Parameter | In | Required |
| --- | --- | --- |
| `campaign_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### GET /campaigns/{campaign_id}/analytics.csv

Campaign Analytics Csv

| Parameter | In | Required |
| --- | --- | --- |
| `campaign_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /campaigns/{campaign_id}/pause

Pause Campaign

| Parameter | In | Required |
| --- | --- | --- |
| `campaign_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /campaigns/{campaign_id}/resume

Resume Campaign

| Parameter | In | Required |
| --- | --- | --- |
| `campaign_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /campaigns/{campaign_id}/start

Start Campaign

| Parameter | In | Required |
| --- | --- | --- |
| `campaign_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

## Analytics

### GET /analytics/calls.csv

Calls Csv

| Parameter | In | Required |
| --- | --- | --- |
| `days` | query | no |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### GET /analytics/overview

Overview

| Parameter | In | Required |
| --- | --- | --- |
| `days` | query | no |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

## Do not call

### GET /dnc/

List Dnc

| Parameter | In | Required |
| --- | --- | --- |
| `limit` | query | no |
| `offset` | query | no |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /dnc/

Add Dnc

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### DELETE /dnc/{entry_id}

Remove Dnc

| Parameter | In | Required |
| --- | --- | --- |
| `entry_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /dnc/import

Import Dnc

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

## Numbers

### GET /numbers/

List Numbers

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### DELETE /numbers/{number_id}

Release Phone Number

| Parameter | In | Required |
| --- | --- | --- |
| `number_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### PATCH /numbers/{number_id}/assign

Assign Agent

| Parameter | In | Required |
| --- | --- | --- |
| `number_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### PATCH /numbers/{number_id}/forwarding

Set Forwarding

| Parameter | In | Required |
| --- | --- | --- |
| `number_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /numbers/purchase

Purchase Phone Number

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### GET /numbers/sandbox-access

Sandbox Access

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /numbers/search

Search Numbers

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

## SIP endpoints

### GET /sip/

List Endpoints

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /sip/

Create Endpoint

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### DELETE /sip/{endpoint_id}

Delete Endpoint

| Parameter | In | Required |
| --- | --- | --- |
| `endpoint_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### PATCH /sip/{endpoint_id}

Update Endpoint

| Parameter | In | Required |
| --- | --- | --- |
| `endpoint_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

## Voices

### GET /voices/

List Voices

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### DELETE /voices/{voice_row_id}

Delete Voice

| Parameter | In | Required |
| --- | --- | --- |
| `voice_row_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /voices/clone

Clone Voice

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### GET /voices/preview/{voice_key}

Voice Preview

| Parameter | In | Required |
| --- | --- | --- |
| `voice_key` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

## Documents

### GET /documents/

List Documents

| Parameter | In | Required |
| --- | --- | --- |
| `agent_id` | query | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /documents/

Create Document

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### DELETE /documents/{document_id}

Delete Document

| Parameter | In | Required |
| --- | --- | --- |
| `document_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /documents/{document_id}/reingest

Reingest Document

| Parameter | In | Required |
| --- | --- | --- |
| `document_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

## Function tools

### GET /agents/{agent_id}/tools

List Tools

| Parameter | In | Required |
| --- | --- | --- |
| `agent_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### PUT /agents/{agent_id}/tools/{tool_name}

Toggle Tool

| Parameter | In | Required |
| --- | --- | --- |
| `agent_id` | path | yes |
| `tool_name` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

## Integrations

### GET /integrations/

List Integrations

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### DELETE /integrations/{integration_id}

Disconnect

| Parameter | In | Required |
| --- | --- | --- |
| `integration_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /integrations/cal_com/configure

Cal Com Configure

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /integrations/calendly/configure

Calendly Configure

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /integrations/google/connect

Google Connect

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /integrations/google/start

Google Start

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /integrations/hubspot/connect

Hubspot Connect

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /integrations/hubspot/start

Hubspot Start

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### PATCH /integrations/meta/{integration_id}/agent

Meta Set Agent

| Parameter | In | Required |
| --- | --- | --- |
| `integration_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### GET /integrations/meta/config

Meta Config

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /integrations/meta/connect

Meta Connect Channel

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /integrations/microsoft/connect

Microsoft Connect

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /integrations/microsoft/start

Microsoft Start

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /integrations/resend/configure

Resend Configure

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /integrations/reservation_webhook/configure

Reservation Webhook Configure

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /integrations/salesforce/connect

Salesforce Connect

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /integrations/salesforce/start

Salesforce Start

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /integrations/slack/configure

Slack Configure

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /integrations/stripe/configure

Stripe Configure

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /integrations/whatsapp/configure

Whatsapp Configure

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /integrations/zoho/connect

Zoho Connect

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /integrations/zoho/start

Zoho Start

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

## Webhooks

### GET /webhooks/

List Webhooks

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /webhooks/

Create Webhook

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### DELETE /webhooks/{webhook_id}

Delete Webhook

| Parameter | In | Required |
| --- | --- | --- |
| `webhook_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### PATCH /webhooks/{webhook_id}

Update Webhook

| Parameter | In | Required |
| --- | --- | --- |
| `webhook_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### GET /webhooks/{webhook_id}/deliveries

List Deliveries

| Parameter | In | Required |
| --- | --- | --- |
| `webhook_id` | path | yes |
| `limit` | query | no |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /webhooks/{webhook_id}/test

Test Webhook

| Parameter | In | Required |
| --- | --- | --- |
| `webhook_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

## API keys

### GET /api-keys/

List Keys

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /api-keys/

Create Key

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /api-keys/{key_id}/revoke

Revoke Key

| Parameter | In | Required |
| --- | --- | --- |
| `key_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

## Members

### GET /members/

List Members

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### DELETE /members/{member_id}

Remove Member

| Parameter | In | Required |
| --- | --- | --- |
| `member_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### PATCH /members/{member_id}

Update Member Role

| Parameter | In | Required |
| --- | --- | --- |
| `member_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### GET /members/invitations

List Invitations

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /members/invitations

Create Invitation

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### DELETE /members/invitations/{invitation_id}

Revoke Invitation

| Parameter | In | Required |
| --- | --- | --- |
| `invitation_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /members/invitations/accept

Accept Invitation

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

### POST /members/transfer-ownership

Transfer Ownership

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

## Billing

### GET /billing/overage

Get Overage

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### PUT /billing/overage

Set Overage

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

## Jobs

### GET /jobs/

List Jobs

| Parameter | In | Required |
| --- | --- | --- |
| `status` | query | no |
| `kind` | query | no |
| `limit` | query | no |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /jobs/{job_id}/retry

Retry Job

| Parameter | In | Required |
| --- | --- | --- |
| `job_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

## Evals

### GET /evals/dialects

List Dialect Evals

| Parameter | In | Required |
| --- | --- | --- |
| `limit` | query | no |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /evals/dialects/run

Run Dialect Eval

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

## Audit

### GET /audit-logs/

List Audit Logs

| Parameter | In | Required |
| --- | --- | --- |
| `page` | query | no |
| `limit` | query | no |
| `action` | query | no |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

## Onboarding

### POST /onboarding/

Complete Onboarding

| Parameter | In | Required |
| --- | --- | --- |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

## Conversations

### GET /conversations/

List Conversations

| Parameter | In | Required |
| --- | --- | --- |
| `channel` | query | no |
| `needs_attention` | query | no |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### GET /conversations/{conversation_id}

Get Conversation

| Parameter | In | Required |
| --- | --- | --- |
| `conversation_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

### POST /conversations/{conversation_id}/reply

Reply

| Parameter | In | Required |
| --- | --- | --- |
| `conversation_id` | path | yes |
| `authorization` | header | no |
| `X-Organization-Id` | header | no |

Takes a JSON request body.

## Other

### GET /health

Health Check

### GET /health/deep

Deep Health Check
