ProductPricingCompareCheck your domainDocsDashboardSign inGet started
Docs / REST API

Start

  • Overview
  • Getting started
  • Connect a mailbox

Sending

  • Domains
  • Mailboxes
  • Sending safety

Leads and campaigns

  • Leads
  • Campaigns
  • Write with AI

Replies and results

  • Unibox and AI labels
  • Analytics

Workspace

  • Team and roles
  • Billing and plans
  • Integrations

Developers

  • Connect your AI (MCP)
  • REST API
    • Overview
    • Workspace5
    • Analytics1
    • Campaigns26
    • Leads16
    • Lists4
    • Labels6
    • Suppressions3
    • Unibox6
    • Mailboxes8
    • Warmup3
    • Deliverability Network4
    • Domains4
    • Link domain5
    • Integrations3
    • Webhook endpoints7
    • Offer profile3
    • Billing1
    • Domain checker1
    • API keys1
  • Webhooks

Start

  • Overview
  • Getting started
  • Connect a mailbox

Sending

  • Domains
  • Mailboxes
  • Sending safety

Leads and campaigns

  • Leads
  • Campaigns
  • Write with AI

Replies and results

  • Unibox and AI labels
  • Analytics

Workspace

  • Team and roles
  • Billing and plans
  • Integrations

Developers

  • Connect your AI (MCP)
  • REST API
    • Overview
    • Workspace5
    • Analytics1
    • Campaigns26
    • Leads16
    • Lists4
    • Labels6
    • Suppressions3
    • Unibox6
    • Mailboxes8
    • Warmup3
    • Deliverability Network4
    • Domains4
    • Link domain5
    • Integrations3
    • Webhook endpoints7
    • Offer profile3
    • Billing1
    • Domain checker1
    • API keys1
  • Webhooks

Cold email that keeps your domains steady, with every feature on every plan.

Product

  • Features
  • Pricing
  • Sequences
  • Warmup
  • How it works
  • Docs
  • Changelog
  • Blog

Compare

  • Ballast vs Instantly
  • Ballast vs Smartlead
  • Ballast vs Lemlist
  • Switch from Instantly
  • Switch from Smartlead
  • Switch from Lemlist

Free tools

  • Domain checker
  • MX lookup
  • SPF checker
  • DKIM checker
  • DMARC checker
  • Blacklist check

Legal

  • Terms of Service
  • Privacy Policy
  • Acceptable Use Policy
  • Data Processing Agreement
  • Sub-processors

Developers

  • REST API
  • MCP server
  • OpenAPI spec
© 2026 BallastTermsPrivacy
All systems normal
ProductPricingCompareCheck your domainDocsBlogChangelogSign in

API reference

Workspace

Who you are, the workspace and its sending settings. 5 endpoints, each also a tool for your AI through MCP. Authentication and errors are on the overview.

Liveness check

GET/api/v1/ping

Read-only

Returns

okrequiredtrue
timerequiredstring
cURL
curl https://ballast.to/api/v1/ping \
  -H "Authorization: Bearer $BALLAST_API_KEY"

Who am I: the user, workspace and plan behind this key or session

GET/api/v1/me

MCP tool whoamiRead-only

Returns

userrequiredobject
workspacerequiredobject
rolerequired"owner" | "admin" | "member"
authrequired"session" | "api_key" | "oauth"
billingrequiredobject
cURL
curl https://ballast.to/api/v1/me \
  -H "Authorization: Bearer $BALLAST_API_KEY"

Members of this workspace, and pending invites for owners and admins

GET/api/v1/members

MCP tool list_membersRead-only

Returns

membersrequiredobject[]
invitationsrequiredobject[]
cURL
curl https://ballast.to/api/v1/members \
  -H "Authorization: Bearer $BALLAST_API_KEY"

Workspace sending and reply settings shared by every campaign

GET/api/v1/settings/sending

MCP tool get_sending_settingsRead-only

Returns

unsubscribeModerequired"link" | "reply_text"
What {{unsubscribe}} becomes in every campaign: a one-click link, or a line asking to reply "stop"
aiLabelsrequiredboolean
Label replies with AI (OpenAI, Google Gemini as fallback, or the workspace's own key from Integrations). Off: only out-of-office, auto-replies and unsubscribe requests are labeled, by rules.
ownAiKeyrequired"openai" | "google" | null
The workspace's own AI key (Integrations): reply labels run on it, so reply text goes to that account, not Ballast's
cURL
curl https://ballast.to/api/v1/settings/sending \
  -H "Authorization: Bearer $BALLAST_API_KEY"

Change the workspace sending and reply settings

PATCH/api/v1/settings/sending

MCP tool update_sending_settingsOwners and admins

Parameters

unsubscribeMode"link" | "reply_text"
What {{unsubscribe}} becomes in every campaign: a one-click link, or a line asking to reply "stop"
aiLabelsboolean
Label replies with AI (OpenAI, Google Gemini as fallback, or the workspace's own key from Integrations). Off: only out-of-office, auto-replies and unsubscribe requests are labeled, by rules.

Returns

unsubscribeModerequired"link" | "reply_text"
What {{unsubscribe}} becomes in every campaign: a one-click link, or a line asking to reply "stop"
aiLabelsrequiredboolean
Label replies with AI (OpenAI, Google Gemini as fallback, or the workspace's own key from Integrations). Off: only out-of-office, auto-replies and unsubscribe requests are labeled, by rules.
ownAiKeyrequired"openai" | "google" | null
The workspace's own AI key (Integrations): reply labels run on it, so reply text goes to that account, not Ballast's
cURL
curl -X PATCH https://ballast.to/api/v1/settings/sending \
  -H "Authorization: Bearer $BALLAST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"unsubscribeMode":"link","aiLabels":true}'
PreviousAPI overviewNextAnalytics