Sequence API
Create, populate, and control multichannel outreach sequences: email, LinkedIn, and calls in one campaign object.
Callable today, including counting sequences, counting the contacts in a sequence, unarchiving a sequence singly or in bulk, the AI Prompts group for the commentOnRecentPost step (list, create, update, and delete personal prompts, and preview one against a sample or a real LinkedIn post), the Voices group behind the LinkedIn AI voice message step, and linking or unlinking a voice to a specific LinkedIn account via the LinkedIn Accounts API. Still coming soon: per-step, per-variant email and LinkedIn stats for one sequence (targeted early October 2026). Verified 2026-10-09.
- Base URL
https://api.reply.io/v3- Official reference
- docs.reply.io/api-reference/sequences/list-all-sequences
- OpenAPI
- sequences.openapi.yaml
- Markdown twin
- sequences.md
- Scopes
sequences:readsequences:writesequences:operate
What it does
The Sequence API is the outreach engine. A sequence is a multichannel campaign object: an ordered series of steps (automated email, LinkedIn action, call task) with delays, sending schedules, and A/B message variants. The API covers the full lifecycle: create a sequence (from scratch or a template), define its steps and variants, assign sending mailboxes and LinkedIn accounts, add contacts in bulk, start, pause, archive and unarchive, count sequences and the contacts in one, and read stats per sequence (a per-step, per-variant breakdown is coming soon). It also exposes a per-contact preview: fetch the AI-personalized message templates queued for a contact before they send, and reset any manual edits back to the generated version.
A LinkedIn step type has the AI comment on a contact's most recent post instead of sending a message. The AI Prompts endpoints manage the prompts behind it: list the library and personal prompts available for the step, save, update, or delete your own, and preview one before you commit to it: against a generic sample post for free, or against a real profile's latest post for one Reply credit. See docs.reply.io/api-reference/ai-prompts for the full request and response shapes.
A second AI-driven LinkedIn step, the AI voice message, turns the step's text into speech at send time, in the voice linked to the sending LinkedIn account or, if none is linked, the team's default voice. The Voices endpoints manage those cloned voices: clone one from an audio sample (a connected LinkedIn account is required, and your plan limits how many you can have), list, read, rename, or delete them, set the team default, and look up the supported languages and the background-noise presets a step can mix in. Linking a voice to one specific LinkedIn account, and unlinking it, are callable today on the LinkedIn Accounts API (PUT and DELETE /v3/linkedin-accounts/{id}/voice); an account holds one voice at a time, so linking a new one replaces whatever was there. See docs.reply.io/api-reference/voices for the full request and response shapes.
Per-step, per-variant stats are coming soon (targeted early October 2026): POST /v3/sequences/{id}/stats/emails and POST /v3/sequences/{id}/stats/linkedin will return one sequence's email or LinkedIn figures per step and per A/B variant, built for comparing variants. Until they ship, POST /v3/sequences/{id}/stats returns the sequence-wide email and LinkedIn figures, and the email and LinkedIn activity lists on the Analytics API tag each row with its step and, where there is one, its A/B variant.
The problem it solves
Sending one email is easy; running outreach is not. Follow-up timing, channel mixing, reply detection (stop-on-reply), bounce handling, A/B testing, and sender rotation are months of infrastructure work. An agent that creates a sequence and adds contacts gets all of that from one API call surface; the machinery is Reply.io’s, already running at production scale.
How an agent starts using it
Create a sequence with POST /v3/sequences, add steps with the Sequence Steps endpoints, assign a mailbox with Sequence Email Accounts, add contacts with POST /v3/sequences/{id}/contact-links/bulk-style Sequence Contacts operations, then POST /v3/sequences/{id}/start. Requires an API key with sequences:write and sequences:operate scopes. Reply detection, scheduling, and sending are handled by the platform from there. Once contacts are in, POST /v3/sequences/{id}/contacts/set-email-account repoints up to 100 of them at a different mailbox already linked to the sequence: useful for rebalancing sending volume without pulling contacts out and back in.
Typical agent tasks
- Create a sequence with email and LinkedIn steps for a new campaign
- Add a batch of qualified contacts to a running sequence
- Repoint contacts already in a sequence to a different linked sending mailbox, without removing and re-adding them
- Pause a sequence when reply rates drop below a threshold
- Compare A/B variants and disable the loser (per-variant stats on this API are coming soon; the Analytics API's activity lists carry each row's variant today)
- Save a winning sequence as a reusable template
- Preview the AI-personalized message templates queued for a contact before they send, and reset manual edits
- Unarchive a sequence to reuse it, then add its contacts again before starting it
- Clone a voice from an audio sample for LinkedIn AI voice message steps, then link it to the sending LinkedIn account
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
name | string | yes | Sequence name (create). |
steps | SequenceStep[] | no | Steps with channel, delay, and message variants – managed via the Sequence Steps endpoints. |
contactIds | string[] | no | Contacts to add, via the Sequence Contacts endpoints (bulk add supported). |
emailAccountIds | string[] | no | Sending mailboxes to assign, via the Sequence Email Accounts endpoints. |
Outputs
| Name | Type | Description |
|---|---|---|
id | string | Sequence identifier used by every other sequence endpoint. |
status | string | Lifecycle state (new, active, paused); whether a sequence is archived is a separate isArchived flag. |
stats | SequenceStats | Email and LinkedIn engagement per sequence: contacted, delivered, opened, replied, interested, bounced, meetings booked, plus connection and message figures. Per-step, per-variant breakdowns are coming soon. |
Authentication
API key as Bearer token. Send Authorization: Bearer <API_KEY> on every request. Get an API key in the
Reply.io app under Settings → API Key:
authentication reference.
Rate limits
100 requests/minute, 3,000 requests/hour, and 150,000 requests/week per user (shared across all of the user's API clients). The stats endpoints (/v3/sequences/{id}/stats, /v3/sequences/stats) may throttle earlier. On 429, honor the Retry-After header.
Example
curl -X POST https://api.reply.io/v3/sequences \
-H "Authorization: Bearer $REPLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "SaaS founders - outbound July" }'
{
"id": 5417,
"name": "SaaS founders - outbound July",
"status": "new",
"createdAt": "2026-07-04T09:15:00Z"
}
{
"type": "https://docs.reply.io/api-reference/authentication",
"title": "Forbidden",
"status": 403,
"detail": "This API key does not have the required scope: sequences:write."
}
Related APIs
Modules are designed to chain; combining them is the point.
Contact Data API
The CRM-grade contact and account store: create, import, filter, and organize the people and companies your agent works.
Outreach Actions API
One-off sends outside a sequence: a single email, LinkedIn connection request, InMail, message, or voice message, on demand.
Conversations & Inbox API
The unified inbox as an API: read threads across email and LinkedIn, classify replies with categories, detect meeting intent, and respond.
Analytics API
Outcome data for optimizing agents: email, LinkedIn, call, and task overviews, activity feeds, team performance, channel efficiency, and the meetings list.
Templates & Schedules API
Reusable email and sequence templates, variable rendering, sending schedules, and holiday calendars.
Frequently asked questions
Can one sequence mix email and LinkedIn steps?
Yes. A sequence is a multichannel object; steps can be automated emails, LinkedIn actions, or call tasks, with per-step delays and A/B variants.
How does an agent start and stop a sequence?
POST /v3/sequences/{id}/start and /pause (scope sequences:operate). Bulk start, pause, archive, and unarchive endpoints exist for managing many sequences at once.
Where do replies to a sequence show up?
In the unified inbox. Use the Conversations & Inbox API to read threads, or subscribe to the email_replied webhook event to be pushed each reply.
Start here: get an API key and make your first call, or explore workflows that combine this module with others.