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.

Postman new request dialog with a request name and collection selected

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.)

SendFox API tokens settings page with the Create New Token link

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.

Postman Authorization tab with the SendFox access token pasted

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

Postman request with POST selected and the SendFox contacts URL

  • Add email as a Key and the email address as its Value.

Postman parameters with the email key and address value

  • Do the same for first_name.

Postman parameters with the first_name key added

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

SendFox list page URL showing where to copy the list ID

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

Postman parameters with the lists array key and a list ID value

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

Postman Headers tab with the Accept application/json header

Step 5: Test the request

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

Postman response showing the created contact JSON

And the contact appears on your SendFox list:

SendFox list showing the contact added through the API

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"?

Why does my request return a validation error (HTTP 400)?

  • A required parameter is missing or invalid—for example, email on POST /contacts. The JSON response names the field. The Accept: application/json header 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.

Still need help? Contact Us Contact Us