Skip to main content
Reply is an AI-powered sales engagement platform. The Reply API (v3) gives you access to the platform through a REST API, so you can automate the same workflows available in the Reply dashboard from your own applications, scripts, or AI agents.

At a glance

Every request is an HTTPS call to a /v3 endpoint and includes your API key in the Authorization header. This example returns information about the authenticated user and confirms that your credentials work:
curl https://api.reply.io/v3/whoami \
  -H "Authorization: Bearer YOUR_API_KEY"
  • Base URL: https://api.reply.io, with all endpoints under the /v3 prefix (for example, /v3/sequences).
  • Authentication: Bearer token in the Authorization header on every request.
  • Format: JSON request and response bodies. Errors use application/problem+json.
  • Rate limits: 100 requests per minute and 3,000 requests per hour, per user.

What you can do

The API covers every major area of the platform. Each area has its own group of endpoints in the API reference.
AreaWhat you can manage
Contacts & dataContacts, contact lists, custom fields, and blacklist rules
SequencesMultichannel sequences across email, LinkedIn, calls, and manual tasks
Accounts & templatesConnected email and LinkedIn accounts, plus shared templates
InboxReplies handled through the unified Inbox
SchedulingSending schedules and holiday calendars that control send times
TasksManual tasks assigned to your team
ReportingPerformance reports across all channels
AutomationWebhooks for real-time events and background jobs for long-running operations

API conventions

The API follows consistent patterns across endpoints.

REST

Resource URLs use plural nouns and standard HTTP methods:
  • GET to read
  • POST to create
  • PATCH to update
  • DELETE to remove
Request and response bodies use JSON.

Errors

All 4xx and 5xx responses use application/problem+json. Business errors include a stable code in <resource>.<variant> format, so you can handle them programmatically:
{
  "title": "Bad Request",
  "status": 400,
  "detail": "Unknown webhook event 'email_clicked'.",
  "code": "webHook.invalidEvent"
}
Validation errors (400 Bad Request) also include an errors[] array. Each entry identifies the invalid field using a JSON Pointer.

Asynchronous jobs

Long-running operations, such as email validation and large bulk imports, return 202 Accepted with a Location header that points to /v3/background-jobs/{id}. Use the Background Jobs endpoint to check job status or cancel a job.

Authentication

v3 uses Bearer token authentication. Every request must include an Authorization: Bearer <YOUR_API_KEY> header. If the token is missing, invalid, or revoked, the API returns 401 Unauthorized with a WWW-Authenticate: Bearer header and an empty response body. See Authentication for instructions on generating an API key, making your first authenticated request, using Master and Organization keys, and verifying credentials with /v3/whoami.

Rate limits

To protect the platform, requests are limited to 100 per minute and 3,000 per hour, per user. When you exceed a limit, the API returns 429 Too Many Requests and includes a Retry-After header that tells you when to retry. Reporting and statistics endpoints have stricter limits. See Rate Limits for details.

Versioning

v3 is the current supported version and should be used for all new integrations. API v1 and v2 remain available but are no longer supported and will be deprecated in the future. Their documentation is available at apidocs.reply.io.

Connect an AI agent

Reply MCP connects Reply to Claude, Cursor, and other MCP-compatible AI clients, allowing agents to use Reply without making direct HTTP requests.

Reply MCP

Connect Reply to your AI client.

Authentication

Get an API key and make your first authenticated request.