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

Offer profile

What you sell, used by Write with AI. 3 endpoints, each also a tool for your AI through MCP. Authentication and errors are on the overview.

Get the offer profile

GET/api/v1/offer-profile

What the workspace sells, who to, the problem, proof points and things never to claim. write_sequence uses only these facts.

MCP tool get_offer_profileRead-only

Returns

profilerequiredobject | null
Null until someone saves one
readyrequiredboolean
Has what a useful email needs: product, audience, problem
aiAvailablerequiredboolean
This server has an AI key, or the workspace connected its own
draftsrequiredobject
Write with AI drafts this month: one draft = one write_sequence or website draft call
sendingDomainrequiredstring | null
Domain from onboarding, offered for the website draft
updatedAtrequiredstring | null
cURL
curl https://ballast.to/api/v1/offer-profile \
  -H "Authorization: Bearer $BALLAST_API_KEY"

Save the offer profile

PUT/api/v1/offer-profile

Replaces the whole profile. Put only true facts here: proof points must be real numbers or customers.

MCP tool update_offer_profile

Parameters

companystring
Name of the sender's company
productstring
What you sell, in a sentence or two
audiencestring
Who it is for: roles, company types, sizes
problemstring
The problem it solves for them
proofstring
Proof points with real numbers or customer names, one per line
ctastring
What you ask for, e.g. a 15 minute call or a reply
tone"plain" | "friendly" | "direct" | "formal"
avoidstring
Things never to claim or mention, one per line

Returns the same fields as Get the offer profile.

cURL
curl -X PUT https://ballast.to/api/v1/offer-profile \
  -H "Authorization: Bearer $BALLAST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company":"<company>","product":"<product>"}'

Draft an offer profile from a website

POST/api/v1/offer-profile/draft

Reads the homepage and drafts the profile from what it says. Nothing is saved: review it, then call update_offer_profile.

MCP tool draft_offer_profile_from_websiteNeeds an active plan

Parameters

urlrequiredstring
Homepage, e.g. acme.com

Returns

profilerequiredobject
urlrequiredstring
cURL
curl -X POST https://ballast.to/api/v1/offer-profile/draft \
  -H "Authorization: Bearer $BALLAST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<url>"}'
PreviousWebhook endpointsNextBilling