SendFox
MARKETING · MARKETING
Contacts, lists, campaigns, automations, and their email activity in the account they connected.
Connecting SendFox in practice
SendFox gates its API by plan before it gates anything by permission: free accounts cannot call it at all, access needs a Lifetime or Empire plan, and the OAuth 2.0 client declares an empty scope set, so every token reaches every endpoint. The ceiling is 60 requests a minute per authenticated user, and an account SendFox has restricted gets 403 with the error code account_restricted.
Scopes that draw scrutiny
oauth2 (authorizationCode flow, scopes: {})The spec’s security scheme declares no scopes at all, so consent is all-or-nothing: a token that can read contacts can also send campaigns and run filter-based bulk writes.Personal access token (Authorization: Bearer)Created at sendfox.com/account/oauth and equivalent in reach to an OAuth token. It is the credential an unattended agent would hold, with nothing narrowing it.
Rate limits
- 60 requests per minute per authenticated user.
- Headers: X-RateLimit-Limit, X-RateLimit-Remaining, and Retry-After on 429 responses only.
- Test sends: up to 30 addresses per call (1 on the free plan) and 30 test sends per account per day, shared with Send Test in the app.
- Contacts list: 100 per page by default, up to 1,000 via per_page.
Worth knowing
- Run a filter-based bulk action with dry_run: true first. A dry run is the only way to see how many contacts a filter matches, the write is not undoable, and an empty filter is rejected unless it is a dry run.
- Bulk delete and bulk unsubscribe are deliberately not offered, so mass removal has to be done record by record inside the 60/minute budget.
- Sending a campaign can fail for reasons that are not about the request: 403 while a large campaign is still going out, and a block during an account warmup or throttle period, on top of a content-approval workflow and bounce-rate monitoring.
- remove_tag or remove_from_list filtered by that same tag or list skips people who unsubscribed from it, because the filters match only subscribed members — they keep the tag and the membership.
Checked against SendFox API documentation (2026-09-29), SendFox OpenAPI specification (2026-09-29)
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
Often connected alongside
Put SendFox behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.