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/sender \
--header "Authorization: Bearer <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"id":"xxx",
"TeamId":"xxx",
"CampaignId":"xxx",
"warm":false,
"global_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/senders?TeamId=xxx' \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"
Get Sender
curl -X GET 'https://api.supersend.io/v1/sender/<SenderId>/details' \
-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/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:
emailpasswordsmtp_hostsmtp_portsmtp_secureimap_hostimap_portimap_tlsimap_usernameimap_passwordimap_disabledskip_connection_check(special flag to optionally bypass connection check)
Non-Connection Settings
These fields can ONLY be updated through the settings endpoint:
reply_tosend_assignaturewarmmax_per_dayglobal_max_per_daymax_warm_per_daywarm_email_rampmail_warm_minimumdisabledforward_tosent_mailboxwarm_start_date