How to create a SendFox API request (Postman example)
Make a SendFox API request with a personal access token from Settings → API tokens, sent as a Bearer header. This example works on every plan, Free included.
Before you start
- Lifetime, Pro and Enterprise get the full SendFox API. The Free plan gets a limited set of endpoints: reading your account, lists, campaigns and stats, adding and tagging contacts, and transactional email. The request in this walkthrough (adding a contact to a list) is part of the Free set.
- All endpoints build from
https://api.sendfox.com—see the endpoints reference. - This walkthrough uses the Postman app, but the same steps work in any HTTP client.
- A personal access token works for your own account. Building an app that other SendFox users will connect? Create an OAuth 2.0 client instead.
Step 1: Create the request in Postman
- Click New, add the request name and collection, and click Save.

Step 2: Get your SendFox access token
- In SendFox, go to Settings → Connections → API tokens.
- Click Create New Token, name it, and click Create.
- Copy the personal access token immediately—it's only shown once. (Full details: how to get access tokens.)

Step 3: Authorize the request
- Back in Postman, open the Authorization tab.
- Choose Bearer Token (or OAuth 2.0) as the type and paste the access token you generated in SendFox.

Step 4: Write the request
Here's an example POST request that adds an email address and first name to a specific SendFox list.
- Select POST from the dropdown menu and use this URL:
https://api.sendfox.com/contacts

- Add
emailas a Key and the email address as its Value.

- Do the same for
first_name.

- To target a list, get its ID: in SendFox go to Contacts → Lists, open the list, and copy the number from the page URL.

- Add the list as a
lists[]parameter with your list's ID as the value (your ID will differ from the example).

- Lastly, add an
Accept: application/jsonheader on the Headers tab so error responses come back as readable JSON.

Step 5: Test the request
Click Send. A successful request returns the new contact as JSON:

And the contact appears on your SendFox list:

Troubleshooting
Why do I get HTTP 402?
- "This endpoint requires a paid plan. The Free plan includes a limited set of API endpoints." means the account is on the Free plan and you called an endpoint outside the Free set. Adding a contact is in the Free set; for the full API, upgrade to Lifetime or Pro.
- "Contact limit reached. Upgrade your plan to add more contacts." means the account has reached its contact limit, so new contacts are refused. Upgrade your plan to add more.
Why do I get HTTP 401 Unauthorized?
- The token is missing, mistyped, or revoked. Re-check the Authorization tab and create a fresh token if needed.
Why do I get HTTP 403 "account_restricted"?
- The API is off while your SendFox account is restricted: a billing pause you booked, or an account SendFox has paused or restricted. The Account status page in the account menu says which. See why an account is paused or restricted or how a billing pause works.
Why does my request return a validation error (HTTP 400)?
- A required parameter is missing or invalid—for example,
emailon POST /contacts. The JSON response names the field. TheAccept: application/jsonheader keeps error responses readable.
Still stuck? Email support@sendfox.com or visit the Help Center at help.sendfox.com. Include the endpoint, the HTTP status code and the error message you got—never paste your access token.
Frequently Asked Questions
What other endpoints can I call?
Contacts, lists, campaigns, tags, automations, forms and more (on the Free plan, a limited set). The endpoints reference covers the most-used ones, and the complete documentation is at sendfox.com/developer/docs.
What happens if the email is already in SendFox?
SendFox keeps the existing contact and adds it to the lists in your request—no duplicate is created. A contact who unsubscribed stays unsubscribed.
Do I have to use Postman?
No—any HTTP client works (curl, your own code, no-code tools). The pattern is the same: Bearer token in the Authorization header, JSON responses.
Is there a no-code option?
Yes—on the Lifetime and Pro plans, Zapier covers most automation needs without writing requests by hand.