Skip to main content
Every API error returns a consistent JSON structure:
{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "Invalid API key provided.",
    "doc_url": "https://docs.finta.com/errors/invalid_api_key"
  }
}
FieldDescription
typeThe error category: authentication_error, invalid_request_error, or rate_limit_error
codeA specific, machine-readable error code
messageA human-readable description
doc_urlA link to this page for the specific error
paramThe parameter that caused the error, if applicable

invalid_api_key

Type: authentication_error HTTP Status: 401 The API key in your Authorization header is missing, malformed, or has been revoked. How to fix:
  • Verify the key starts with finta_ and is copied in full with no trailing spaces.
  • Check that you’re passing it as Authorization: Bearer finta_... (not as a query parameter or other header).
  • If the key was revoked, generate a new one from your Finta dashboard under Settings > API Keys. Revoked keys cannot be un-revoked.

resource_missing

Type: invalid_request_error HTTP Status: 404 The endpoint path does not exist. The Finta API does not have endpoints that look up individual resources by ID, so this error means the URL itself is wrong, not that a specific record is missing. How to fix:
  • Double-check the endpoint path. All endpoints are listed in the API Reference.
  • Verify you’re using the correct base URL: https://app.finta.com/api/v1.

parameter_missing

Type: invalid_request_error HTTP Status: 400 A required parameter was not provided. The param field in the error response tells you which one. How to fix:
  • Check the param field in the error response to identify the missing parameter.
  • Refer to the endpoint’s documentation in the API Reference for required parameters.

rate_limit_exceeded

Type: rate_limit_error HTTP Status: 429 You’ve exceeded 120 requests per 60 seconds from your IP address. The response includes a Retry-After header with the number of seconds to wait. How to fix:
  • Wait for the Retry-After period before retrying.
  • Add backoff logic to your client. Wait and retry rather than hammering the endpoint.
  • If you’re paginating, use larger limit values (up to 100) to reduce the number of requests.

invalid_date_range

Type: invalid_request_error HTTP Status: 400 The start_date is after the end_date. How to fix:
  • Swap the dates so start_date comes before end_date.
  • Both must be in YYYY-MM-DD format.