Error Handling
The FrankieOne API uses a standardized error format to ensure that you can reliably handle issues that arise from bad requests, server problems, or invalid data. All non-2xx responses will return a consistent JSON error object.
This guide explains the structure of the error object, provides a full list of error codes, and offers practical advice on how to handle these errors in your frontend application.
The Error Object
All errors returned from the FrankieOne API are wrapped in a standard ErrorObject
.
Example Error Object
Here is an example of an error returned due to an invalid date of birth format in the request body.
Understanding Error Codes
The errorCode
is a combination of a prefix (the Issue Location) and a number. This structure helps you quickly identify the source of the problem.
Issue Location Codes (Prefix)
Frontend Orchestration & Handling Errors
A robust frontend application should interpret the HTTP status code and the errorCode to present the user with a clear and helpful message.
400 - Bad Request (VAL-xxxx)
This is the most common error category. It means the user has provided invalid or incomplete data. Your frontend should parse the details
array to provide specific feedback.
Scenario: A user submits a form with an invalid date of birth and a missing family name.
Example Response:
Frontend Action:
- Iterate through the
details
array. - For each issue, use the
issueLocation
to find the corresponding input field in your form. - Display the issue message directly below that field.
This provides targeted, inline validation feedback to the user so they can easily correct their mistakes.
404 - Not Found (API-1010)
This means the resource you requested (like an entityId or workflowExecutionId) does not exist.
Scenario: Your application tries to fetch results for a workflow that has been deleted or whose ID is incorrect.
Example Response:
Frontend Action:
- Check for the 404 status code.
- Redirect the user to a “Not Found” page or display a clear message like “We could not find the record you were looking for. Please check the ID or start a new search.”
- Avoid showing a generic “An error occurred” message, as this is a specific and actionable state.
5xx - Server & System Errors (SYS-xxxx)
These errors indicate a problem on FrankieOne’s side. The issue may be temporary.
Scenario: A service provider required for a check is temporarily unavailable.
Example Response:
Frontend Action:
- Check for any 5xx status code (500, 503, etc.).
- Display a generic, user-friendly message, such as: “We’re sorry, something went wrong on our end. Please try again in a few moments.”
- Do not display the technical
errorMsg
to the user. - You may implement a retry mechanism with exponential backoff for 503 errors, as these are often transient.
- Log the full error response, including the
requestId
, so you can report it to support if the issue persists.
Full List of Error Codes
System Errors (0000 - 0399)
Returned by internal processes. Generally indicate a temporary issue, but please contact developer support if the issue persists.
Generic Errors (0400 - 0599)
Returned when no distinct error code is available (usually internal framework generated).
Header Errors (0800 - 0999)
The API returns these errors when it receives unsupported or missing header data.
Application & Service Errors (1000 - )
The API returns these errors when it encounters issues with specific requests.