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