API Reference

Outreach Endpoints

API endpoints for managing campaigns, leads, mailboxes, threads, and settings. All require authentication and are scoped to a workspace.

URL Pattern

All workspace-scoped endpoints use the pattern: /api/v1/workspaces/:wid/... where :wid is your workspace ID.

Campaigns

MethodEndpointDescription
GET/api/v1/workspaces/:wid/campaignsList all campaigns
POST/api/v1/workspaces/:wid/campaignsCreate a campaign
GET/api/v1/workspaces/:wid/campaigns/:idGet campaign details
PUT/api/v1/workspaces/:wid/campaigns/:idUpdate campaign
POST/api/v1/workspaces/:wid/campaigns/:id/startStart a campaign
POST/api/v1/workspaces/:wid/campaigns/:id/pausePause a campaign
DELETE/api/v1/workspaces/:wid/campaigns/:idDelete campaign and steps

Campaign Steps

MethodEndpointDescription
POST/api/v1/workspaces/:wid/campaigns/:id/stepsCreate a step
PUT/api/v1/workspaces/:wid/campaigns/:id/steps/:stepIdUpdate a step
DELETE/api/v1/workspaces/:wid/campaigns/:id/steps/:stepIdDelete a step
POST/api/v1/workspaces/:wid/campaigns/:id/steps/reorderReorder steps
POST/api/v1/workspaces/:wid/campaigns/:id/mailboxesAssign mailboxes to campaign

Leads

MethodEndpointDescription
GET/api/v1/workspaces/:wid/leadsList all leads (paginated)
GET/api/v1/workspaces/:wid/leads/:idGet lead details
POST/api/v1/workspaces/:wid/leads/uploadUpload CSV lead list
POST/api/v1/workspaces/:wid/leads/validateStart list validation
PUT/api/v1/workspaces/:wid/leads/:idUpdate a lead
DELETE/api/v1/workspaces/:wid/leads/:idDelete a lead
POST/api/v1/workspaces/:wid/leads/add-to-campaignAdd leads to a campaign

Mailboxes

MethodEndpointDescription
GET/api/v1/workspaces/:wid/mailboxesList all mailboxes
POST/api/v1/workspaces/:wid/mailboxesCreate mailbox
PUT/api/v1/workspaces/:wid/mailboxes/:idUpdate mailbox
DELETE/api/v1/workspaces/:wid/mailboxes/:idDelete mailbox
POST/api/v1/workspaces/:wid/mailboxes/:id/testTest existing connection
POST/api/v1/workspaces/:wid/mailboxes/testTest new connection
GET/api/v1/workspaces/:wid/mailboxes/:id/healthGet mailbox health
GET/api/v1/workspaces/:wid/mailboxes/healthGet all mailbox health

Unified Inbox (Threads)

MethodEndpointDescription
GET/api/v1/workspaces/:wid/threadsList threads
GET/api/v1/workspaces/:wid/threads/:idGet thread messages
POST/api/v1/workspaces/:wid/threads/:id/replyReply to a thread
PUT/api/v1/workspaces/:wid/threads/:id/statusUpdate thread status

Warmup

MethodEndpointDescription
GET/api/v1/workspaces/:wid/warmupList warmup status for all mailboxes
POST/api/v1/workspaces/:wid/warmup/:mailboxId/startStart warmup for a mailbox
POST/api/v1/workspaces/:wid/warmup/:mailboxId/pausePause warmup
DELETE/api/v1/workspaces/:wid/warmup/:mailboxIdRemove from warmup

Settings

MethodEndpointDescription
GET/api/v1/workspaces/:wid/settingsGet workspace settings
PUT/api/v1/workspaces/:wid/settingsUpdate settings
POST/api/v1/workspaces/:wid/settings/test-aiTest AI connection
PUT/api/v1/workspaces/:wid/settings/tracking-domainSet tracking domain
POST/api/v1/workspaces/:wid/settings/verify-dnsVerify DNS records

Webhooks

MethodEndpointDescription
GET/api/v1/workspaces/:wid/webhooksList webhook subscriptions
POST/api/v1/workspaces/:wid/webhooksCreate webhook
PUT/api/v1/workspaces/:wid/webhooks/:idUpdate webhook
DELETE/api/v1/workspaces/:wid/webhooks/:idDelete webhook
GET/api/v1/workspaces/:wid/webhooks/:id/logsGet delivery logs

Integrations

MethodEndpointDescription
GET/api/v1/workspaces/:wid/integrationsList integrations
POST/api/v1/workspaces/:wid/integrations/:provider/connectConnect integration
DELETE/api/v1/workspaces/:wid/integrations/:providerDisconnect integration

AI

MethodEndpointDescription
POST/api/v1/workspaces/:wid/ai/enhanceAI email rewrite/enhance
POST/api/v1/workspaces/:wid/ai/spam-checkCheck email for spam words

API Keys

MethodEndpointDescription
GET/api/v1/workspaces/:wid/api-keysList API keys
POST/api/v1/workspaces/:wid/api-keysCreate API key
DELETE/api/v1/workspaces/:wid/api-keys/:idRevoke API key

Example: Create Campaign

bash
curl -X POST https://YOUR_SERVER/api/v1/workspaces/1/campaigns \
  -H "Content-Type: application/json" \
  -H "Cookie: auth_token=YOUR_JWT_TOKEN" \
  -d '{
    "name": "Q2 Outreach",
    "status": "draft",
    "check_reply": true,
    "track_opens": true,
    "track_clicks": true
  }'

Example: Upload Leads CSV

bash
curl -X POST https://YOUR_SERVER/api/v1/workspaces/1/leads/upload \
  -H "Cookie: auth_token=YOUR_JWT_TOKEN" \
  -F "file=@leads.csv"

Example: Test Mailbox Connection

bash
curl -X POST https://YOUR_SERVER/api/v1/workspaces/1/mailboxes/test \
  -H "Content-Type: application/json" \
  -H "Cookie: auth_token=YOUR_JWT_TOKEN" \
  -d '{
    "smtp_host": "smtp.gmail.com",
    "smtp_port": 587,
    "smtp_username": "you@gmail.com",
    "smtp_password": "app-password",
    "imap_host": "imap.gmail.com",
    "imap_port": 993,
    "imap_username": "you@gmail.com",
    "imap_password": "app-password"
  }'