Skip to main content
Every Salesfinity API error is JSON. There is no HTML error page, no plain-text fallback, and no endpoint that answers a failure differently — a client can parse a failure the same way on every route and every status code.

The error envelope

Branch on error or statusCode, never on message. Message text is written for humans and may be reworded; error and statusCode are contractual.

Status codes

400 Bad Request

The request body or query parameters failed validation. message is an array with one entry per invalid field.
Recover by reading each entry in message and correcting the named field. Check the request against the schema shown on the operation’s reference page. Retrying an identical request will fail identically.

402 Payment Required

The team has run out of enrichment credits. Only the enrichment endpoints return this.
Recover by topping up credits in the dashboard, then retrying. Call Get Enrichment Credits before a bulk run to avoid hitting this mid-batch.

403 Forbidden

The x-api-key header is missing, malformed, revoked, or belongs to a different team.
Salesfinity returns 403 for authentication failures, not 401. A client written around the usual “re-authenticate on 401” convention will never trigger its auth-recovery path against this API. Handle 403 explicitly.
Recover by checking that the x-api-key header is present and spelled correctly, that the key has not been revoked in Settings → Connections & API, and that it belongs to the team whose data you are requesting.

404 Not Found

Either the route does not exist, or the resource does exist but belongs to another team.
A message of the form Cannot <METHOD> <path> means the route itself is wrong — check the method and path against the reference. Any other message means the route was correct but the record was not found for this team. Recover by verifying the path, the HTTP method, and any ID in the URL. Because API keys are team-scoped, the API returns 404 rather than 403 for records owned by another team; it does not confirm that they exist.

429 Too Many Requests

The client is being throttled.
Recover by backing off and retrying with exponential backoff and jitter. Salesfinity does not currently publish a fixed request quota, so treat 429 as a signal to reduce concurrency rather than as a fixed budget to compute against.

500 Internal Server Error

Something failed on the Salesfinity side.
Recover by retrying with exponential backoff. If it persists, email [email protected] with the request path and the timestamp.

Which errors are retryable

POST endpoints are not idempotent. Cap retries on writes, and confirm state with a GET before retrying a create so you do not duplicate a record.

Handling errors in code

Reporting a problem

Email [email protected] or use the help center. Include:
  • The request method and path, for example GET /v1/call-log.
  • The timestamp of the request, with its timezone.
  • The error and statusCode from the response body.
Never include your API key in a support message.