Error codes
When you make a request to Signicat's ReuseID API and there is an error, a response with an error object is returned.
If you have encountered an error, check the information on this page to investigate what might have caused the error and how to resolve it.
If you require assistance, you can contact us by creating a support ticket in the Signicat Dashboard.
In addition to these product-specific error codes, there are generic error codes which are applicable to all Signicat APIs.
To learn about these and how the error object looks, see our generic Error codes documentation.
ReuseID error object
For ReuseID, the error object can be made up from the following 7 fields:
| Field name | Description | Type/format requirement |
|---|---|---|
type | URI to the documentation that describes the error. | String |
title | A summary of the error type (this does not change between occurrences of the error). | String |
code | A machine-readable string, indicating the error code. This is a constant. | String |
status | The HTTP status code generated by the origin server (specific to this occurrence of the error). | HTTP status code |
traceId | The unique identifier of the request in the tracing system. This makes it possible for us to trace the history of the request in detail. | String |
detail | An explanation of the error (specific to this occurrence of the error). | String |
invalidParams | List of request parameters that have failed the validation. Contains the parameter name and the reason for validation failure. | String |
Example responses
{
"type": "https://api.signicat.com/reuseid/core/openapi.json",
"title": "User entity does not exist",
"code": "user_entity_does_not_exist",
"status": 404,
"traceId": "4bf239c088089f2bca77d3a413909f1d",
"detail": "Failed fetching user with user ID : 90e1b3e5-93a7-458e-b42b-d1b57e65e26a and account ID : a-sdge-Abcdefghijk123456789."
}
What does this example mean?
In this example, we can determine that the user entity (referred to by the userId in the request) does not exist.
The detail describes which user ID and account ID this refers to, so that you can take action accordingly.
{
"type": "https://api.signicat.com/reuseid/core/openapi.json",
"title": "Invalid request parameter",
"code": "invalid_request_parameter",
"status": 400,
"traceId": "4bf239c088089f2bca77d3a413909f1d",
"detail": "Your request body parameters have failed validation."
"invalidParams": [
{
"name": "userId"
"reason": "userId cannot be null or empty"
},
{
"name": "deviceId"
"reason": "deviceId cannot be null or empty"
}
]
}
What does this example mean?
In this example, we can determine that multiple request parameters have failed the validation.
The invalidParams describes which request parameters have failed the validation, so that you can modify them to pass the validation.
ReuseID error codes
ReuseID can return generic, MobileID-specific and Passkey-specific errors. To learn about the different types of errors that you can receive, see the sections below.
Generic error codes
The following errors are generic and can describe a number of possible issues:
| Error code | HTTP Status | Description |
|---|---|---|
access_token_missing | 401 | The access token is missing from the request. |
internal_error | 500 | An internal error that requires no action from you. Note: In the rare case that this error persists, contact us by creating a support ticket in the Signicat Dashboard. |
internal_subsystem_error | 4xx 50x | An internal error that requires no action from you. Note: In the rare case that this error persists, contact us by creating a support ticket in the Signicat Dashboard. |
invalid_request | 400 404 405 406 415 | A generic error that indicates the request is invalid. There are a number of possible causes for this error, such as:
|
request_parsing_error | 400 | There was an error when parsing the request, due to invalid JSON formatting. |
unknown_property | 400 | The property being passed in the request is either incorrect or misspelled. Note: You This error is also returned if the property being passed is correct, but its placement in the request is incorrect. |
missing_identifier | 400 | The device ID (deviceId) or user ID (userId) are missing in the resource path. |
missing_request_parameter | 400 | The device object, device ID (deviceId), or user ID (userId) are missing in the request payload. |
invalid_request_parameter | 400 404 | A generic error that indicates the request contains an invalid parameter, or that no parameter has been supplied. There are a number of possible causes for this error, such as:
|
invalid_identifier | 400 404 | The supplied identifier uses an invalid character. For globally unique identifiers (GUIDs):
REGEX = \"^[a-z0-9][a-z0-9\\-]*$\";For other identifiers:
REGEX = \"^[a-z_0-9][a-z_0-9~\\.\\-:@]*$\"; |
identifier_too_long | 400 | The supplied identifier exceeds the maximum character length. Maximum character lengths:
|
user_entity_does_not_exist | 404 | The user entity referred to by the user ID (userId) does not exist. |
user_entity_is_locked | 409 | The user entity referred to by the user ID (userId) does exist, but is in a LOCKED state, and is therefore invalid for the requested operation. |
user_entity_already_exists | 409 | A new user entity cannot be added, as the user entity with that external reference (externalRef) already exists for this account. |
transaction_id_does_not_exist | 404 | The transaction (with the transaction ID specified for this GET API call) cannot be found. |
invalid_operation | 400 403 404 | The operation cannot be cancelled, as the session for this operation does not exist. |
exceeding_user_attribute_limit | 400 | The maximum limit for the number of user attributes (100) has been exceeded. |
multiple_pending_proofings | 500 | There are multiple pending proofings. |
user_proofing_does_not_exist | 404 | The user proofing does not exist. |
MobileID error codes
The following errors are specific to when you are using MobileID as the authentication method:
| Error code | HTTP Status | Description |
|---|---|---|
device_does_not_exist | 404 | The device referred to by the device ID (deviceID) does not exist. |
device_is_locked | 400 | The device referred to by the device ID (deviceID) does exist, but is in a LOCKED state.This means that it is invalid for the requested operation. |
exceeding_user_device_limit | 400 | The maximum limit for the number of user devices (30) has been exceeded. |
exceeding_sandbox_device_limit | 405 | The maximum limit for the number of sandbox devices (100) has been exceeded. |
Passkeys error codes
The following errors are specific to when you are using Passkeys as the authentication method:
| Error code | HTTP Status | Description |
|---|---|---|
passkey_id_does_not_exist | 404 | The passkey ID does not exist. |