# AI SDR API (Jason)

> Program Jason, Reply's autonomous AI SDR — feed it knowledge bases, offers, and playbooks today; run full autopilot sequences with approval gates soon.

- **Note:** Knowledge bases, offers, and playbooks are callable today; autopilot sequences, pending approvals, insights, strategist, and web search are still marked coming soon in Reply's reference as of 2026-07-05 (targeted July 2026).
- **Category:** AI SDR Autopilot
- **Base URL:** `https://api.reply.io/v3`
- **Official reference:** https://docs.reply.io/api-reference/ai-sdr-knowledge-bases/create-a-knowledge-base
- **OpenAPI:** https://headless-jason-ai-sdr-7ajjk.ondigitalocean.app/apis/ai-sdr.openapi.yaml
- **HTML version:** https://headless-jason-ai-sdr-7ajjk.ondigitalocean.app/apis/ai-sdr

## What it does

This is the highest-altitude API in the platform. Instead of orchestrating individual APIs, your agent configures another agent — [Jason](https://reply.io/jason-ai/), Reply's autonomous AI SDR — and supervises it. The surface splits cleanly into what is callable today and what Reply's reference marks as coming soon.

**Callable today** (scopes `ai-sdr:read` / `ai-sdr:write`):

- **Knowledge bases** — create, get, list, update, delete, and duplicate knowledge bases; upload, list, and delete documents; add, list, and delete links. Reply handlers and reengagement cards (including media upload) are available in beta and may change without notice.
- **Offers** — create, get, list, update, and delete the value propositions Jason pitches. Generate an offer, duplicate an offer, and attachment upload for generation are marked coming soon (targeted July 2026).
- **Playbooks** — create, get, list, update, and delete playbooks; upload and delete a style file that sets Jason's voice. Duplicate a playbook is marked coming soon.

**Marked coming soon in Reply's reference (targeted July 2026; re-verified 2026-07-05):**

- **AI SDR sequences** — create an AI SDR sequence, read and update its settings, attach or detach a playbook, connect or disconnect a knowledge base, set generated step types, set the approval mode, enable or disable autopilot, force-start an autopilot search, and preview autopilot results.
- **Pending approvals** — list pending approvals, get the pending approval for a contact, send one or a batch, regenerate, reject, and submit feedback on a draft.
- **Sequence preview** — personalize the preview for a contact and submit feedback on a preview step.
- **Insights** — get AI insights for a contact.
- **Strategist** — start a strategist run.
- **Web search** — start an AI web search and list AI web searches for a sequence.

## The problem it solves

Composing Prospect Search, Sequences, and Conversations yourself means your agent owns targeting, copywriting, follow-up logic, and reply handling — a lot of orchestration state to hold correctly. The AI SDR API moves your agent up one level of altitude: it programs Jason's inputs (what Jason knows, what it sells, how it writes) and — once the autopilot surface ships — supervises Jason's outputs through approval gates. Pending approvals plus feedback endpoints are the contract that makes agent-supervising-agent workflows safe. Nothing goes out unless the supervisor sends it, and every regenerate or feedback call tunes what Jason drafts next.

## How an agent starts using it

With an API key holding the `ai-sdr:write` scope, create a knowledge base with `POST /v3/ai-sdr/knowledge-bases`, upload product documents and add links to it, create an offer, then create a playbook and upload a style file. Those three objects fully define Jason's behavior. When the AI SDR sequence endpoints ship (targeted July 2026), the loop closes — create an AI SDR sequence, connect the knowledge base, attach the playbook, set the approval mode, and enable autopilot, then poll pending approvals and send, regenerate, or reject each draft.

## Typical agent tasks

- Create a knowledge base and load it with product documents and links so Jason writes from real source material
- Create and update offers that define exactly what Jason pitches
- Create a playbook and upload a style file so Jason matches your team's voice
- Duplicate a proven knowledge base as the starting point for a new market
- Review pending approvals and send, regenerate, or reject Jason's drafted messages (coming soon)

## Inputs

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `name` | string | yes | Name for the knowledge base, offer, or playbook (create endpoints). |
| `documents` | file[] | no | Source files uploaded to a knowledge base via the Upload a document endpoint. |
| `links` | string[] | no | URLs added to a knowledge base for Jason to draw on, via the Add a link endpoint. |
| `styleFile` | file | no | Writing sample uploaded to a playbook to calibrate Jason's tone. |

## Outputs

| Name | Type | Description |
|------|------|-------------|
| `id` | string | Knowledge base, offer, or playbook identifier — the handle an AI SDR sequence references. |
| `documents` | Document[] | Files and links indexed into a knowledge base. |
| `pendingApprovals` | PendingApproval[] | Jason's drafted outreach awaiting a send, regenerate, or reject decision (endpoints marked coming soon). |

## Authentication

API key as Bearer token. Send `Authorization: Bearer <API_KEY>` on every request. Required scopes: `ai-sdr:read`, `ai-sdr:write`. Get an API key in the Reply.io app under **Settings → API Key** (https://docs.reply.io/api-reference/authentication).

## Rate limits

100 requests/minute and 3,000 requests/hour per user (shared across all of the user's API clients). On 429, honor the Retry-After header.

## Example

### Request — `POST /v3/ai-sdr/knowledge-bases`

```bash
curl -X POST https://api.reply.io/v3/ai-sdr/knowledge-bases \
  -H "Authorization: Bearer $REPLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Acme platform - product knowledge" }'
```

### Response — `201`

```json
{
  "id": 314,
  "name": "Acme platform - product knowledge",
  "createdAt": "2026-07-04T09:15:00Z"
}
```

### Error — `403`

```json
{
  "type": "https://docs.reply.io/api-reference/authentication",
  "title": "Forbidden",
  "status": 403,
  "detail": "This API key does not have the required scope: ai-sdr:write."
}
```

## Related APIs

- [Prospect Search API](https://headless-jason-ai-sdr-7ajjk.ondigitalocean.app/apis/prospect-search.md) — Search Reply Data — 1B+ contacts and 60M+ companies — by ICP filters like job title, seniority, department, industry, and location, and turn the matches into a prospect list. (Coming soon)
- [Sequence API](https://headless-jason-ai-sdr-7ajjk.ondigitalocean.app/apis/sequences.md) — Create, populate, and control multichannel outreach sequences — email, LinkedIn, and calls in one campaign object.
- [Conversations & Inbox API](https://headless-jason-ai-sdr-7ajjk.ondigitalocean.app/apis/conversations-inbox.md) — The unified inbox as an API — read threads across email and LinkedIn, classify replies with categories, detect meeting intent, and respond.
- [Analytics API](https://headless-jason-ai-sdr-7ajjk.ondigitalocean.app/apis/analytics.md) — Outcome data for optimizing agents — email, LinkedIn, call, and task overviews, activity feeds, team performance, channel efficiency, and the meetings list.

## FAQ

**What is the difference between a knowledge base, an offer, and a playbook?**

A knowledge base is the source material Jason reads — documents, links, and (in beta) reply handlers and reengagement cards. An offer is the specific value proposition and call to action it pitches. A playbook is the strategy and voice — the outreach approach plus a style file that calibrates tone. An AI SDR sequence references all three once the sequence endpoints ship.

**How does approval mode keep a human or supervising agent in the loop?**

Per Reply's reference (marked coming soon as of 2026-07-05, targeted July 2026), each AI SDR sequence has an approval mode. With approvals on, Jason queues drafted messages as pending approvals instead of sending. A supervisor — human or agent — lists them, then sends one or a batch, regenerates, or rejects each draft, and can submit feedback that steers future generations.

**When should an agent use this instead of composing the lower-level APIs itself?**

Compose Prospect Search, Sequences, and Conversations directly when you need deterministic control of every step. Use the AI SDR API when you want to delegate execution — configure Jason once with a knowledge base, an offer, and a playbook, then supervise outcomes through approval gates instead of orchestrating each send yourself.
