EmailBison for Developers
Built for developers and makers. A clean, modern REST API for leads, campaigns, replies, and automation. Script anything you can do in the UI — and a little more.
Authentication
EmailBison uses Bearer tokens. Create tokens at
Settings → Developer API → New API Token
.
API Keys
api-user
— authenticates only for the workspace where it was created.super-admin
— impersonates the creator; scopes to the creator’s current workspace.
Tip: prefer api-user
keys for most integrations.
Authorization header
Authorization: Bearer YOUR_API_KEY
Sample request
curl https://dedi.emailbison.com/api/users \
--header 'Authorization: Bearer YOUR_API_KEY'
API Explorer
Headers
Content-Type: application/json
Authorization: Bearer YOUR_SECRET_TOKEN
Notes
Endpoints
Selected endpoints · full reference →Contacts
/api/leads
POST
/api/leads
PUT
/api/leads/{id}
POST
/api/tags/attach-to-leads
Campaigns
/api/campaigns
POST
/api/campaigns
PATCH
/api/campaigns/{id}
POST
/api/campaigns/{id}/pause
Custom Tags
/api/tags
POST
/api/tags/attach-to-leads
POST
/api/webhooks
DELETE
/api/tags/{tag_id}
Sequences
/api/campaigns/sequence-steps
POST
/api/campaigns/sequence-steps/{id}/send-test
DELETE
/api/campaigns/sequence-steps/{sequence_step_id}
Email Accounts
/api/sender-emails
PATCH
/api/sender-emails/{senderEmailId}
POST
/api/sender-emails/{senderEmailId}
Replies
/api/replies
PATCH
/api/replies/{id}/mark-as-interested
POST
/api/replies/{id}/followup-campaign/push
Webhooks
Listen to webhooks and build powerful workflows. Receive push events for key changes like email sent, reply received, interested, unsubscribed, tag added, and more.
Sample event · tag.attached
{
"event": {
"type": "TAG_ATTACHED",
"name": "Tag Attached",
"instance_url": "https://dedi.emailbison.com",
"workspace_id": 2,
"workspace_name": "Red Team"
},
"data": {
"tag_id": 1,
"tag_name": "Interested",
"taggable_id": 20,
"taggable_type": "Campaign"
}
}
Getting started
To view all available events, go to
Settings → Webhooks → New Webhook URL
.
New webhook listener
- Register one or more endpoints for this workspace.
- Select the events you want to receive.
- We retry failed deliveries up to five times across the next twenty four hours.
Create Webhook
- Name — for example Slack.
- URL — for example
https://your-webhook-url/webhooks
. - Events — choose one or many that you want to receive.
Low-Code Tools
Build automations with tools like n8n, Clay, Zapier, and Make. These connect to EmailBison by listening to webhooks and making API requests.
Translating API calls
Most builders map one-to-one with our API reference. Consult your tool’s docs for UI specifics. (Hover terms for common labels.)
-
Authorization —
add header
Authorization: Bearer YOUR_API_KEY
. Many tools let you save this once as a reusable connection. -
HTTP Method —
one of
GET
,POST
,PUT
,PATCH
,DELETE
. -
Endpoint —
for example
https://subdomain.yourdomain.com/api
./leads -
Query Parameters —
name and value pairs for
GET
requests. - Body — JSON exactly as shown in our docs and API reference.
Tip
Use Settings → Webhooks
to subscribe your tool to events, then use the
event payload to drive follow-up API calls.
GET requests in Clay (example)
This pattern works for most GET endpoints. Here we fetch leads with search and filter criteria.
Endpoint
GET https://subdomain.yourdomain.com/api/leads
Query parameters
search=john
filters[replies][value]=0
filters[replies][criteria]==
filters[tag_ids][0]=11
filters[tag_ids][1]=12
Clay does not support duplicate keys, so send indexed arrays like
filters[tag_ids][0]
, filters[tag_ids][1]
.
- In your Clay table, add a column and choose Add enrichment.
- Select HTTP API and authenticate using a saved account or an Authorization header.
- Set Method to
GET
. -
Set Endpoint to
https://subdomain.yourdomain.com/api
/leads - Add the query parameters exactly as shown above (one key and value per row).
- Save the enrichment and run the column. Use Clay’s cell references to make parameters dynamic.
Outcome
The column performs a GET to EmailBison and returns leads matching the search and filters. Reuse the same pattern for other GET endpoints.
Integrations
Open IntegrationsHow Does the HubSpot Integration Work? (Powered by OutboundSync)
Connect Bison outreach with HubSpot CRM features using OutboundSync. After setup you can sync contacts and companies, log email activity and timeline events, and build workflows that automate follow-ups and power reporting inside HubSpot.
How Does the Salesforce Integration Work? (Powered by OutboundSync)
Use OutboundSync to log Bison email activity directly in Salesforce. Track engagement on contact records, trigger flows and automations, and build real-time reports from your campaigns. Designed to work with native Salesforce tools for full visibility.
How Do I Integrate with EmailGuard Health Monitoring?
Walkthrough of integrating with EmailGuard.
Create API token in EmailGuard
- Open Account Settings in the left sidebar.
- Select Developer API then choose New API Token.
- Enter a name and choose a token type, then select Generate Token.
- Recommendation: use api-user to scope the token per client.
- Copy the token and store it securely. It is shown once.
Add EmailGuard token to EmailBison
- In Bison, open Settings in the top navigation.
- Select Integrations in the left sidebar, then choose EmailGuard.
- Paste your EmailGuard API token and select Update API Token.
- Wait for the confirmation prompt indicating a successful connection.
This token is used only for the current workspace. To use EmailGuard in other workspaces, link each workspace separately. If you use EmailGuard workspaces, align tokens to corresponding Bison workspaces.
How Does the EmailGuard Integration Work?
Run inbox placement tests from your Bison campaigns without switching tools. After launch, trigger a one-click inbox test to see where messages land across providers. Use results to adjust sending and protect sender reputation in real time.
Rate limits & errors
Standard limits apply per key. Handle 429 and retry after the window indicated by headers.
Too Many Requests
{
"error": "rate_limited",
"retry_after": 8
}
Unauthorized
{
"error": "invalid_token"
}
Validation
{
"error": "validation_error",
"fields": { "email": ["is invalid"] }
}
One simple price. Everything included.
No per-seat charges. No add-ons. Just powerful deliverability tools in a single monthly plan.