Reply.io integration for AI agents.
Reply.io integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves Reply.io tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.
Real Reply.io actions, managed and audited.
Your user connects Reply.io once; your agent can then use Reply.io to manage contacts, accounts, sequences, inbox, email channels, reporting, and outreach workflows — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.
- 1
Your user grants Reply.io access once (OAuth) — the token lands in the vault.
- 2
Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.
- 3
Every routed call appends a hash-chained audit record — nothing leaves your infra.
Supported Reply.io tools.
356 tools are generated from the published Reply.io catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.
Showing 356 tools. All published catalog entries are included in this page's server-rendered HTML.
- Add accounts to an account list
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Adds accounts to the specified account list, preserving any other list memberships. This is a non-atomic operation: successfully added accounts are not rolled back if some fail. The response contains only the failed items with their error details.
- Account Lists
- Add a note to a contact
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Adds a note to an existing contact
- Contacts
- Add contacts to a contact list
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Adds contacts to the specified contact list. This is a non-atomic operation: successfully added contacts are not rolled back if some fail. The response contains only the failed items with their error details.
- Contact Lists
- Add a link
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Adds a web link to a knowledge base. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Add tags to an email account
- <small>_Requires the `channels:operate` scope (or a broader one that includes it)._</small> Adds one or more tags to an email account by tag name. Tags that don't exist yet will be created automatically.
- Email Accounts
- Archive a sequence
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Archives a sequence. Returns the updated sequence.
- Sequences
- Assign email account to sequence
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Links an email account to the sequence so it can be used for sending outbound emails.
- Sequence Email Accounts
- Assign a LinkedIn account to a sequence
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Links a LinkedIn account to the specified sequence
- Sequence LinkedIn Accounts
- Reassign a task
- <small>_Requires the `tasks:write` scope (or a broader one that includes it)._</small> Changes the assigned user for a single task. The target user must be a member of the caller's team.
- Tasks
- Assign threads to a category
- <small>_Requires the `inbox:operate` scope (or a broader one that includes it)._</small> Non-atomic bulk assignment — links each supplied thread to this category. Per-item failures are returned in a dictionary keyed by thread id. **Per-item error codes** | Error code | Meaning | | --- | --- | | `notFound` | Thread or category not found | | `invalidInput` | Invalid input | | `forbidden` | User not allowed to assign this thread |
- Inbox
- Batch reassign tasks
- <small>_Requires the `tasks:write` scope (or a broader one that includes it)._</small> Reassigns multiple tasks to a user. The target user must be a member of the caller's team. Non-atomic — some may succeed while others fail. Items not in the response dictionary succeeded.
- Tasks
- Batch complete tasks
- <small>_Requires the `tasks:operate` scope (or a broader one that includes it)._</small> Completes multiple tasks without execution. Non-atomic — some may succeed while others fail. Items not in the response dictionary succeeded.
- Tasks
- Bulk add contacts to an account
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Adds multiple contacts to the specified account. Non-atomic — some may succeed while others fail. Items not in the response dictionary succeeded.
- Accounts
- Bulk add contacts to sequence
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Add multiple contacts to the sequence at once
- Sequence Contacts
- Bulk archive sequences
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Archives multiple sequences at once. Non-atomic — some may succeed while others fail.
- Sequences
- Bulk assign sequences to a folder
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Assigns multiple sequences to a folder. Returns a map of sequence IDs that could not be processed with their error details.
- Sequence Folders
- Bulk change sequence owner
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Changes the owner of multiple sequences at once. Non-atomic — some may succeed while others fail.
- Sequences
- Bulk create domain blacklist rules
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Creates multiple domain blacklist rules. Non-atomic — some may succeed while others fail. Each item in the response array contains the created ID or error details.
- Contact Blacklist Rules
- Bulk create email exception blacklist rules
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Creates multiple email exception blacklist rules. Non-atomic — some may succeed while others fail. Each item in the response array contains the created ID or error details.
- Contact Blacklist Rules
- Bulk create email blacklist rules
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Creates multiple email blacklist rules. Non-atomic — some may succeed while others fail. Each item in the response array contains the created ID or error details.
- Contact Blacklist Rules
- Bulk create accounts
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Creates multiple accounts. Non-atomic — some may succeed while others fail. Each item in the response array contains the created ID or error details.
- Accounts
- Bulk create step variants
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Creates multiple text variants for a sequence step at once. For email steps, each variant may carry up to **3** `attachmentIds` (upload first via `POST /v3/attachments`); inaccessible attachment IDs surface as a per-item `forbidden` result.
- Sequence Steps
- Bulk create sequence steps
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Creates multiple steps in a sequence at once. Returns a list of results for each step. Email-step variants may carry up to **3** `attachmentIds` each; inaccessible attachment IDs surface as a per-item `forbidden` result (upload first via `POST /v3/attachments`).
- Sequence Steps
- Bulk delete domain blacklist rules
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Deletes multiple domain blacklist rules by ID. Non-atomic — some may succeed while others fail. Items not in the response dictionary succeeded.
- Contact Blacklist Rules
- Bulk delete email exception blacklist rules
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Deletes multiple email exception blacklist rules by ID. Non-atomic — some may succeed while others fail. Items not in the response dictionary succeeded.
- Contact Blacklist Rules
- Bulk delete email blacklist rules
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Deletes multiple email blacklist rules by ID. Non-atomic — some may succeed while others fail. Items not in the response dictionary succeeded.
- Contact Blacklist Rules
- Bulk delete accounts
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Deletes multiple accounts by ID. Non-atomic — some may succeed while others fail. Items not in the response dictionary succeeded.
- Accounts
- Bulk delete contacts
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Deletes multiple contacts by ID. Non-atomic — some may succeed while others fail.
- Contacts
- Bulk delete email accounts
- <small>_Requires the `channels:write` scope (or a broader one that includes it)._</small> Deletes multiple email accounts at once. This is a non-atomic operation: successfully deleted accounts are not rolled back if some fail. The response contains only the failed items with their error details.
- Email Accounts
- Bulk-delete inbox threads
- <small>_Requires the `inbox:operate` scope (or a broader one that includes it)._</small> Non-atomic bulk delete. Successful threads are removed; per-item failures (e.g. not found, forbidden) are returned in a dictionary keyed by thread id. **Per-item error codes** | Error code | Meaning | | --- | --- | | `notFound` | Thread not found | | `forbidden` | User not allowed to delete this thread |
- Inbox
- Bulk delete LinkedIn accounts
- <small>_Requires the `channels:write` scope (or a broader one that includes it)._</small> Deletes multiple LinkedIn accounts. Returns a dictionary of failed items keyed by account ID.
- LinkedIn Accounts
- Bulk delete step variants
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Deletes multiple variants from a sequence step at once. Returns a map of variant IDs that could not be processed with their error details.
- Sequence Steps
- Bulk delete sequence steps
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Deletes multiple steps from a sequence at once. Returns a map of step IDs that could not be processed with their error details.
- Sequence Steps
- Bulk delete sequences
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Deletes multiple sequences at once. Non-atomic — some may succeed while others fail.
- Sequences
- Bulk delete tasks
- <small>_Requires the `tasks:write` scope (or a broader one that includes it)._</small> Deletes multiple tasks by ID. Non-atomic — some may succeed while others fail. Items not in the response dictionary succeeded.
- Tasks
- Bulk pause sequences
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Pauses multiple sequences at once. Non-atomic — some may succeed while others fail.
- Sequences
- Bulk remove contacts from an account
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Removes multiple contacts from the specified account. Non-atomic — some may succeed while others fail. Items not in the response dictionary succeeded.
- Accounts
- Bulk remove contacts from sequence
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Remove multiple contacts from the sequence at once
- Sequence Contacts
- Bulk start sequences
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Starts multiple sequences at once. Non-atomic — some may succeed while others fail.
- Sequences
- Bulk unarchive sequences
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Unarchives multiple sequences at once. Non-atomic — some may succeed while others fail.
- Sequences
- Bulk unassign sequences from a folder
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Removes multiple sequences from a folder. Returns a map of sequence IDs that could not be processed with their error details.
- Sequence Folders
- Cancel a background job
- <small>_Requires the `other:operate` scope (or a broader one that includes it)._</small> Requests cancellation of a background job. Idempotent — cancelling an already-terminal job returns 204 without effect on the worker. The request body is optional; if provided, the `reason` is recorded alongside the cancellation event.
- Background Jobs
- Change contacts owner
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Changes the owner of one or more contacts to a different team member
- Contacts
- Disconnect the knowledge base from the sequence
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:operate` scope (or a broader one that includes it)._</small> Disconnects the knowledge base connected to the sequence. Returns 404 if no knowledge base is connected. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Detach the playbook from the sequence
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:operate` scope (or a broader one that includes it)._</small> Detaches the playbook attached to the sequence. Returns 404 if no playbook is attached. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Clone an email template
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Creates a copy of an existing email template.
- Email Templates
- Complete a task
- <small>_Requires the `tasks:operate` scope (or a broader one that includes it)._</small> Marks a task as completed without execution (no email sent, no SMS sent). For tasks that require execution (sending), use the execute endpoint instead.
- Tasks
- Connect Gmail account via OAuth
- <small>_Requires the `channels:write` scope (or a broader one that includes it)._</small> Initiates Gmail OAuth flow. Returns a 302 redirect to Google's OAuth consent page. After authorization, the email account will be automatically connected.
- Email Accounts
- Connect Office 365 account via OAuth
- <small>_Requires the `channels:write` scope (or a broader one that includes it)._</small> Initiates Microsoft Office 365 OAuth flow. Returns a 302 redirect to Microsoft's OAuth consent page. After authorization, the email account will be automatically connected.
- Email Accounts
- Count contacts in sequence
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns the total number of contacts enrolled in the sequence.
- Sequence Contacts
- Count sequences
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns the total number of sequences matching the given filters. Accepts the same filter parameters as `GET /v3/sequences` (except pagination and sorting).
- Sequences
- Create an AI SDR sequence
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Creates a new AI SDR sequence with its full AI SDR settings payload. The sequence is seeded either from a saved offer (`offerId`) or from inline offer-context inputs (`offerGenerationInputs`) — exactly one is required. Sequence steps are generated by the AI SDR — clients do not pass `steps` here. Generic sequence fields (`name`, `scheduleId`, `settings`, `emailAccounts`, `linkedInAccounts`) are accepted and applied after the AI SDR-specific setup. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Create a domain blacklist rule
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Creates a new domain blacklist rule.
- Contact Blacklist Rules
- Create an email exception blacklist rule
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Creates a new email exception blacklist rule.
- Contact Blacklist Rules
- Create an email blacklist rule
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Creates a new email blacklist rule.
- Contact Blacklist Rules
- Create a contact
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Creates a new contact. All fields are optional — at minimum provide email or a LinkedIn URL.
- Contacts
- Create an account
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Creates a new account.
- Accounts
- Create an account list
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Creates a new account list for the current user's team. Names must be 3–128 characters and unique per team.
- Account Lists
- Create a contact list
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Creates a new contact list.
- Contact Lists
- Create a custom field
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Creates a new custom field
- Custom Fields
- Create a direct connection link
- <small>_Requires the `channels:write` scope (or a broader one that includes it)._</small> Creates a direct connection link for connecting a LinkedIn account without specifying a name upfront.
- LinkedIn Accounts
- Create an email account
- <small>_Requires the `channels:write` scope (or a broader one that includes it)._</small> Creates a new email account. Only works with custom email account providers (SMTP/IMAP).
- Email Accounts
- Create an email template
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Creates a new email template.
- Email Templates
- Create an email template folder
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Creates a new email template folder.
- Email Templates
- Create a holiday calendar
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Creates a new custom holiday calendar.
- Holiday Calendars
- Create inbox category
- <small>_Requires the `inbox:write` scope (or a broader one that includes it)._</small> Creates a custom inbox category. Names must be unique within the team (case-insensitive).
- Inbox
- Create a knowledge base
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Creates a new knowledge base. Only `name` is required. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Create a connection link
- <small>_Requires the `channels:write` scope (or a broader one that includes it)._</small> Creates a new connection link for connecting a LinkedIn account via browser extension. Also creates a pending account entry.
- LinkedIn Accounts
- Create an offer
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Creates a new offer. Only `name` is strictly required; all other fields default to empty. Requires the AI SDR feature on the caller's team.
- AI SDR Offers
- Create a playbook
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Creates a new playbook in the `organization` or `team` scope. `global` playbooks are Reply-curated and cannot be created via the API. Requires the AI SDR feature on the caller's team.
- AI SDR Playbooks
- Create a reengagement card
- <Info> **Beta.** This endpoint is in beta. Behavior, parameters, and response shapes may change without notice. </Info> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Creates a new reengagement card attached to a knowledge base. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Create a reply handler
- <Info> **Beta.** This endpoint is in beta. Behavior, parameters, and response shapes may change without notice. </Info> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Creates a new reply handler attached to a knowledge base. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Create a schedule
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Creates a new schedule with timing configuration.
- Schedules
- Create a sequence
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Creates a new email sequence
- Sequences
- Create a sequence folder
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Creates a new sequence folder
- Sequence Folders
- Create a sequence from a template
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Creates a new sequence based on an existing sequence template
- Sequences
- Create a sequence step
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Creates a new step in a sequence. For bulk creation, use the `/steps/bulk` endpoint. For email steps, each variant may carry up to **3** `attachmentIds` (upload first via `POST /v3/attachments`); attachments that don't belong to the caller (or the caller's team) are rejected with `403 sequenceStep.forbidden`.
- Sequence Steps
- Create a step variant
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Creates a new variant for a sequence step. Supports both text variants (`application/json`) and voice message variants (`multipart/form-data`). For email-step text variants, the request may carry up to **3** `attachmentIds` (upload first via `POST /v3/attachments`). Inaccessible attachment IDs are rejected with `403 sequenceStep.forbidden`.
- Sequence Steps
- Create a task
- <small>_Requires the `tasks:write` scope (or a broader one that includes it)._</small> Creates a new task. The template body may contain handlebars variables (e.g. `{{firstName}}`) which are resolved when the task is read or executed.
- Tasks
- Create a webhook subscription
- <small>_Requires the `webhooks:write` scope (or a broader one that includes it)._</small> Creates a new webhook subscription for the authenticated user. `scope` defaults to `personal` when omitted. `team`-scope subscriptions are accepted only when policy allows: any member may create them for public teams or organization mode; only the team owner may create them for private teams. Attempting to create an `organization`-scope subscription is rejected with `code: webHook.organizationScopeNotImplemented` — the value is reserved for future use.
- Webhooks
- Reject (delete) a pending approval
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Discards the pending AI-generated message for a contact and removes the contact from the sequence. The queued draft and its personalization step are deleted. Requires the AI SDR feature on the caller's team.
- AI SDR Pending Approvals
- Delete a domain blacklist rule
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Deletes an existing domain blacklist rule. Global rules (seeded by the system) cannot be deleted.
- Contact Blacklist Rules
- Delete an email exception blacklist rule
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Deletes an existing email exception blacklist rule.
- Contact Blacklist Rules
- Delete an email blacklist rule
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Deletes an existing email blacklist rule. Global rules (seeded by the system) cannot be deleted.
- Contact Blacklist Rules
- Delete a contact
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Deletes an existing contact
- Contacts
- Delete an account
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Deletes an existing account.
- Accounts
- Delete an account list
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Deletes an existing account list. The accounts themselves are not deleted — only their membership in this list is removed.
- Account Lists
- Delete a contact list
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Deletes an existing contact list.
- Contact Lists
- Delete a custom field
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Deletes an existing custom field
- Custom Fields
- Delete an email account
- <small>_Requires the `channels:write` scope (or a broader one that includes it)._</small> Deletes an existing email account by ID.
- Email Accounts
- Delete an email template
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Deletes an email template by ID.
- Email Templates
- Delete an email template folder
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Deletes an email template folder by ID.
- Email Templates
- Delete a holiday calendar
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Deletes a custom holiday calendar. Only custom calendars can be deleted.
- Holiday Calendars
- Delete inbox category
- <small>_Requires the `inbox:write` scope (or a broader one that includes it)._</small> Deletes a custom category and unlinks it from any threads. Reserved (system) categories reject this operation with 403 / `code: inboxCategory.cannotModifyDefault`.
- Inbox
- Delete inbox thread
- <small>_Requires the `inbox:operate` scope (or a broader one that includes it)._</small> Permanently deletes a single thread.
- Inbox
- Delete a knowledge base
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Deletes a knowledge base. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Delete a document
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Removes a document from a knowledge base. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Delete a link
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Removes a link from a knowledge base. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Delete a LinkedIn account
- <small>_Requires the `channels:write` scope (or a broader one that includes it)._</small> Deletes a LinkedIn account by ID. Use the force parameter to delete accounts that are in use by sequences.
- LinkedIn Accounts
- Delete an offer
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Deletes an offer. Requires the AI SDR feature on the caller's team.
- AI SDR Offers
- Delete a pending LinkedIn account
- <small>_Requires the `channels:write` scope (or a broader one that includes it)._</small> Deletes a pending LinkedIn account that has not yet been connected.
- LinkedIn Accounts
- Delete a playbook
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Deletes a playbook. `global` playbooks cannot be deleted via the API. Requires the AI SDR feature on the caller's team.
- AI SDR Playbooks
- Delete a style file
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Removes a style file from a playbook. Requires the AI SDR feature on the caller's team.
- AI SDR Playbooks
- Delete a reengagement card
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Deletes a reengagement card. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Delete reengagement card media
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Removes a media item from a reengagement card. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Delete a reply handler
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Deletes a reply handler. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Delete reply handler media
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Removes a media item from a reply handler. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Delete a schedule
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Deletes a schedule by ID. Cannot delete the default schedule or a schedule in use.
- Schedules
- Delete a sequence
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Deletes an existing sequence
- Sequences
- Delete a sequence folder
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Deletes an existing sequence folder
- Sequence Folders
- Delete a sequence step
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Deletes a sequence step. By default only the addressed step is removed (`mode=nodeOnly`), and any children remain attached to the parent. For condition (branch) steps, set `mode` to also remove descendants on one or both branches.
- Sequence Steps
- Delete a step variant
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Deletes an existing variant from a sequence step
- Sequence Steps
- Delete a sequence template
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Deletes an existing sequence template. - **Global templates** (seeded by the system) cannot be deleted — returns 403. - **User-scoped templates** are team-shared: any teammate may delete a template visible to them. Out-of-team or non-existent ids return 404. - **Organization templates** require the `DeleteOrgTemplates` feature scope — callers without it get 403.
- Sequence Templates
- Delete a task
- <small>_Requires the `tasks:write` scope (or a broader one that includes it)._</small> Deletes a single task by ID. Returns 204 on success.
- Tasks
- Delete a webhook subscription
- <small>_Requires the `webhooks:write` scope (or a broader one that includes it)._</small> Permanently deletes the subscription and its delivery-log payloads.
- Webhooks
- Disable autopilot
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:operate` scope (or a broader one that includes it)._</small> Disables autopilot on the sequence. No-op when autopilot is already disabled. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Disable step variants
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Disables the specified variants on a sequence step. Variants are toggled independently — failures are reported per `variantId` in the response without aborting the whole call.
- Sequence Steps
- Disable a webhook subscription
- <small>_Requires the `webhooks:operate` scope (or a broader one that includes it)._</small> Pauses a subscription without deleting it — no events fire until re-enabled. Idempotent: calling on an already-disabled subscription still returns `204`. Use this dedicated endpoint rather than `PUT` to toggle the paused state (`PUT` does not accept the `enabled` flag).
- Webhooks
- Duplicate a knowledge base
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Creates a copy of an existing knowledge base, including its links, documents, reply handlers, and reengagement cards. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Duplicate an offer
- <Warning> **Coming soon.** This endpoint will be available by mid July 2026. </Warning> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Creates a copy of an existing offer, including its company-context fields (ICP, reason for outreach, case studies, pain points, proof points, value propositions, and calls to action). The copy is returned in the response body. Requires the AI SDR feature on the caller's team.
- AI SDR Offers
- Duplicate a playbook
- <Warning> **Coming soon.** This endpoint will be available by mid July 2026. </Warning> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Creates a copy of an existing playbook and returns the new playbook in the response body. `global` playbooks can also be duplicated. Requires the AI SDR feature on the caller's team.
- AI SDR Playbooks
- Enable autopilot
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:operate` scope (or a broader one that includes it)._</small> Enables autopilot on the sequence. No-op when autopilot is already enabled. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Enable step variants
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Enables the specified variants on a sequence step. Variants are toggled independently — failures are reported per `variantId` in the response without aborting the whole call.
- Sequence Steps
- Enable a webhook subscription
- <small>_Requires the `webhooks:operate` scope (or a broader one that includes it)._</small> Resumes a paused subscription. Idempotent — calling on an already-enabled subscription still returns `204`. Use this dedicated endpoint rather than `PUT` to toggle the paused state (`PUT` does not accept the `enabled` flag). When the active-subscriptions limit has been reached, returns `409 Conflict` with `code: webHook.limitReached`.
- Webhooks
- Enrich contacts by email
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> Enriches contact data using each contact's existing email address. Consumes credits from the Reply credit pool — 1 credit per contact.
- Contact Enrichment
- Enrich contacts by LinkedIn URL
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> Enriches contact data using each contact's LinkedIn URL. Optionally also finds email and/or phone in the same call. Consumes credits from the Reply credit pool: 1 per contact, plus (when find-email is enabled) 2 and (when find-phone is enabled) 3 per contact.
- Contact Enrichment
- Fill AI custom fields
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> Fills configured AI custom field values for contacts using AI. Consumes credits from the Reply credit pool — 1 credit per contact-field combination.
- Contact Enrichment
- Estimate email validation
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Synchronous probe — given a list of contact IDs, returns counts, credit sufficiency, and any blockers that would prevent scheduling. Useful for showing pre-flight feedback in the UI before triggering `/schedule`.
- Email Validations
- Execute and complete a task
- <small>_Requires the `tasks:operate` scope (or a broader one that includes it)._</small> Executes the task action (sends email or SMS) and completes it. Only ManualEmail (7) and Sms (8) task types support execution. Other task types return 400 — use the complete endpoint for those.
- Tasks
- Export a holiday calendar as CSV
- <Warning> **Coming soon.** This endpoint will be available by mid-July 2026. </Warning> <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Exports the holidays of a calendar as a CSV file. The response filename matches the calendar name.
- Holiday Calendars
- Filter accounts
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a paginated, filtered list of accounts using advanced filter criteria.
- Accounts
- Filter contacts
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a paginated list of contacts matching the provided filter rules
- Contacts
- Count filtered contacts
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns the total number of contacts matching the provided filter rules. Accepts the same request body as `POST /v3/contacts/filter` but returns only the count.
- Contacts
- Filter email accounts
- <small>_Requires the `channels:read` scope (or a broader one that includes it)._</small> Returns a paginated list of email accounts matching the provided filter criteria. In Public or Organization mode, results include all team members' accounts. Use `ownerUserIds` filter to restrict by specific users. When no accounts match the filter, the response contains an empty `items` array with `hasMore: false` — this is normal behavior, not an error.
- Email Accounts
- Filter inbox threads
- <small>_Requires the `inbox:read` scope (or a broader one that includes it)._</small> Returns a paginated page of inbox threads matching the supplied filter. All filter fields are optional — the empty body matches the same set as `GET /v3/inbox/threads`.
- Inbox
- Filter tasks
- <small>_Requires the `tasks:read` scope (or a broader one that includes it)._</small> Returns a filtered, paginated list of tasks. Pagination params (`top`, `skip`) are in query string; filter criteria in request body. All filter fields are optional — an empty body `{}` returns all tasks. The request body must be a valid JSON object; a missing or unparseable body returns 400.
- Tasks
- Find missing email addresses
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> Finds missing email addresses for contacts that currently don't have one. Consumes credits from the Reply credit pool — 2 credits per contact.
- Contact Enrichment
- Find phone numbers
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> Finds phone numbers for contacts. Consumes credits from the Reply credit pool — 3 credits per contact.
- Contact Enrichment
- Force-start an autopilot search
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:operate` scope (or a broader one that includes it)._</small> Force-starts an autopilot contact search for the sequence, bypassing the normal schedule. Autopilot must already be enabled; rejected with 409 otherwise. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Generate an AI draft reply
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> Generates an AI-suggested reply for an inbox thread. The same endpoint backs both the initial generate and the "Regenerate" action in the message editor — each call produces a fresh draft. To send the draft (with or without edits), use the existing `POST /v3/inbox/threads/{id}/messages` endpoint.
- Inbox
- Generate an offer
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Generates an offer from a prompt or company URL, optionally seeded with previously uploaded attachments. The generated offer is persisted directly — clients do not need a separate create call. Returns a background job to poll via `GET /v3/background-jobs/{jobId}`; on completion its `jsonDataResult` carries the generated offer (`offerId` plus the same company-context fields returned by `GET /v3/ai-sdr/offers/{id}`). Requires the AI SDR feature on the caller's team.
- AI SDR Offers
- Get the sequence's knowledge base
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns the knowledge base connected to the sequence. Each sequence is connected to at most one knowledge base. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Get the sequence's playbook
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns the playbook attached to the sequence. Each sequence is attached to at most one playbook. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Read AI SDR sequence settings
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns the AI SDR-specific settings of a sequence. Mirrors the shape of the create/patch body. Generic sequence fields (name, schedule, etc.) are read via `GET /v3/sequences/{id}`. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Get pending approval for a contact
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns the pending AI-generated message for a single (sequence, contact) pair, including the prior message thread for context. Requires the AI SDR feature on the caller's team.
- AI SDR Pending Approvals
- Get a background job
- <small>_Requires the `other:read` scope (or a broader one that includes it)._</small> Returns the full record for a background job, including raw input (`jsonData`) and result (`jsonDataResult`) JSON payloads when available.
- Background Jobs
- List background jobs
- <small>_Requires the `other:read` scope (or a broader one that includes it)._</small> Returns a paginated list of background jobs created by the current user. Optionally filter by category suffix.
- Background Jobs
- Get a domain blacklist rule
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a single domain blacklist rule by ID.
- Contact Blacklist Rules
- List domain blacklist rules
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a paginated list of domain blacklist rules.
- Contact Blacklist Rules
- Get an email exception blacklist rule
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a single email exception blacklist rule by ID.
- Contact Blacklist Rules
- List email exception blacklist rules
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a paginated list of email exception blacklist rules.
- Contact Blacklist Rules
- Get an email blacklist rule
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a single email blacklist rule by ID.
- Contact Blacklist Rules
- List email blacklist rules
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a paginated list of email blacklist rules.
- Contact Blacklist Rules
- List call activity
- <small>_Requires the `reporting:read` scope (or a broader one that includes it)._</small> Returns a paginated list of individual call records matching the specified filters. Call recording URLs are included only if the user has permission to listen to call records.
- Reports
- Get calls reporting overview
- <small>_Requires the `reporting:read` scope (or a broader one that includes it)._</small> Returns aggregated call statistics with per-member breakdown. Includes total calls, average duration, positive/answered counts, and inbound missing calls.
- Reports
- Get channel efficiency overview
- <small>_Requires the `reporting:read` scope (or a broader one that includes it)._</small> Returns cross-channel efficiency statistics comparing performance across email, calls, LinkedIn, and other channels.
- Reports
- List contact filter properties
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns all available contact filter properties that can be used in sequence step conditions. Each property includes its supported operators and, for enum-like properties, the allowed values. This is a static discovery endpoint — the response does not depend on user data or any specific sequence.
- Sequence Steps
- Get an account
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a single account by ID.
- Accounts
- List contacts for an account
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a paginated list of contacts linked to the specified account.
- Accounts
- Get an account list
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a single account list by ID.
- Account Lists
- List account lists
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a paginated list of account lists for the current user's team.
- Account Lists
- List accounts
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a paginated list of accounts.
- Accounts
- Get activities for a contact
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a paginated list of activities for a contact
- Contacts
- Get AI insights for a contact
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> Returns the AI-generated insights summary for a single (sequence, contact) pair. The summary is rendered as Markdown. Only available after at least one personalized message has been generated for the contact in this sequence. Returns `404` otherwise. Requires the AI SDR feature on the caller's team.
- AI SDR Insights
- Get a contact
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns contact details by ID
- Contacts
- Get a contact list
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a single contact list by ID.
- Contact Lists
- List contact lists
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a paginated list of all contact lists.
- Contact Lists
- Get contact's lists
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns the contact lists that contain the specified contact.
- Contact Lists
- Get sequences for a contact
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a list of sequences that the contact is enrolled in
- Contacts
- Get a contact's statuses
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns the contact's current global flags (`isOptedOut`, `callStatus`, `meetingStatus`) plus per-sequence status (`statusInSequence`) and email disposition (`isReplied`, `isBounced`) for each sequence the contact is enrolled in.
- Contacts
- List all contacts
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a paginated list of all contacts in your account
- Contacts
- Get a custom field
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a single custom field by ID
- Custom Fields
- List all custom fields
- <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a list of all custom fields in your account
- Custom Fields
- Get an email account
- <small>_Requires the `channels:read` scope (or a broader one that includes it)._</small> Returns the full details of a single email account including all configuration sections.
- Email Accounts
- Get an email template
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns a single email template by ID.
- Email Templates
- Get an email template folder
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns a single email template folder by ID.
- Email Templates
- Get template variables
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns all available template variables grouped by category (prospect, team, advanced).
- Email Templates
- List email activity
- <small>_Requires the `reporting:read` scope (or a broader one that includes it)._</small> Returns a paginated list of individual email activity records matching the specified filters. Use `top` and `skip` query parameters for pagination.
- Reports
- Get email reporting overview
- <small>_Requires the `reporting:read` scope (or a broader one that includes it)._</small> Returns email delivery and engagement metrics with optional trend comparison. Provides aggregated statistics including delivery rates, opens, replies, bounces, and clicks. Optionally compare against a previous period by providing the `compareTo` field.
- Reports
- List sequences in a folder
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns a paginated list of sequences in a folder
- Sequence Folders
- Get a holiday calendar
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns a single holiday calendar by ID, including its holidays.
- Holiday Calendars
- Get inbox category
- <small>_Requires the `inbox:read` scope (or a broader one that includes it)._</small> Returns a single inbox category by id, including reserved system categories.
- Inbox
- Get inbox thread
- <small>_Requires the `inbox:read` scope (or a broader one that includes it)._</small> Returns a single thread including the ordered message history.
- Inbox
- Get a knowledge base
- <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a single knowledge base by id. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Get a LinkedIn account
- <small>_Requires the `channels:read` scope (or a broader one that includes it)._</small> Returns a single LinkedIn account by ID.
- LinkedIn Accounts
- List LinkedIn activity
- <small>_Requires the `reporting:read` scope (or a broader one that includes it)._</small> Returns a paginated list of individual LinkedIn action records matching the specified filters.
- Reports
- Get LinkedIn reporting overview
- <small>_Requires the `reporting:read` scope (or a broader one that includes it)._</small> Returns LinkedIn engagement metrics overview including connection requests, messages, InMails, and profile views.
- Reports
- Get a Live Data search
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a single Live Data search by id, including its status, progress, and the filters it was run with.
- Live Data
- List meetings
- <small>_Requires the `reporting:read` scope (or a broader one that includes it)._</small> Returns a paginated list of meetings booked through team performance, matching the specified filters.
- Reports
- Get an offer
- <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a single offer by id. Requires the AI SDR feature on the caller's team.
- AI SDR Offers
- Get a playbook
- <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a single playbook by its composite id (`g-N` / `o-N` / `t-N`). Requires the AI SDR feature on the caller's team.
- AI SDR Playbooks
- Get a reengagement card
- <Info> **Beta.** This endpoint is in beta. Behavior, parameters, and response shapes may change without notice. </Info> <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a single reengagement card by id. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Get a reply handler
- <Info> **Beta.** This endpoint is in beta. Behavior, parameters, and response shapes may change without notice. </Info> <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a single reply handler by id. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Get a schedule
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns a single schedule by ID.
- Schedules
- Get a sequence
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns sequence details by Id
- Sequences
- Get a contact in a sequence
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns details of a specific contact enrolled in the sequence.
- Sequence Contacts
- List contacts in sequence
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Retrieve all contacts enrolled in the sequence. Defaults to most-recently-added first; use `sort_by` and `sort_direction` to override.
- Sequence Contacts
- List contacts in sequence with extended state
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Retrieve contacts enrolled in the sequence with optional additional columns such as current step, last step completed at, and status. The response always includes the base fields: `contactId`, `email`, `firstName`, `lastName`, `title`, `addedAt`. Additional fields (`currentStep`, `lastStepCompletedAt`, `status`) are **only** included when explicitly requested via the `additionalColumns` query parameter. Omitting `additionalColumns` returns only the base fields.
- Sequence Contacts
- List email accounts in sequence
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns the list of email accounts currently linked to the specified sequence.
- Sequence Email Accounts
- Get a sequence folder
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns a sequence folder by Id
- Sequence Folders
- List all sequence folders
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns a list of all sequence folders for the current user
- Sequence Folders
- List LinkedIn accounts for a sequence
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns all LinkedIn accounts available for the sequence
- Sequence LinkedIn Accounts
- Get sequence preview for a contact
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns the per-contact preview of the messages this sequence will send, including any AI-personalized step templates.
- Sequence Contacts
- Get sequence stats
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns aggregated email and LinkedIn engagement stats for a single sequence.
- Sequences
- Get stats for all sequences
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns email and LinkedIn engagement stats per sequence. **Date range restrictions:** - `dateRangePreset` must be `lastWeek` or `lastMonth`. `lastYear` and `allTime` are rejected. - When using `from`/`to`, the span must not exceed 31 days. - `from` must be within the last 31 days from the current date. - Defaults to `lastWeek` if no date filters are provided.
- Sequences
- Get a sequence step
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns details of a specific sequence step
- Sequence Steps
- List step variants
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns all variants for a sequence step
- Sequence Steps
- List all sequence steps
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns a list of all steps in a sequence
- Sequence Steps
- List all sequence templates
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns all sequence templates grouped by scope (global, organization, team)
- Sequence Templates
- List all sequences
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns a paginated list of all sequences in your account. Results are ordered by creation date, newest first, unless overridden with `sortBy` / `sortDirection`.
- Sequences
- Get settings
- <small>_Requires the `settings:read` scope (or a broader one that includes it)._</small> Returns the full settings object for the authenticated user's team, including account profile, email configuration, LinkedIn, calls, contacts, and beta features.
- Settings
- Get a task
- <small>_Requires the `tasks:read` scope (or a broader one that includes it)._</small> Returns full task details by ID. Use `includeContent=true` to also get the rendered content (variables resolved).
- Tasks
- List all tasks
- <small>_Requires the `tasks:read` scope (or a broader one that includes it)._</small> Returns a paginated list of all tasks visible to the current user. For filtered search, use POST /tasks/filter.
- Tasks
- List task activity
- <small>_Requires the `reporting:read` scope (or a broader one that includes it)._</small> Returns a paginated list of individual task records matching the specified filters.
- Reports
- Get tasks reporting overview
- <small>_Requires the `reporting:read` scope (or a broader one that includes it)._</small> Returns aggregated task statistics broken down by type (call, email, LinkedIn, meetings, SMS, to-do, WhatsApp), with per-member breakdown.
- Reports
- Get team performance overview
- <small>_Requires the `reporting:read` scope (or a broader one that includes it)._</small> Returns team performance metrics including meetings booked, contacts engaged, conversion rates, touches per contact, and response times, with per-member breakdown.
- Reports
- Get a webhook subscription
- <small>_Requires the `webhooks:read` scope (or a broader one that includes it)._</small> Returns a single webhook subscription owned by the authenticated user.
- Webhooks
- List supported event types
- <small>_Requires the `webhooks:read` scope (or a broader one that includes it)._</small> Returns the catalog of event type names a subscription may listen to. Use any of these values in the `eventType` field when creating or updating a subscription.
- Webhooks
- Get webhook delivery logs
- <small>_Requires the `webhooks:read` scope (or a broader one that includes it)._</small> Returns a paginated **failure log** for a single subscription — only failed delivery attempts are recorded here; successful deliveries are not listed. Each log entry captures the triggering event id, HTTP status (or `null` when the request could not be completed) and the UTC timestamp of the attempt.
- Webhooks
- Import contacts
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Import contacts by providing an array of contact objects with optional import settings. Each item in the `items` array uses the same fields as the contact patch model. Use `options` to control deduplication, list assignment, and other import behavior.
- Contacts
- Link a holiday calendar to a schedule
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Links a holiday calendar to the specified schedule.
- Schedules
- List AI web searches for a sequence
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> Returns AI web searches started for a given sequence.
- AI SDR Web Search
- List pending approvals
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a paginated list of AI-generated messages awaiting human approval before being sent. Requires the AI SDR feature on the caller's team.
- AI SDR Pending Approvals
- List email account tags
- <small>_Requires the `channels:read` scope (or a broader one that includes it)._</small> Returns all email account tags available to the authenticated user.
- Email Accounts
- List email accounts
- <small>_Requires the `channels:read` scope (or a broader one that includes it)._</small> Returns a paginated list of email accounts. By default returns all email accounts visible to the authenticated user, including team members' accounts in Public or Organization mode. Use `my=true` to restrict results to only the authenticated user's own accounts.
- Email Accounts
- List email template folders
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns all email template folders for the authenticated user.
- Email Templates
- List email templates
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns a paginated list of email templates for the authenticated user.
- Email Templates
- List holiday calendars
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns all holiday calendars available to the authenticated user, including predefined and custom calendars.
- Holiday Calendars
- List inbox categories
- <small>_Requires the `inbox:read` scope (or a broader one that includes it)._</small> Returns all inbox categories visible to the current user, including reserved system categories.
- Inbox
- List messages in an inbox thread
- <small>_Requires the `inbox:read` scope (or a broader one that includes it)._</small> Returns a paginated page of messages on the given thread, ordered by `date` ascending. Messages are polymorphic: `channel: email` carries recipient and subject metadata, `channel: linkedIn` carries only the shared base fields.
- Inbox
- List inbox threads
- <small>_Requires the `inbox:read` scope (or a broader one that includes it)._</small> Returns a paginated page of inbox threads visible to the current user, ordered by `lastActivityDate` descending.
- Inbox
- Industries typeahead
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a paginated list of Reply industry IDs used in intent-signal configuration (e.g. `technologyUsed.industryId`, `jobHiring.industries[]`). Distinct taxonomy from the Live Data filter-value industries — those are string-only Sales Navigator industries. Requires the AI SDR feature on the caller's team.
- AI SDR Intent Signals
- Technologies typeahead
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a paginated list of Reply technology slugs used in intent-signal configuration (e.g. `technologyUsed.technologies[]`). The slug is the persisted identifier; name is display-only. Requires the AI SDR feature on the caller's team.
- AI SDR Intent Signals
- List documents
- <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a paginated list of file documents attached to a knowledge base. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- List links
- <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a paginated list of web links attached to a knowledge base. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- List knowledge bases
- <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a paginated list of knowledge bases visible to the caller. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- List LinkedIn accounts
- <small>_Requires the `channels:read` scope (or a broader one that includes it)._</small> Returns all LinkedIn accounts for the authenticated user.
- LinkedIn Accounts
- Departments typeahead
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Typeahead values for the `departments` filter on the Live Data / Autopilot sidebar.
- Live Data
- Industries typeahead
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Typeahead values for the `industries` filter on the Live Data / Autopilot sidebar.
- Live Data
- Job titles typeahead
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Typeahead values for the `jobTitles` filter on the Live Data / Autopilot sidebar.
- Live Data
- Locations typeahead
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Typeahead values for the `locations` filter on the Live Data / Autopilot sidebar. The response mixes countries, regions, and cities (no separate `/countries` endpoint).
- Live Data
- List Live Data searches
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Returns a paginated list of past Live Data searches for the caller's team, most recent first. Each item includes status and progress for polling.
- Live Data
- Seniorities typeahead
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `contacts:read` scope (or a broader one that includes it)._</small> Typeahead values for the `seniorities` filter on the Live Data / Autopilot sidebar.
- Live Data
- List offers
- <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a paginated list of offers visible to the caller. Requires the AI SDR feature on the caller's team.
- AI SDR Offers
- List pending LinkedIn accounts
- <small>_Requires the `channels:read` scope (or a broader one that includes it)._</small> Returns all pending LinkedIn accounts that are awaiting connection.
- LinkedIn Accounts
- List playbooks
- <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a paginated list of playbooks visible to the caller. When `type` is omitted, results from all three scopes (`global`, `organization`, `team`) are merged. Requires the AI SDR feature on the caller's team.
- AI SDR Playbooks
- List reengagement cards
- <Info> **Beta.** This endpoint is in beta. Behavior, parameters, and response shapes may change without notice. </Info> <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a paginated list of reengagement cards attached to a knowledge base. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- List reply handlers
- <Info> **Beta.** This endpoint is in beta. Behavior, parameters, and response shapes may change without notice. </Info> <small>_Requires the `ai-sdr:read` scope (or a broader one that includes it)._</small> Returns a paginated list of reply handlers attached to a knowledge base. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- List linked holiday calendars
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns all holiday calendars linked to the specified schedule.
- Schedules
- List schedules
- <small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small> Returns all schedules for the authenticated user.
- Schedules
- List webhook subscriptions
- <small>_Requires the `webhooks:read` scope (or a broader one that includes it)._</small> Returns a paginated list of the authenticated user's webhook subscriptions, ordered by descending id. Use `top`/`skip` to page through results and inspect `hasMore` to detect additional pages.
- Webhooks
- Mark threads as read
- <small>_Requires the `inbox:operate` scope (or a broader one that includes it)._</small> Non-atomic bulk update — flips `isRead` to `true` on each supplied thread. Per-item failures are returned in a dictionary keyed by thread id. **Per-item error codes** | Error code | Meaning | | --- | --- | | `notFound` | Thread not found | | `forbidden` | User not allowed to access this thread |
- Inbox
- Mark threads as unread
- <small>_Requires the `inbox:operate` scope (or a broader one that includes it)._</small> Non-atomic bulk update — flips `isRead` to `false` on each supplied thread. Per-item failures are returned in a dictionary keyed by thread id. **Per-item error codes** | Error code | Meaning | | --- | --- | | `notFound` | Thread not found | | `forbidden` | User not allowed to access this thread |
- Inbox
- Move accounts to an account list
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Moves accounts to the specified account list, removing them from any other lists they belong to. This is a non-atomic operation: successfully moved accounts are not rolled back if some fail. The response contains only the failed items with their error details.
- Account Lists
- Move a contact to a sequence
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Moves a contact to a different sequence, optionally removing from existing sequences
- Contacts
- Move contacts to a contact list
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Moves contacts to the specified contact list. This is a non-atomic operation: successfully moved contacts are not rolled back if some fail. The response contains only the failed items with their error details.
- Contact Lists
- Move an email template
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Moves an email template to a different folder.
- Email Templates
- Pause a sequence
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Pauses an active sequence. Returns the updated sequence. This operation is **idempotent**: calling Pause on an already paused sequence returns `200` with the current sequence state. No error is raised.
- Sequences
- Personalize the preview for a contact
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Kicks off (or re-runs) AI personalization for a single contact in an AI SDR sequence. Personalization runs step-by-step in the background. The whole step chain for the contact is tracked by a single background job: the response returns its `jobId`, and progress advances as `personalizedSteps / totalSteps`. Poll the generic `GET /v3/background-jobs/{id}` endpoint for status and progress; on completion the job's `jsonDataResult` carries `{ sequenceId, contactId, personalizedSteps, totalSteps }`. A chain that ended early (for example, the contact was removed mid-chain) reports `personalizedSteps < totalSteps`. Requires the AI SDR feature on the caller's team.
- AI SDR Sequence Preview
- Preview autopilot results
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:operate` scope (or a broader one that includes it)._</small> Previews the expected autopilot results for the sequence. Clients pass the autopilot filter config in the body — they are NOT required to save it to the sequence first (supports try-before-save in the filter UI). Returns a background job to poll via `GET /v3/background-jobs/{id}`; on completion its `jsonDataResult` carries `{ contactsCount, companiesCount, sampleContacts }`, where `sampleContacts` is a capped sample of matching contacts. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Preview a Live Data search
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Starts a Live Data preview for the given filters and returns a background job to poll. The job is tracked by `GET /v3/background-jobs/{id}`; on completion its `jsonDataResult` carries `{ contactsCount, companiesCount, sampleContacts }`, where `sampleContacts` is a capped sample of matching contacts. A preview adds no prospects and consumes no credits.
- Live Data
- Reconnect a LinkedIn account
- <small>_Requires the `channels:write` scope (or a broader one that includes it)._</small> Generates a new connection link for reconnecting an existing LinkedIn account whose cookie has expired.
- LinkedIn Accounts
- Regenerate a pending approval
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Starts a background job that regenerates the AI-generated message for a single (sequence, contact) pair, and returns the job id. Optionally pass freeform `recommendations` to steer the regeneration. Poll `GET /v3/background-jobs/{jobId}` for status; when the job finishes, its result holds the regenerated `subject` and `body`. Requires the AI SDR feature on the caller's team.
- AI SDR Pending Approvals
- Remove contact from sequence
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Remove a contact from the sequence
- Sequence Contacts
- Remove email account from sequence
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Unlinks an email account from the sequence. The email account itself is not deleted.
- Sequence Email Accounts
- Remove a LinkedIn account from a sequence
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Unlinks a LinkedIn account from the specified sequence
- Sequence LinkedIn Accounts
- Remove tags from an email account
- <small>_Requires the `channels:operate` scope (or a broader one that includes it)._</small> Removes one or more tags from an email account by tag name.
- Email Accounts
- Render an email template
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Renders an email template by substituting variables with actual contact data.
- Email Templates
- Reset manual edits in a sequence preview
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Reverts any manual edits the user has made to the preview for a contact and restores the AI-generated templates.
- Sequence Contacts
- Resume sending
- <small>_Requires the `channels:operate` scope (or a broader one that includes it)._</small> Resumes email sending for an account that was paused or throttled by the provider.
- Email Accounts
- Save a sequence as a template
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Creates a new sequence template from an existing sequence
- Sequences
- Schedule email validation
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Schedules an asynchronous email-validation job for the supplied contact IDs. Returns `202 Accepted` with a `Location` header pointing at `/v3/background-jobs/{jobId}` — poll that endpoint for status and the eventual result. The eligibility filter (team scope + `RequiresValidation` status) and the credits cap applied here mirror the `/estimate` semantics. Set `acceptPartial = true` to schedule whatever credits allow when the team's balance is below the eligible count.
- Email Validations
- Send a pending approval
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Approves and sends the queued AI-generated message for a single (sequence, contact) pair. Optionally override the draft body and/or subject before sending. Requires the AI SDR feature on the caller's team.
- AI SDR Pending Approvals
- Send a batch of pending approvals
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Approves and sends the queued AI-generated messages for up to 20 (sequence, contact) pairs in one call. Bodies and subjects cannot be overridden in bulk — use the per-contact endpoint for that. Requires the AI SDR feature on the caller's team.
- AI SDR Pending Approvals
- Send a direct email to a contact
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Sends a one-off email directly to a contact outside of any sequence
- Direct Outreach
- Send an AI-generated LinkedIn voice message to a contact
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Generates and sends an AI voice message to the contact via LinkedIn outside of any sequence. The caller must already be connected with the contact on LinkedIn. The voice is synthesized from the provided script using the account's text-to-speech settings.
- Direct Outreach
- Send a LinkedIn connection request to a contact
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Sends a direct LinkedIn connection request to the contact outside of any sequence. The contact must have a LinkedIn profile URL set. The caller must own an active LinkedIn account (`linkedInAccountId`).
- Direct Outreach
- Send a LinkedIn InMail to a contact
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Sends a direct LinkedIn InMail message to the contact outside of any sequence. Requires a Sales Navigator account with available InMail credits.
- Direct Outreach
- Send a LinkedIn message to a contact
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Sends a direct LinkedIn message to the contact outside of any sequence. The caller must already be connected with the contact on LinkedIn.
- Direct Outreach
- Send a LinkedIn voice message to a contact
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Sends a pre-recorded voice message to the contact via LinkedIn outside of any sequence. The caller must already be connected with the contact on LinkedIn. Upload audio files via `POST /v3/attachments/voice` to obtain a `voiceAttachmentId`.
- Direct Outreach
- Send a reply within a thread
- <small>_Requires the `inbox:operate` scope (or a broader one that includes it)._</small> Sends an outbound message on the supplied thread. The request body''s `channel` discriminator must match the thread''s channel; mismatches are rejected with `code: inboxThread.channelMismatch`.
- Inbox
- Send a test email
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Sends a test email using the specified template.
- Email Templates
- Set the approval mode
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:operate` scope (or a broader one that includes it)._</small> Sets the sequence's approval mode — whether AI-generated messages require human approval before sending. Settable only via this dedicated PUT (or at create time); NOT in the AI SDR sequence PATCH. When disabling (`enabled` = `false`), `approveAllPendingContacts` may be set to `true` to immediately approve all currently-pending contacts. `approveAllPendingContacts` is rejected when enabling. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Set generated step types
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Replaces the step channels the AI SDR is allowed to generate, and triggers regeneration of the sequence's steps using the new mix. Rejected with 409 once the sequence has already acted on contacts (sent emails or LinkedIn messages, generated tasks, etc.). Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Connect a knowledge base to the sequence
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:operate` scope (or a broader one that includes it)._</small> Connects a knowledge base to the sequence by id. Replaces any previously-connected knowledge base. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Attach a playbook to the sequence
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:operate` scope (or a broader one that includes it)._</small> Attaches a playbook to the sequence by composite id. Replaces any previously-attached playbook. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Mark or unmark contacts as bounced
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Marks the given contacts as bounced (`isBounced: true`) or clears the bounced flag (`isBounced: false`) across **every sequence** they are currently enrolled in. When clearing the flag (`isBounced: false`), `resendEmails` is required: pass `true` to retry the previously bounced step or `false` to leave the schedule untouched. When marking as bounced (`isBounced: true`), `resendEmails` must be omitted. To restrict the change to a single sequence, use `POST /v3/sequences/{id}/contacts/set-bounced` instead.
- Contacts
- Mark or unmark contacts as replied
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Marks the given contacts as replied (`isReplied: true`) or clears the replied flag (`isReplied: false`) across **every sequence** they are currently enrolled in. To restrict the change to a single sequence, use `POST /v3/sequences/{id}/contacts/set-replied` instead.
- Contacts
- Set contacts' in-sequence status
- <small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small> Sets the in-sequence status (`active` / `paused` / `finished` / `outOfOffice`) for the given contacts across **every sequence** they are currently enrolled in. Replied and Bounced are **not** values of this enum — use `POST /v3/contacts/set-replied` or `POST /v3/contacts/set-bounced` for those. To restrict the change to a single sequence, use `POST /v3/sequences/{id}/contacts/set-status-in-sequence` instead. `paused` requires the contact to currently be `active` in the sequence — pausing from any other state is reported per-item as `invalidStatusTransition`. The other targets (`active`, `finished`, `outOfOffice`) accept any current state.
- Contacts
- Set default email account
- <small>_Requires the `channels:operate` scope (or a broader one that includes it)._</small> Sets the specified email account as the default for the authenticated user.
- Email Accounts
- Set default schedule
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Sets the specified schedule as the default.
- Schedules
- Assign or clear a thread's category
- <small>_Requires the `inbox:operate` scope (or a broader one that includes it)._</small> Sets the thread's category, or clears it when `categoryId` is `null`. Idempotent.
- Inbox
- Toggle thread meeting-intent
- <small>_Requires the `inbox:operate` scope (or a broader one that includes it)._</small> Sets or clears the meeting-intent flag on a thread.
- Inbox
- Mark or unmark contacts as bounced in this sequence
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Marks the given contacts as bounced (`isBounced: true`) or clears the bounced flag (`isBounced: false`), scoped to **this sequence only**. When clearing the flag (`isBounced: false`), `resendEmails` is required: pass `true` to retry the previously bounced step or `false` to leave the schedule untouched. When marking as bounced (`isBounced: true`), `resendEmails` must be omitted. To apply across every sequence a contact is in, use `POST /v3/contacts/set-bounced` instead.
- Sequence Contacts
- Mark or unmark contacts as replied in this sequence
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Marks the given contacts as replied (`isReplied: true`) or clears the replied flag (`isReplied: false`), scoped to **this sequence only**. To apply across every sequence a contact is in, use `POST /v3/contacts/set-replied` instead.
- Sequence Contacts
- Set contacts' status in this sequence
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Sets the in-sequence status (`active` / `paused` / `finished` / `outOfOffice`) for the given contacts, scoped to **this sequence only**. To apply across every sequence a contact is in, use `POST /v3/contacts/set-status-in-sequence` instead. Replied and Bounced are **not** values of this enum — use `POST /v3/sequences/{id}/contacts/set-replied` or `POST /v3/sequences/{id}/contacts/set-bounced` for those. `paused` requires the contact to currently be `active` in this sequence — pausing from any other state is reported per-item as `invalidStatusTransition`. The other targets (`active`, `finished`, `outOfOffice`) accept any current state.
- Sequence Contacts
- Set sequence email accounts
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Replaces all email account links for the sequence with the provided list. Any previously linked accounts not in the new list will be unlinked.
- Sequence Email Accounts
- Share a contact list
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Makes a contact list shared across the team.
- Contact Lists
- Share an email template folder
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Shares a personal email template folder with the team.
- Email Templates
- Start an AI web search
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> Kicks off an AI-driven web search to find contacts for a sequence.
- AI SDR Web Search
- Start a Live Data search
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Starts a Live Data search that finds contacts matching the filters and adds them as prospects (optionally moving them into a sequence and/or lists). Consumes credits from the Reply credit pool per resulting contact. Returns the created search's id; track its progress via `GET /v3/live-data/searches/{id}`.
- Live Data
- Start a sequence
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Activates a new or paused sequence. Returns the updated sequence. This operation is **idempotent**: calling Start on an already active sequence returns `200` with the current sequence state. No error is raised.
- Sequences
- Start a strategist run
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Starts an AI Strategist run for the caller's team. The strategist generates sequence ideas and creates a sequence for each one. Returns a background job to poll via `GET /v3/background-jobs/{jobId}`; on completion its `jsonDataResult` carries `{ sequenceIds }` — the ids of the sequences created from the generated ideas. Requires the AI SDR feature on the caller's team.
- AI SDR Strategist
- Submit feedback on a pending approval
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> Records a thumbs-up / thumbs-down reaction on the queued AI-generated message, with optional dislike reasons and a freeform comment. Used as a training signal for the AI SDR. No step identifier is needed — the approval is unique per (sequence, contact). Requires the AI SDR feature on the caller's team.
- AI SDR Pending Approvals
- Submit feedback on a generated AI draft
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> Records a thumbs-up / thumbs-down on the AI-generated draft, with optional dislike reasons and a freeform comment. Used as a training signal. Requires the AI SDR feature on the caller's team.
- Inbox
- Submit feedback on a preview step
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> Records a thumbs-up / thumbs-down reaction on the AI-generated message for a specific step in a contact's preview, with optional dislike reasons and a freeform comment. Used as a training signal for the AI SDR. Requires the AI SDR feature on the caller's team.
- AI SDR Sequence Preview
- Test IMAP connectivity
- <small>_Requires the `channels:operate` scope (or a broader one that includes it)._</small> Tests connectivity to an IMAP server with the provided credentials without creating an email account.
- Email Accounts
- Test SMTP connectivity
- <small>_Requires the `channels:operate` scope (or a broader one that includes it)._</small> Tests connectivity to an SMTP server with the provided credentials without creating an email account.
- Email Accounts
- Send a test payload
- <small>_Requires the `webhooks:operate` scope (or a broader one that includes it)._</small> Triggers a synthetic delivery to the subscription's URL so the integrator can validate wiring. Only enabled subscriptions can be tested.
- Webhooks
- Toggle LinkedIn account status
- <small>_Requires the `channels:operate` scope (or a broader one that includes it)._</small> Toggles the enabled/disabled status of a LinkedIn account.
- LinkedIn Accounts
- Unarchive a sequence
- <Warning> **Coming soon.** This endpoint will be available by late July 2026. </Warning> <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Restores an archived sequence to its previous state. Returns the updated sequence.
- Sequences
- Unassign threads from a category
- <small>_Requires the `inbox:operate` scope (or a broader one that includes it)._</small> Non-atomic bulk unassignment — clears the category link from each supplied thread when it points at this category. Per-item failures are returned in a dictionary keyed by thread id. **Per-item error codes** | Error code | Meaning | | --- | --- | | `notFound` | Thread or category not found | | `invalidInput` | Invalid input | | `forbidden` | User not allowed to modify this thread |
- Inbox
- Unlink a holiday calendar from a schedule
- <small>_Requires the `sequences:operate` scope (or a broader one that includes it)._</small> Removes the link between a holiday calendar and the specified schedule.
- Schedules
- Unshare a contact list
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Makes a shared contact list private again.
- Contact Lists
- Update AI SDR sequence settings
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Partial update of AI SDR-specific sequence settings (generation inputs, tone of voice, personalization points, provider LLM, autopilot config, intent signals). PATCH semantics: a field absent from the body is skipped; a field explicitly set to `null` is rejected. `intentSignals`, when present, fully replaces the current list. `autopilot.filters`, when present, fully replaces the current filters object. At least one field must be present. Out of scope for this PATCH (use the dedicated sub-resources instead): name and other generic sequence fields, approval mode, generated step types, attached playbook, connected knowledge base. Requires the AI SDR feature on the caller's team.
- AI SDR Sequences
- Update a domain blacklist rule
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Updates an existing domain blacklist rule.
- Contact Blacklist Rules
- Update an email exception blacklist rule
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Updates an existing email exception blacklist rule.
- Contact Blacklist Rules
- Update an email blacklist rule
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Updates an existing email blacklist rule.
- Contact Blacklist Rules
- Update a contact
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Updates an existing contact. All fields are optional — only include the fields you want to change (PATCH semantics).
- Contacts
- Update an account
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Updates an existing account.
- Accounts
- Update an account list
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Updates an existing account list name. Names must be 3–128 characters and unique per team.
- Account Lists
- Update account owner
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Changes the owner of an account. The new owner must be a member of the caller's team — an `ownerUserId` outside the team returns 400 `contactAccount.invalidInput` (404 is reserved for "account row missing").
- Accounts
- Update a contact list
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Updates an existing contact list name.
- Contact Lists
- Update a custom field
- <small>_Requires the `contacts:write` scope (or a broader one that includes it)._</small> Updates an existing custom field
- Custom Fields
- Update an email account
- <small>_Requires the `channels:write` scope (or a broader one that includes it)._</small> Partially updates an email account. Only works with custom email account providers (SMTP/IMAP). Provide only the sections and fields you want to change; omitted fields are left unchanged.
- Email Accounts
- Update a tag
- <small>_Requires the `channels:operate` scope (or a broader one that includes it)._</small> Updates the name and/or color of an email account tag.
- Email Accounts
- Update an email template
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Updates an existing email template.
- Email Templates
- Update an email template folder
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Updates an existing email template folder.
- Email Templates
- Update a holiday calendar
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Updates an existing custom holiday calendar. Only custom calendars can be updated.
- Holiday Calendars
- Update inbox category
- <small>_Requires the `inbox:write` scope (or a broader one that includes it)._</small> Full replacement of `name` and `color` for a category. Reserved (system) categories reject this operation with 403 / `code: inboxCategory.cannotModifyDefault`.
- Inbox
- Update a knowledge base
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Partial update — send only the fields you want to change. At least one field must be present. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Update LinkedIn account limits
- <small>_Requires the `channels:operate` scope (or a broader one that includes it)._</small> Updates the daily automation limits for a LinkedIn account.
- LinkedIn Accounts
- Update LinkedIn account revoke settings
- <small>_Requires the `channels:write` scope (or a broader one that includes it)._</small> Updates the automatic connection revocation settings for a LinkedIn account.
- LinkedIn Accounts
- Update an offer
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Partial update — send only the fields you want to change. Array fields, if present, fully replace the current value (no item-level merge). At least one field must be present. Requires the AI SDR feature on the caller's team.
- AI SDR Offers
- Update a playbook
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Partial update — send only the fields you want to change. `type` is immutable. Requires the AI SDR feature on the caller's team.
- AI SDR Playbooks
- Update a reengagement card
- <Info> **Beta.** This endpoint is in beta. Behavior, parameters, and response shapes may change without notice. </Info> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Partial update — send only the fields you want to change. At least one field must be present. Media is not patched here; use the `/media` sub-resource. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Update a reply handler
- <Info> **Beta.** This endpoint is in beta. Behavior, parameters, and response shapes may change without notice. </Info> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Partial update — send only the fields you want to change. At least one field must be present. Media is not patched here; use the `/media` sub-resource. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Update a schedule
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Updates an existing schedule.
- Schedules
- Update a sequence
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Updates an existing sequence
- Sequences
- Update a sequence folder
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Updates an existing sequence folder
- Sequence Folders
- Change sequence owner
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Changes the owner of a single sequence to a different team member
- Sequences
- Update a sequence step
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Updates an existing sequence step. Each variant in the request body must include its `id` to identify which variant to update. For email steps, each variant may carry up to **3** `attachmentIds` (upload first via `POST /v3/attachments`); attachments that don't belong to the caller (or the caller's team) are rejected with `403 sequenceStep.forbidden`.
- Sequence Steps
- Update a step variant
- <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small> Updates an existing variant for a sequence step. Supports both text variants (`application/json`) and voice message variants (`multipart/form-data`). For email-step text variants, the request may carry up to **3** `attachmentIds` (upload first via `POST /v3/attachments`). Inaccessible attachment IDs are rejected with `403 sequenceStep.forbidden`.
- Sequence Steps
- Update settings
- <small>_Requires the `settings:write` scope (or a broader one that includes it)._</small> Performs a sparse update of settings. Only properties present in the request body are updated — omitted properties are left unchanged. Nested sections follow the same rule: include only the fields you want to change within each section. **Contact stages and account stages** are an exception — when the `contactStages` or `accountStages` array is present, all 8 stages must be provided with unique IDs (1–8).
- Settings
- Update a task
- <small>_Requires the `tasks:write` scope (or a broader one that includes it)._</small> Full replacement update of a task. Only tasks with status `New` (0) can be updated. Sequence task type and contact cannot be changed.
- Tasks
- Update a webhook subscription
- <small>_Requires the `webhooks:write` scope (or a broader one that includes it)._</small> Full replacement of the mutable fields of an existing subscription. `organization` scope is rejected with `code: webHook.organizationScopeNotImplemented`.
- Webhooks
- Upload attachment
- <small>_Requires the `other:write` scope (or a broader one that includes it)._</small> Uploads a single file as a `multipart/form-data` request and returns its attachment id. Use the returned `id` in `attachmentIds` arrays on email-template, sequence-step, and inbox-message endpoints to attach the file to outbound communications.
- Attachments
- Upload a template attachment
- Uploads a file to be used as an email template attachment. Returns the attachment metadata including the ID to use when creating or updating templates.
- Email Templates
- Upload a document
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Uploads a file document to a knowledge base. Maximum upload size: 100 MB. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Upload an attachment for offer generation
- <Warning> **Coming soon.** This endpoint will be available by early July 2026. </Warning> <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Uploads a single attachment whose id can be passed in `attachmentIds` of `POST /v3/ai-sdr/offers/generate` to seed the generation. Maximum size 10 MB; supported formats are `.txt`, `.pdf`, `.doc`, `.docx`, and `.rtf`. Requires the AI SDR feature on the caller's team.
- AI SDR Offers
- Upload a style file
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Uploads a style file (reference document) to a playbook. Style files inform tone and voice when the playbook is applied. Maximum upload size: 100 MB. Requires the AI SDR feature on the caller's team.
- AI SDR Playbooks
- Upload reengagement card media
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Attaches a media file to a reengagement card. Maximum upload size: 100 MB. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Upload reply handler media
- <small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small> Attaches a media file to a reply handler. Maximum upload size: 100 MB. Requires the AI SDR feature on the caller's team.
- AI SDR Knowledge Bases
- Upload voice attachment
- Uploads an audio file as a `multipart/form-data` request, converts it to LinkedIn voice format, and returns the attachment metadata including the duration. Use the returned `id` to attach the voice message to LinkedIn voice outreach endpoints.
- Attachments
- Get current user
- <small>_No scope required — any valid API key can call this endpoint._</small> Returns the authenticated user's ID, username, and team ID. Useful for verifying credentials and identifying the current user and their team.
- User Account
- List team users
- <small>_No scope required — any valid API key can call this endpoint._</small> Returns all users in the authenticated user's team (workspace), including each user's team ID, team name, user ID, display name, and email address.
- User Account
Reply.io integration, answered
- How do AI agents use Reply.io through Open Connector?
- Your user connects Reply.io once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes Reply.io tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
- Is this a Reply.io MCP server?
- Yes. Open Connector can serve Reply.io as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call Reply.io actions with credentials injected server-side.
- Where do Reply.io credentials live?
- In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.
Give your agents Reply.io — keep the keys.
Open source, self-hostable, with Reply.io credentials that never leave your infrastructure. Run it from source today.