Create credentials
Open Settings → Integrations → API Keys → Edit in the dashboard and create a key. Store the Consumer Secret securely when it is shown. You cannot retrieve it later.
Enable only the permissions your application needs. If you restrict the key to IP addresses, include the public outgoing IP of your application server. See API keys.
Authenticate API requests
Pass both headers on each request. Management endpoints usehttps://pro.api.serversmtp.com/api/v2:
Read account information
Send an email
https://api.eu.turbo-smtp.com/api/v2/mail/send. The request format is identical.
/mail/send authenticates only with consumerKey and consumerSecret. An Authorization header is ignored. It does not replace either Consumer header, and a request carrying only Authorization fails authentication.SMTP authentication
Use the Consumer Key as the username and the Consumer Secret as the password onpro.turbo-smtp.com or pro.eu.turbo-smtp.com. Enable SMTP Sending on the key. Use SMTP setup for ports and encryption settings.
Older accounts may have a legacy Consumer Key whose value equals the account email. Use it as a Consumer Key with its associated secret. This does not mean your dashboard email and password are SMTP credentials. New sub-accounts need their own key pair.
Endpoints that require a session API key
Consumer credentials are not accepted by/user/consumerKeys and its key-specific operations, /change-password, or /update-password. These require a session API key in the raw Authorization header:
Session authentication
Bearer prefix. Use the dashboard for key management and password changes when you do not have a working session API key.
Legacy login: POST /authorize
/authorize checks the same email and password you use for the dashboard. The account must have signed in to the dashboard at least once; otherwise the endpoint returns wrong_credentials_specified. Use Consumer Key / Secret for integrations and reserve this login for the session-only operations below.email, password, and optional no_expire. When login produces a usable token, it is returned as auth. Session keys expire after two hours of inactivity by default; this is an idle timeout, not a fixed lifetime. no_expire: true requests a non-expiring key. An HTTP 200 alone does not establish that the returned token will authenticate later requests.
/authorize permits 10 calls per IP within two minutes, including failed attempts. Exceeding the limit can block that IP until support clears it; subsequent calls return 401 with api_limit_reached. Do not use repeated login attempts as a health check. The same per-IP limit applies to the forgot-password endpoints.
Revoke a session key
Revoke the current session API key
Response
Change a password
PUT /change-password requires a session API key and these fields:
Request body
Password recovery
Use the Forgot password link on the dashboard sign-in screen to recover dashboard access. The legacy API also exposes these operations on the management host:
Recovery tokens are valid for one hour. A successful recovery-request response does not reveal whether the email is registered. These legacy API operations do not remove the
/authorize compatibility limitation described above.