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

Switch endpoint & language
Endpoint:

      

Headers

  • Content-Type: application/json
  • Authorization: Bearer YOUR_SECRET_TOKEN

Notes

View full reference

Endpoints

Selected endpoints · full reference →

Contacts

GET /api/leads POST /api/leads PUT /api/leads/{id} POST /api/tags/attach-to-leads

Campaigns

GET /api/campaigns POST /api/campaigns PATCH /api/campaigns/{id} POST /api/campaigns/{id}/pause

Custom Tags

GET /api/tags POST /api/tags/attach-to-leads POST /api/webhooks DELETE /api/tags/{tag_id}

Sequences

GET /api/campaigns/sequence-steps POST /api/campaigns/sequence-steps/{id}/send-test DELETE /api/campaigns/sequence-steps/{sequence_step_id}

Email Accounts

GET /api/sender-emails PATCH /api/sender-emails/{senderEmailId} POST /api/sender-emails/{senderEmailId}

Replies

GET /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].

  1. In your Clay table, add a column and choose Add enrichment.
  2. Select HTTP API and authenticate using a saved account or an Authorization header.
  3. Set Method to GET.
  4. Set Endpoint to https://subdomain.yourdomain.com/api/leads
  5. Add the query parameters exactly as shown above (one key and value per row).
  6. 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

How 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

  1. Open Account Settings in the left sidebar.
  2. Select Developer API then choose New API Token.
  3. Enter a name and choose a token type, then select Generate Token.
  4. Recommendation: use api-user to scope the token per client.
  5. Copy the token and store it securely. It is shown once.

Add EmailGuard token to EmailBison

  1. In Bison, open Settings in the top navigation.
  2. Select Integrations in the left sidebar, then choose EmailGuard.
  3. Paste your EmailGuard API token and select Update API Token.
  4. 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.

429

Too Many Requests

{
  "error": "rate_limited",
  "retry_after": 8
}
401

Unauthorized

{
  "error": "invalid_token"
}
422

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.