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. The API works on the Lifetime and Pro plans, not Free.
Before you start
- The SendFox API is included with the Lifetime, Pro and Enterprise plans. It is not available on the Free plan: every request returns HTTP 402 with "API access requires a paid plan."
- 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 Audience → 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?
- "API access requires a paid plan." means the account is on the Free plan, where the API is locked. Upgrade to Lifetime or Pro to use it.
- "Contact limit reached. Upgrade your plan to add more contacts." means a paid 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. 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—Zapier covers most automation needs without writing requests by hand.