APIs

Sender API

A Sender is an email account to send out from. We only support Gmail right now mostly due to imap issues on the receiving end when using plain smtp providers like Sendgrid or AWS's SES


Create Sender

To create multiple senders, send individual requests for each sender. You can split them across multiple requests as needed.

curl -X POST https://api.supersend.io/v1/auto/sender \
--header "Authorization: Bearer <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
  "id":"xxx",
  "TeamId":"xxx",
  "CampaignId":"xxx",
  "warm":false,
  "max_per_day":25,
  "email":"andrew@xxx",
  "signature":"<p>✌️,</p><p>Andrew</p>",
  "password":"xxx",
  "send_as":"Andrew"
}'

Get Senders

TeamId is optional

curl -X GET 'https://api.supersend.io/v1/auto/senders?TeamId=xxx' \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"

Get Sender

curl -X GET 'https://api.supersend.io/v1/auto/sender/<SenderId>?TeamId=xxx' \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"

Update Sender

Note: The legacy endpoint (/v1/auto/sender/<SenderId>) is now deprecated and will redirect you to the appropriate new endpoint. We recommend using the specific endpoints below.

The API now strictly enforces field separation between the two update endpoints. Attempting to use connection fields in the settings endpoint (or vice versa) will result in an error.

Update Connection Settings

Use this endpoint ONLY for updating credential-related fields. This endpoint will perform connection checks.

curl -X PUT https://api.supersend.io/v1/sender/<SenderId> \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
--data '{
  "TeamId":"xxx",
  "email":"andrew@xxx",
  "password":"xxx",
  "smtp_host":"smtp.gmail.com",
  "smtp_port":587,
  "smtp_secure":true,
  "imap_host":"imap.gmail.com",
  "imap_port":993,
  "imap_tls":true,
  "imap_username":"optional-username",
  "imap_password":"optional-password",
  "imap_disabled":false,
  "skip_connection_check":false  // Optional: set to true to bypass connection check
}'

Update Sender Settings

Use this endpoint ONLY for updating non-credential settings. This endpoint never performs connection checks, providing faster updates for settings.

curl -X PUT https://api.supersend.io/v1/sender/<SenderId>/settings \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
--data '{
  "TeamId":"xxx",
  "reply_to":"support@example.com",
  "send_as":"Andrew Smith",
  "signature":"<p>✌️,</p><p>Andrew</p>",
  "warm":true,
  "max_per_day":50,
  "global_max_per_day":100,
  "max_warm_per_day":5,
  "warm_email_ramp":3,
  "mail_warm_minimum":10,
  "disabled":false,
  "forward_to":"forward@example.com",
  "sent_mailbox":"[Gmail]/Sent Mail",
  "warm_start_date":"2023-01-01"
}'

Field Categories

Sender fields fall into two distinct categories that must be updated through their respective endpoints:

Connection Settings

These fields can ONLY be updated through the main endpoint and will trigger connection checks:

  • email
  • password
  • smtp_host
  • smtp_port
  • smtp_secure
  • imap_host
  • imap_port
  • imap_tls
  • imap_username
  • imap_password
  • imap_disabled
  • skip_connection_check (special flag to optionally bypass connection check)

Non-Connection Settings

These fields can ONLY be updated through the settings endpoint:

  • reply_to
  • send_as
  • signature
  • warm
  • max_per_day
  • global_max_per_day
  • max_warm_per_day
  • warm_email_ramp
  • mail_warm_minimum
  • disabled
  • forward_to
  • sent_mailbox
  • warm_start_date
Previous
Identities