Getting Started with Outreach2day API
Overview#
Outreach2day API lets you programmatically manage email outreach infrastructure: purchase domains, create mailboxes, run warmup, send campaigns, and read replies — all through a single API.Base URL: https://public.outreach2day.comPrerequisites#
Before using the API, you need to:2.
Create a workspace and attach a payment method (Stripe)
3.
Generate an API key from your account settings
Once you have an API key, all further operations (buying domains, creating mailboxes, launching campaigns, etc.) can be done entirely through the API.Authentication#
All API requests require a Bearer token in the Authorization header:Authorization: Bearer ot2d_your_api_key_here
API keys have the ot2d_ prefix and are valid for 365 days.Managing API Keys#
Create an API Key#
POST /api-keys?workspace_id={workspace_id}
| Parameter | Type | Required | Description |
|---|
workspace_id | integer | Yes | Workspace to bind the key to |
name | string | No | Human-readable label for the key |
{
"api_key": "ot2d_abc123...",
"name": "My Integration",
"workspace_id": 42,
"expiration_date": "2027-03-09T00:00:00Z"
}
List API Keys#
Returns all valid (non-expired) API keys for your account.Delete an API Key#
DELETE /api-keys/{api_key}
Workspaces#
A workspace is your billing and organizational unit. All domains, mailboxes, campaigns, and integrations belong to a workspace.List Workspaces#
[
{
"workspace_id": 42,
"project_name": "My Outreach Project",
"type": "default",
"description": "Q1 outreach",
"max_mailboxes": 100,
"role": "owner"
}
]
Create a Workspace#
{
"project_name": "New Project",
"description": "Cold outreach for SaaS"
}
Setup Payment Method#
Before purchasing domains or mailboxes, attach a payment method:POST /workspaces/{workspace_id}/setup_payment_method
{
"setup_url": "https://checkout.stripe.com/..."
}
Open setup_url in a browser to complete the Stripe checkout. After that, the workspace is ready for purchases.Check Payment Method#
GET /workspaces/{workspace_id}/payment_method
{
"has_payment_method": true,
"card_last4": "4242",
"card_brand": "visa"
}
Upgrade Subscription#
Increase the mailbox limit for your workspace:POST /workspaces/{workspace_id}/upgrade_subscription?newMaxMailboxes=200
Common Patterns#
Paginated endpoints use cursor-based pagination:GET /campaigns?workspaceId=42&limit=50&cursor=abc123
{
"items": [...],
"next_cursor": "def456"
}
Pass next_cursor as cursor in the next request. When next_cursor is null, you've reached the end.Idempotency#
For create/mutate operations, pass an Idempotency-Key header to prevent duplicate operations:Idempotency-Key: unique-request-id-123
Error Handling#
Errors return standard HTTP status codes with a JSON body:{
"detail": {
"error": "workspace_not_found",
"message": "Workspace 999 does not exist or you don't have access"
}
}
| Status Code | Meaning |
|---|
| 400 | Bad request (validation error) |
| 401 | Invalid or missing API key |
| 403 | No access to the requested workspace |
| 404 | Resource not found |
| 409 | Conflict (duplicate resource) |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
Workspace ID#
Most endpoints require a workspaceId query parameter:GET /campaigns?workspaceId=42
This scopes all operations to the specified workspace. Your API key must have access to the workspace.Use Cases#
The API supports three main workflows:| Use Case | Description | Guide |
|---|
| Mailboxes & Domains | Purchase domains, configure DNS, create mailboxes, enable warmup | Step-by-step infrastructure setup |
| Unified Inbox (Unibox) | Read and reply to all emails in one place with smart filtering | Real-time inbox management |
| Campaigns | Create email sequences, import leads, launch, and track results | Build your own sequencer |
Quick Example#
Here's a minimal flow to get started (Python):API Documentation#
Interactive API docs (Scalar) are available at:Docs: https://public.outreach2day.com/docs
OpenAPI spec: https://public.outreach2day.com/openapi.json
Redoc: https://public.outreach2day.com/redoc
Next Steps#
Modified at 2026-03-10 01:37:30