HotHawk API
Everything you can do in HotHawk, you can do in code. Create campaigns, add leads, manage replies, set up webhooks and more. Or hand it all to Claude over MCP.
curl https://api.hothawk.ai/v1/campaigns \
-H "Authorization: Bearer YOUR_API_KEY"{
"data": [ /* your campaigns, newest first */ ]
}Authentication
Generate an API key in your workspace settings and send it as a Bearer token in theAuthorizationheader on every request. That is the whole handshake. Keep your key server-side and treat it like a password.
curl https://api.hothawk.ai/v1/workspaces \
-H "Authorization: Bearer YOUR_API_KEY"Endpoints
Grouped the way the product is, with a few routes per card. The documentation has every route, parameter and schema.
Campaigns
Create campaigns, set their schedule, then activate or pause them.
/campaigns/campaigns/campaigns/{id}/activate/campaigns/{id}/pauseCampaign steps
Set the steps in a campaign and A/B test their variants.
/campaign-steps/campaign-steps/campaign-steps/campaign-steps/{stepId}/variantsCampaign leads
Add leads to a campaign, preview the audience, pause or resume each.
/campaigns/preview-leads/campaigns/{id}/leads/campaigns/{id}/leads/campaigns/{id}/leads/{leadId}/pauseLeads
Create, import and update leads and their fields.
/crm/leads/crm/leads/crm/leads/import/crm/leads/{id}Lead lists
Group leads into lists you can enrol in one call.
/crm/lists/crm/lists/crm/lists/{id}Replies & events
Subscribe to a webhook and get the payload the moment a reply lands.
/events/webhooks/webhooks/webhooks/{id}Labels
Create labels to organise and route reply threads.
/labels/labels/labels/bulk/labels/{id}LinkedIn inbox
Read LinkedIn conversations and send replies in code.
/linkedin/conversations/linkedin/conversations/{id}/messages/linkedin/send-message/linkedin/accountsMailboxes
Connect, bulk import and reconnect sending mailboxes.
/mailboxes/mailboxes/connect-imap/mailboxes/imap-bulk/mailboxes/{id}/reconnectWarmup
Create and manage warmup tags for your mailboxes.
/warmups/tags/warmups/tags/warmups/tags/bulkOpportunities
Track deals from replies, with pipeline stage summaries.
/crm/opportunities/crm/opportunities/crm/opportunities/stage-summaries/crm/opportunities/{id}Workspaces & ClientBox
Manage workspaces and client settings, and pull analytics.
/workspaces/workspaces/analytics/workspaces/settings/workspaces/settings/{id}& more
View all endpointsWebhooks
Register a webhook and we post an event the moment something happens, from a new reply to a bounce. CallGET /eventsfor the full list, then subscribe to the ones you care about.
curl -X POST https://api.hothawk.ai/v1/webhooks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "https://yourapp.com/hooks", "events": ["..."] }'Pagination
List endpoints take two query params and wrap results in adataarray.
- page
- Page number. Starts at 1.
- take
- Results per page, 1 to 150. Defaults to 25.
Errors
Standard HTTP status codes. A non-2xx response means the request was not applied.
- 400
- Bad request. Invalid inputs or a malformed request.
- 403
- Forbidden. Missing or wrong API key.
- 404
- Not found. The resource does not exist.
- 429
- Rate limited. Rate limit hit, or your monthly quota is reached.
Prefer plain language? Run HotHawk from Claude with our MCP server.
Connect the MCP serverCommon questions
Is the API on every plan?
Yes. The REST API, webhooks and MCP server are on every plan. The only thing we meter is your monthly sending volume.
How do I get an API key?
Generate one in your workspace settings, then send it as a Bearer token in the Authorization header on every request. Keep it server-side and treat it like a password.
Can AI agents use it?
Yes. Our hosted MCP server lets Claude and other Model Context Protocol clients drive HotHawk in plain language. Have a look at the MCP server page to connect it.