Documentation Index
Fetch the complete documentation index at: https://docs.foxreach.io/llms.txt
Use this file to discover all available pages before exploring further.
Error Response Format
When an API request fails, the response body contains adetail field describing what went wrong:
HTTP Status Codes
Success Codes
| Code | Meaning | When It’s Used |
|---|---|---|
200 OK | Request succeeded | GET, PATCH, and action endpoints (start/pause) |
201 Created | Resource created | POST endpoints that create new resources |
204 No Content | Deleted successfully | DELETE endpoints |
Client Error Codes
| Code | Meaning | Common Causes |
|---|---|---|
400 Bad Request | Malformed request | Invalid JSON body, missing Content-Type header |
403 Forbidden | Authentication failed | Missing or invalid API key, insufficient scopes, wrong workspace |
404 Not Found | Resource doesn’t exist | Wrong ID, resource was deleted, wrong workspace |
409 Conflict | Resource already exists | Creating a lead with a duplicate email |
422 Unprocessable Entity | Validation failed | Invalid email format, missing required fields, invalid field values |
429 Too Many Requests | Rate limit exceeded | More than 100 requests per minute — see Rate Limiting |
Server Error Codes
| Code | Meaning | What To Do |
|---|---|---|
500 Internal Server Error | Something went wrong on our end | Retry with exponential backoff |
Error Handling Examples
Common Error Scenarios
403 — Invalid or missing API key
403 — Invalid or missing API key
Make sure you’re sending the
X-API-Key header with a valid key. Keys use the otr_ prefix.409 — Duplicate lead email
409 — Duplicate lead email
Each workspace enforces unique lead emails. If you get a 409, the lead already exists. Use the List Leads endpoint with
search to find the existing lead, then update it instead.422 — Validation error
422 — Validation error
Check that required fields are present and values match expected formats. For example,
email must be a valid email address, and status must be one of the allowed values.429 — Rate limit exceeded
429 — Rate limit exceeded
You’ve exceeded 100 requests per minute. Check the
Retry-After header and wait before retrying. See Rate Limiting for strategies to avoid hitting limits.