Mailpro

Developer Portal

Several API keys — one per tool

Give each site, software or provider its own key, with only the rights it needs. If one of them must no longer access your account, delete its key: the others keep working.

IdClient + ApiKey

Main key

One per account, with every right. The simplest to use: two headers in each call, no token. But replacing it breaks every tool that uses it.

Best for: your own site or software, to get started quickly.
client_id + client_secret

Extra keys

As many as you need. Each one has a name and the rights you choose, and is exchanged for a token valid for 20 minutes. You can delete one without touching the others.

Best for: one key per tool or provider.
Zapier, Make, Power Automate

Connected tools

You authorize them from their own site: no key to copy. You can remove their access at any time.

Best for: integration platforms.

All three are managed in the app, on one page: Settings → SMTP & API → API. They share your account's monthly request quota.

Add a key in 3 steps

1. Create the key

In the app, under Settings → SMTP & API → API, click Add a key. Give it a name, tick what it can do, and copy the client_id and client_secret: the secret is shown only once.

2. Get a token

Exchange the two values for a token, valid for 20 minutes (expires_in is in seconds). Without a scope parameter, the token receives all the rights of the key; add scope=contacts:read to limit it.

curl -X POST https://api.mailpro.com/oauth/token \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET"

{ "access_token": "eyJhbGciOiJSUzI1Ni…", "token_type": "Bearer", "expires_in": 1200 }

3. Call the API

Put the token in the Authorization header. The same token works on the CRM v3, Email v2 and SMS APIs, as long as the key has the required right.

curl https://api.mailpro.com/v3/List \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1Ni…"

When the token expires, repeat step 2. Keep the token between calls: there is no need to request a new one each time.

What a key can do

Tick only what the tool needs: a stolen key can do nothing more. Each right is independent: contacts:write does not include contacts:read.

RightAllows
contacts:readView your contacts, lists, tags and segments
contacts:writeCreate, edit and delete your contacts, lists and tags
email:sendSend emails on your behalf
email:readView delivery stats, opens, clicks and bounces
email:templates:readView your email templates
email:templates:writeCreate, edit and delete your email templates
sms:sendSend SMS messages on your behalf
sms:readView your SMS balance and message history
sms:contacts:readView your SMS phone book
sms:contacts:writeCreate, edit and delete entries in your SMS phone book
webhooks:manageSubscribe to, edit and remove webhook endpoints
account:readView your account credits, limits and subscription

What happens when you change a key

ActionEffect
Edit an extra keyName and rights change, the secret stays the same. The new rights apply to the next tokens; a token already issued keeps its rights for up to 20 minutes.
New secretThe old secret stops working: only this key is affected. Tokens already issued stay valid for up to 20 minutes.
Delete an extra keyThe key can no longer get tokens; tokens already issued stay valid for up to 20 minutes. The other keys keep working.
Replace the main keyThe old key stops working immediately: update every tool that uses it. Extra keys and connected tools keep working.
Delete the main keyCloses all API access for the account immediately: main key, extra keys and connected tools.

Errors you may meet

ResponseMeaning
401 invalid_clientWrong client_id or client_secret, or deleted key (when requesting a token).
401 unauthorizedMissing, invalid or expired token: request a new one.
403 insufficient_scopeThe key does not have the right required by this endpoint.
403 no_api_accessAPI access is closed on this account.
429 quota_exceededThe account's request quota is used up.