Integration Details

Error handling

Understanding error responses and troubleshooting in the Volt Global API

Error codes and troubleshooting

Understanding error responses is crucial for effective integration and debugging. This section outlines the possible error codes, their meanings, and tips for resolution.

{
  "code": "BAD_REQUEST",
  "message": "Missing \"X-Volt-Initiation-Channel\" HTTP header."
}
FieldDescription
codeA string that provides more detailed information about what happened and why the request failed. Refer to the Error Codes section for possible values.
messageA human-readable message that describes the problem. This message is not language-dependent and is always provided in English.

Error codes

HTTP StatusError codeDescriptionHow to resolve
400BAD_REQUESTGeneric error that request could not be handled.Examine the message property to check what went wrong.
400MISSING_HTTP_HEADERRequired HTTP header is missing.Examine the message property and add the missing HTTP header.
400INVALID_HTTP_HEADERHTTP header contains an invalid value.Check the documentation for valid HTTP header values.
400MALFORMED_PATH_PARAMPath parameter has an invalid value/format. Can occur when the ID sent in the path is not a valid UUID.Examine the message property to check what went wrong.
400MISSING_QUERY_PARAMRequired query parameter is missing.Examine the message property and add the missing query parameter.
400INVALID_QUERY_PARAMQuery parameter contains an invalid value.Check the documentation for valid query parameter values.
400MALFORMED_QUERY_PARAMQuery parameter has an invalid value/format.Examine the message property to check what went wrong.
400CONFIGURATION_ERRORPartner's configuration is invalid and does not allow processing the request.Examine the message property to check what went wrong.
401UNAUTHORISEDInvalid credentials were used.Check if correct credentials for the API are used.
403ACCESS_DENIEDAccess to perform the operation with the given resource is denied.Ensure you have access to the given resource.
404RESOURCE_NOT_FOUNDRequested resource does not exist.Ensure you are trying to operate on an existing resource.
405METHOD_NOT_SUPPORTEDHTTP method is not supported for this URL.Fix either the HTTP method used or the URL.
406MEDIA_TYPE_NOT_ACCEPTABLEAPI is not able to generate a response in the format defined in the Accept HTTP request header.Use a supported format.
409CONFLICTGeneric error that the request could not be handled due to an invalid state, and would conflict with an existing resource.Try the request with different parameters.
409IDEMPOTENCY_CONFLICTIdempotency key (from X-Volt-Idempotency-Key) has already been used.Generate a unique idempotency key for each request.
409RESOURCE_NOT_MODIFIABLEResource cannot be modified due to an invalid state or unexpected change request.Try the request with different parameters.
410GONERequested resource does not exist and will never exist.Ensure you are trying to operate on an existing resource.
415UNSUPPORTED_MEDIA_TYPERequest contains data in an unsupported content type.Send the request with a supported media/content type.
422VALIDATION_FAILUREInput data validation failed.Examine the errors property to check what went wrong and which data needs to be fixed.
424FAILED_DEPENDENCYGeneric error that the request failed at dependency (institution).Examine the message property to check what went wrong.
424UNAUTHORISEDCredentials/SCA code passed to the dependency (institution) are invalid.Check if correct credentials/SCA code are used.
424RETRY_LIMIT_EXCEEDEDRetry limit for authorisation at dependency (institution) reached.At this moment payment failed. Try to create and process a new one.
429RATE_LIMIT_EXCEEDEDToo many requests were sent in a given timeframe.Slow down your request frequency.
500INTERNAL_SERVER_ERRORRequest could not be processed due to a server error.Contact support. The message will contain a trace ID and timestamp, allowing investigation of what went wrong.

In very rare circumstances, where our API has encountered something unexpected, you may receive an UNKNOWN error code. If this is a recurring issue, please let us know at support@volt.io.

Validation errors

When input data constraints are violated, the API responds with a 422 Unprocessable Entity status code and provides detailed information about the validation errors.

{
  "code": "VALIDATION_FAILURE",
  "message": "Input data validation failed.",
  "errors": [
    {
      "type": "TOO_SHORT",
      "propertyPath": "payment.amount",
      "message": "The amount must be at least 100."
    },
    {
      "type": "INVALID_FORMAT",
      "propertyPath": "payer.email",
      "message": "The email address is not in a valid format."
    }
  ]
}
FieldData typeDescription
codestringIndicates the type of error (VALIDATION_FAILURE in this case).
messagestringA general message about the validation failure.
errorsarray of objectsEach object represents a specific validation error.
errors.[].typestringCategorizes the type of validation error. Refer to the Validation Error Types section for possible values.
errors.[].propertyPathstringPoints to the specific field or property in the incoming request that violated the validation rule.
errors.[].messagestringA human-readable message describing the validation error. Always in English.

Validation error types

Validation errors are categorised to provide clear insights into what went wrong and how to resolve the issue. Below is a comprehensive list of validation error types supported by the Volt API.

Error typeDescription
TOO_FEWToo few elements were provided.
TOO_MANYToo many elements were provided.
TOO_LOWValue (numeric) is too low.
TOO_HIGHValue (numeric) is too high.
TOO_SHORTValue (string) is too short.
TOO_LONGValue (string) is too long.
NOT_EQUALValue is not equal to the given constraint (and should be).
IS_EQUALValue is equal to the given constraint (and should not be).
INVALID_FORMATValue is in an invalid format.
INVALID_DATEValue is an invalid date.
INVALID_TIMEValue is an invalid time.
INVALID_TYPEValue is not of the expected type.
REGEX_FAILEDRegular expression failed against the given value.
OUT_OF_RANGEValue is out of range (numeric range, available choices, etc.).
CHECKSUM_FAILEDChecksum is invalid.
NOT_UNIQUEValue is not unique.
VALUE_REQUIREDValue is required (and should not be null).
INVALID_VALUEGeneral information that the value is invalid. Appears if the validation error cannot be assigned to any other type.
MISSING_FIELDField/property is required.
FIELD_NOT_ALLOWEDField/property is not allowed to be present in the request.

Troubleshooting

In the event you receive a 5xx Server Error response from the Volt API, the error message will include a unique TraceId and Timestamp.
TraceId serves as an identifier for the specific request. It is invaluable for our support team when diagnosing and resolving issues.

Important Notes:

  • Do not retry: Repeating the request is unlikely to succeed and may cause additional issues.
  • Contact support: Email support@volt.io with the TraceId and any relevant details.
  • Secure information: Ensure no sensitive data is included when sharing error information.

How is this guide?

Last updated on

On this page