Skip to main content

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.

Error object and generic error codes

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 nameDescriptionType/format requirement
typeURI to the documentation that describes the error.String
titleA summary of the error type (this does not change between occurrences of the error).String
codeA machine-readable string, indicating the error code. This is a constant.String
statusThe HTTP status code generated by the origin server (specific to this occurrence of the error).HTTP status code
traceIdThe 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
detailAn explanation of the error (specific to this occurrence of the error).String
invalidParamsList of request parameters that have failed the validation. Contains the parameter name and the reason for validation failure.String

Example responses

Example 1: ReuseID response with error object
{
"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.

Example 2: ReuseID response with failed validation of request parameters
{
"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 codeHTTP StatusDescription
access_token_missing401The access token is missing from the request.
internal_error500An 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_error4xx
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_request400
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:
  • If a required query parameter is missing.
  • If the wrong HTTP operation type is sent.
request_parsing_error400There was an error when parsing the request, due to invalid JSON formatting.
unknown_property400The 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_identifier400The device ID (deviceId) or user ID (userId) are missing in the resource path.
missing_request_parameter400The device object, device ID (deviceId), or user ID (userId) are missing in the request payload.
invalid_request_parameter400
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:
  • If no parameter is supplied when you are resolving the external reference with an API call (externalRef = null).
  • If the enumerated values being passed are not valid (if they are incorrect, or do not belong to the allowed set of values).
invalid_identifier400
404
The supplied identifier uses an invalid character.

For globally unique identifiers (GUIDs):
  • User ID (userId)
  • Device ID (deviceId)
The allowed character set is: REGEX = \"^[a-z0-9][a-z0-9\\-]*$\";

For other identifiers:
  • External reference (externalRef)
  • Attribute name (attrName)
The allowed character set is: REGEX = \"^[a-z_0-9][a-z_0-9~\\.\\-:@]*$\";
identifier_too_long400The supplied identifier exceeds the maximum character length.

Maximum character lengths:
  • External reference (externalRef): 128 characters
  • Attribute name (attrName): 128 characters
  • Attribute value (attrValue): 256 characters
  • Any globally unique identifier (GUID): 36 characters
user_entity_does_not_exist404The user entity referred to by the user ID (userId) does not exist.
user_entity_is_locked409The 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_exists409A new user entity cannot be added, as the user entity with that external reference (externalRef) already exists for this account.
transaction_id_does_not_exist404The transaction (with the transaction ID specified for this GET API call) cannot be found.
invalid_operation400
403
404
The operation cannot be cancelled, as the session for this operation does not exist.
exceeding_user_attribute_limit400The maximum limit for the number of user attributes (100) has been exceeded.
multiple_pending_proofings500There are multiple pending proofings.
user_proofing_does_not_exist404The user proofing does not exist.

MobileID error codes

The following errors are specific to when you are using MobileID as the authentication method:

Error codeHTTP StatusDescription
device_does_not_exist404The device referred to by the device ID (deviceID) does not exist.
device_is_locked400The 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_limit400The maximum limit for the number of user devices (30) has been exceeded.
exceeding_sandbox_device_limit405The 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 codeHTTP StatusDescription
passkey_id_does_not_exist404The passkey ID does not exist.