Skip to Content

Error Codes

When a request to the Paradym API fails, or when an issuance or verification session ends in a failure, Paradym returns a structured error that includes a numeric error code. These codes let you programmatically distinguish between the different kinds of errors that can occur.

All Paradym error codes are in the 2000 range. For example, 2002 corresponds to an AgentError.

Error structure

Errors returned by the API and included in webhook events follow the same structure:

JSON
{ "message": "A human-readable description of what went wrong", "code": 2000, "details": [ { "message": "An additional detail about the error" } ] }
FieldTypeDescription
messagestringA human-readable description of the error.
codenumberThe numeric Paradym error code. See the overview below.
detailsarrayA list of additional details about the error. Each entry has at least a message, and may contain extra context (such as the field that failed validation). The array can be empty.

In API responses

When an API request fails, the error object is returned as the response body together with the relevant HTTP status code:

curl 'https://api.paradym.id/v1/projects' \ --header 'x-access-token: paradym_xxxxxxxx' \ --header 'Content-Type: application/json'
JSON
{ "message": "Validation Failed", "code": 2000, "details": [ { "message": "name is a required field", "field": "name" } ] }

In webhook events

Failure events such as openid4vc.issuance.failed, openid4vc.verification.failed, didcomm.issuance.failed, and didcomm.verification.failed include the error in the error field of their payload. The same error is also available on the session when you retrieve it through the API.

JSON
{ "webhookId": "<webhook-id>", "webhookPublishedAt": "<time-of-publication>", "projectId": "<project-id>", "eventType": "openid4vc.issuance.failed", "payload": { "openId4VcIssuanceId": "<openid4vc-issuance-id>", "error": { "message": "An error occurred during credential issuance", "code": 2002, "details": [] } } }

Error code overview

The following table lists all Paradym error codes.

CodeNameDescription
2000ValidationErrorThe request did not pass validation. The details array contains the fields that failed and why. Usually returned with HTTP status 422 Unprocessable Entity.
2001ExpressionErrorAn expression or path reference could not be resolved.
2002AgentErrorSomething went wrong inside the Paradym agent while processing an issuance or verification. This code most commonly appears in the error field of failed issuance and verification sessions.
2003SyntaxErrorThe request could not be parsed, typically because of malformed JSON in the request body. Returned with HTTP status 400 Bad Request.
2005ApiErrorA general API error that does not map to a more specific code. The HTTP status code indicates the nature of the error.
2006DatabaseErrorSomething went wrong while reading from or writing to the database, or an action on a record was not allowed.
2007InternalErrorAn unexpected internal error occurred. If this keeps happening, reach out through our community Slack and include the supportId from the error details.
2008SchemaValidationErrorThe provided data did not match the expected schema. The details array describes the validation failures. Returned with HTTP status 422 Unprocessable Entity.
2009UsageLimitExceededErrorA usage limit for your plan has been exceeded. The details array indicates which metric was exceeded, and its limit. Returned with HTTP status 403 Forbidden.
2010FeatureNotAllowedForTierThe requested feature is not available on your current plan. Returned with HTTP status 403 Forbidden.

When you encounter a 2007 (InternalError), the error details include a unique supportId. Mentioning this id when contacting support allows us to quickly locate the associated logs.

Last updated on