403 with feature_not_available_for_active_plan. Check your plan before provisioning.
Authentication
Base URL:https://pro.api.serversmtp.com/api/v2
Send the parent account’s consumerKey and consumerSecret headers with Statistics & Management APIs (APIS) permission. Its IP restrictions must allow your server. See authentication.
Dashboard setup
The Sub Accounts creation wizard has four steps:- Enter the email, a password set by the parent, and profile details.
- Select a sending IP already assigned to the parent.
- Review domain verification instructions.
- Confirm the details and click Create.
List sub-accounts
Terminal
GET /subaccounts/list accepts these optional query parameters:
The response is
{count, results}. Each result includes subaccount_id, parent_id, email, ip, active, limit, sent, last_used, plan_expiration, plan_limit_interval, and expired. Use subaccount_id in the paths below.
Check an email address
GET /subaccounts/email-exists checks whether an email is already associated with a turboSMTP account. The query name is case-sensitive: use capital Email.
Terminal
Create a sub-account
POST /subaccounts requires email, password, confirm_password, first_name, last_name, ip, and policy_agree: true.
Choose a password with at least 10 characters, an uppercase letter, a lowercase letter, and a digit. Both password fields must match. Replace the example password and IP; the IP must already belong to the parent account.
Terminal
address_1, address_2, city, company_name, country, region, zip_code, phone_number, and site_url. The 201 response includes subaccount_id, parent_id, email, active, ip, and profile fields.
Set limits and status with the separate endpoints below. limit and active sent to the create endpoint are ignored.
Read and update a profile
GET /subaccounts/{Id} returns the sub-account’s identifiers, email, status, IP, and profile.
Use PATCH /subaccounts/{Id} to update it. Send first_name, last_name, ip, and policy_agree: true, plus any optional profile fields to change. To change the password, also send matching password and confirm_password fields.
Terminal
Set limits and status
limit must be an integer from -1 to the parent account’s limit. -1 removes the sub-account-specific cap; the parent plan still applies. The period is given by plan_limit_interval.
The active-plan response includes subaccount_id, parent_id, ip, active, limit, sent, last_used, plan_expiration, plan_limit_interval, and expired. The active flag controls login availability; sending also requires an active subscription.
Delete a sub-account
DELETE /subaccounts/{Id} soft-deletes the sub-account and frees its email address for reuse.
Terminal
Access a sub-account session
POST /subaccounts/authorize accepts {"email":"client@example.com"} using the parent’s management credentials. It returns an auth value for the sub-account session. Pass that value as the raw Authorization header on session-authenticated requests.