Error Codes

The Visa Offers Network (VON) API returns structured error responses that include detailed information to help diagnose and resolve issues. All error responses follow a consistent JSON format with standard HTTP status codes.

Error responses typically include:

  • HTTP status code indicating the general category of error
  • Error code providing specific error identification
  • Error message with human-readable description
  • Field-specific details when applicable
  • Reason codes for additional context

When request validation fails, the API returns detailed field-level error information including the specific field name, error code, and description of the validation issue.

HTTP Status Codes

The Visa Offers Network (VON) API uses standard HTTP status codes to indicate the success or failure of API requests:

Code Status Description
200 OK Request completed successfully. Response includes requested data or confirmation of operation.
400 Bad Request Invalid request format, missing required fields, or invalid parameter values. Check request syntax and required fields.
404 Not Found Requested resource does not exist. Verify endpoint URL and resource identifiers such as tracking IDs or merchant IDs.
500 Internal Server Error Server-side error occurred during request processing. Retry the request or contact your Visa representative if the issue persists.

The response handling guidelines are as follows:

  • 2xx Success Codes – Process the response data normally. The request was successful and the response contains the expected information.
  • 4xx Client Error Codes – Review the request for errors. These codes indicate issues with the request format, authentication, or permissions that need to be corrected.
  • 5xx Server Error Codes – Implement retry logic with appropriate delays. These codes indicate temporary server issues that may resolve with retry attempts.

Bulk Operation Errors

Bulk operations like offer creation may return partial success with detailed error reporting for failed items.

  • errorResults – Array of failed items with specific error details
  • responseCode – Response status code for the bulk operation
  • resultCounts – Summary of total, success, and error counts
  • successResults – Array of successfully processed items
  • responseMessage – Response message describing the operation result

Error Handling

Robust error handling ensures stable Visa Offers Network (VON) API integrations by gracefully managing issues and providing meaningful feedback to both users and developers.

  1. Implement HTTP status code checking for all API responses. Always check the status code before processing response data. Handle success (2xx), client error (4xx), and server error (5xx) codes appropriately.
  2. Parse error response bodies to extract detailed error information. VON API error responses include structured JSON with error codes, messages, and field-specific details that help identify the root cause.
  3. Implement retry logic for transient server errors (5xx status codes). Use exponential backoff for retries: wait 1 second, then 2 seconds, then 4 seconds, etc. Limit the number of retry attempts to avoid infinite loops.
  4. Handle client errors (4xx) by validating request format and required fields. Check for missing or invalid parameters that cause 400 Bad Request responses. Verify endpoint URLs and resource identifiers to avoid 404 Not Found errors.
  5. Implement field-level validation error handling for form inputs. Use the details array in error responses to highlight specific fields that need correction and provide targeted guidance.
  6. Log error details for debugging and monitoring purposes. Include request IDs, timestamps, error codes, and relevant context information in your logs for troubleshooting.
  7. Handle bulk operation errors by processing both success and error results. For operations like offer creation, some items may succeed while others fail. Process successful items and report specific errors for failed items.
  8. Implement circuit breaker patterns for repeated failures. If an endpoint consistently fails, temporarily stop making requests to prevent cascading failures and allow time for recovery.

Visa Developer Error Codes

Error codes for Payload and URI, AuthN, AuthZ, Internal Server, and Rate or Quota can be found on Visa Developer Error Codes.

VON Functional Bundle Error Codes

These tables provide a comprehensive reference of error codes returned by the Visa Offers Network (VON) APIs, including technical error codes, descriptions, user-facing messages, and operational impact.

Consumer Enrollment

Consumer Enrollment
Error Code Error Name Error Description (Message) Error Impact
VON_CONS_ENRL_ERROR_CODE_100 Internal Server Error An unexpected error occurred. Please try again later. Enrollment fails, users receive a generic error, and system reliability is affected.
VON_CONS_ENRL_ERROR_CODE_101 Invalid Request Your request is invalid. Please check the input and try again. Requests are rejected, users must correct input, and data integrity is maintained.
VON_CONS_ENRL_ERROR_CODE_102 Resource Not Found The requested resource was not found. No data returned, user is informed of missing resource, and user experience is impacted.
VON_CONS_ENRL_ERROR_CODE_104 Gateway Timeout Error Request to personalization engine timed out.
VON_CONS_ENRL_ERROR_CODE_105 Forbidden Error Client certificate is required.
VON_CONS_ENRL_ERROR_CODE_106 PAN Validation Error The Personal Account Number (PAN) entered is invalid. Recheck and try again. Enrollment is blocked until a valid PAN is provided, ensuring compliance and security.

Eligibility

Eligibility
Error Code Error Name Error Description (Message) Error Impact
VON_ELIG_ERROR_CODE_100 Internal Server Error An unexpected error occurred. Please try again later or contact support. The operation failed due to a server issue. No data was processed or returned.
VON_ELIG_ERROR_CODE_101 Invalid Request Your request was invalid. Please check your input and try again. The operation was not performed due to invalid input. No changes were made.
VON_ELIG_ERROR_CODE_102 Not Found The requested resource was not found. No data was found for the request. The user may need to check the resource identifier.
VON_ELIG_ERROR_CODE_103 Already Exists The resource already exists and cannot be created again. The operation was not performed because the resource already exists. No duplicate was created.
VON_ELIG_ERROR_CODE_105 Forbidden Client certificate is required.

Payout

Payout
Error Code Error Name Error Description (Message) Error Impact
VON_PAYOUT_ERROR_CODE_100 Default or unknown payout error encountered when processing statement credit. We are unable to process your payout now. Please try again later or contact support. User payout requests are interrupted, leading to potential delays and dissatisfaction.
VON_PAYOUT_ERROR_CODE_102 Not found error when fulfillment configuration details cannot be fetched. Requested configuration not found. Please check your input or contact support. Payout fulfillment may be delayed or blocked, affecting transaction completion.
VON_PAYOUT_ERROR_CODE_103 Already an error exists when a payout has already been processed. This payout has already been processed. Please check your records or contact support. Prevents duplicate financial transactions, maintaining system accuracy and trust.
VON_PAYOUT_ERROR_CODE_105 Forbidden Client certificate is required.

Ledger

Ledger
Error Code Error Name Error Description (Message) Error Impact
VON_LEDGER_ERROR_CODE_100 This error is triggered when the system cannot identify the specific issue. An unexpected error occurred while processing your request. User's request may not be processed, leading to inconvenience or delay.
VON_LEDGER_ERROR_CODE_101 This error occurs due to issues in ledger operations or data validation. A ledger-specific error occurred. Transaction or operation may fail, requiring user intervention.
VON_LEDGER_ERROR_CODE_102 This error is raised when a requested operation is not allowed, or the resource is missing. A ledger error was detected during processing. Requested action cannot be completed, possibly affecting user experience.
VON_LEDGER_ERROR_CODE_105 Forbidden Client certificate is required.
VON_LEDGER_ERROR_CODE_106 Service unavailable Dependent VON services unavailable. Offers will not be fetched for the merchant ID.

Ingestion

Ingestion
Error Code Error Description Error Description (Message) Error Impact
VON_INGESTION_ERROR_CODE_400 Invalid file format or structure The uploaded file format is invalid. Recheck and try again. File processing is halted until a valid file is provided.
VON_INGESTION_ERROR_CODE_401 Unsupported file type The file type is not supported. Upload a valid file type. File is rejected and not processed.
VON_INGESTION_ERROR_CODE_404 File checksum validation failed File integrity check failed. Re-upload the file. File is not processed due to integrity issues.
VON_INGESTION_ERROR_CODE_405 Record count does not match expected value The number of records in the file does not match the expected count. File is rejected and must be corrected before processing.
VON_INGESTION_ERROR_CODE_406 General validation failure Validation of the input data failed. Check the data and try again. File processing is halted due to validation errors.
VON_INGESTION_ERROR_CODE_407 Data file content validation failed The content of the data file is invalid. Correct the data and re-upload the file. File is not processed due to content validation issues.
VON_INGESTION_ERROR_CODE_408 Data file listing validation failed The file listing is invalid. Provide a correct file list. File processing is halted due to file list validation errors.
VON_INGESTION_ERROR_CODE_409 Timestamp format is invalid The timestamp in the file is invalid. Correct the timestamp and try again. File processing is halted due to invalid timestamp.
VON_INGESTION_ERROR_CODE_410 Processing date is invalid The processing date is invalid. Please provide a valid processing date. File processing is halted due to invalid processing date.
VON_INGESTION_ERROR_CODE_411 Record size exceeds allowed limit One or more records in the file are too large. Reduce the record size and try again. File processing is halted due to oversized records.
VON_INGESTION_ERROR_CODE_412 File not found on the system The specified file was not found. Please check the file path and try again. File processing is halted as the file is not found.
VON_INGESTION_ERROR_CODE_413 Error during data mapping There was an error with mapping the data. Recheck the mapping configuration and data format. File processing is halted due to mapping errors.
VON_INGESTION_ERROR_CODE_502 Error retrieving file from S3 Unable to retrieve the file from S3. Try again later. File processing is halted due to S3 retrieval issues.
VON_INGESTION_ERROR_CODE_503 General processing error An unexpected error occurred during processing. Try again later. File processing is halted due to a server error.
VON_INGESTION_ERROR_CODE_504 General Kafka error An error occurred with the Kafka service. Try again later. File processing is halted due to Kafka service issues.
VON_INGESTION_ERROR_CODE_505 Error in Kafka producer Unable to send data to Kafka. Please check the producer configuration and Kafka service. File processing is halted due to Kafka producer issues.
VON_INGESTION_ERROR_CODE_508 Error processing batch An error occurred while processing the batch. Recheck the batch data and try again. Batch processing is halted due to errors.
VON_INGESTION_ERROR_CODE_509 SFTP connection or transfer error Unable to connect to the SFTP server or transfer the file. Recheck the SFTP settings and try again. File processing is halted due to SFTP issues.

Intelligence

Intelligence
Error Code Error Description Error Description (Message) Error Impact
VON_INTELLIGENCE_ERROR_CODE_100 An unexpected error occurred on the server. Please contact support if the issue persists. Something went wrong at our end. Try again later. The operation could not be completed due to a server error.
VON_INTELLIGENCE_ERROR_CODE_102 The requested resource could not be found. Please verify the resource identifier and try again. We couldn't find what you were looking for. The requested resource is unavailable or does not exist.
VON_INTELLIGENCE_ERROR_CODE_105 The requested operation is forbidden. You do not have permission to perform this action. The operation was blocked due to insufficient permissions.

Lookup

Lookup
Error Code Error Description Error Description (Message) Error Impact
VON_LOOKUP_ERROR_CODE_100 Reserved for default or unknown Lookup errors. An unexpected error occurred on the server. (Internal Server Message) Something went wrong at our end. Try again later. The operation failed due to a server error. No data was processed.
VON_LOOKUP_ERROR_CODE_101 The request was invalid or cannot be served. (Bad Request) Your request could not be processed. Recheck your input and try again. The request was rejected. No changes were made.
VON_LOOKUP_ERROR_CODE_102 The requested resource could not be found. (Not Found) The requested information was not found. No data was returned. The resource does not exist.
VON_LOOKUP_ERROR_CODE_105 The requested operation is forbidden. You do not have permission to perform this action. The operation was blocked due to insufficient permissions.

Offers

Offers
Error Code Error Name Error Description (Message) Error Impact
VON_OFFER_ERROR_CODE_100 An unexpected error occurred on the server. (Internal Server Error) Something went wrong. Try again later. The operation failed due to a server error.
VON_OFFER_ERROR_CODE_101 The request is invalid or malformed. Your request could not be processed. Recheck your input. The request was rejected due to invalid input.
VON_OFFER_ERROR_CODE_102 The requested resource was not found. The item you are looking for does not exist. No data was returned because the resource does not exist.
VON_OFFER_ERROR_CODE_103 Already exists The resource already exists. Duplicate entry detected; operation cannot proceed.
VON_OFFER_ERROR_CODE_104 There was a validation error with the offer or coupon data. Offer or coupon information is invalid. Review and try again. The offer or coupon could not be processed due to validation errors.
VON_OFFER_ERROR_CODE_105 The requested operation is forbidden. You do not have permission to perform this action. The operation was blocked due to insufficient permissions.

Onboarding

Onboarding
Error Code Error Description Error Description (Message) Error Impact
VON_ONBOARD_ERROR_CODE_100 Default or unknown onboarding errors (Internal Server Error) An unexpected error occurred. Try again later. Operation failed due to an unknown server error.

Error Response Schema

These are the standard ErrorResponse schema structures used across Visa Offers Network (VON) API endpoints.

  • ErrorResponse Properties
    • reason – Reason for the error (maxLength: 100, minLength: 1, example: "Bad Request")
    • status – HTTP Status Code (format: int32, minimum: 0, maximum: 599, example: 200)
    • message – Error Message (maxLength: 1000, minLength: 1, example: "Invalid Request")
    • errorCode – Error Code (maxLength: 500, minLength: 1, example: 400)
    • details – Array of ErrorDetail objects (List of Error Details)
  • ErrorDetail Properties
    • field – Field Name (maxLength: 200, minLength: 1, example: "field")
    • reason – Reason (maxLength: 200, minLength: 1, example: "reason")
    • errorCode – Error Code (maxLength: 200, minLength: 1, example: "errorCode")
    • errorDesc – Error Description (maxLength: 200, minLength: 1, example: "errorDesc")
  • IdentifierErrorDetail Properties
    • reason – Error reason (string)
    • message – Error message (string)
    • errorCode – Error code (string)
    • merchantIdentifierIndex – Index of the merchant identifier (format: int32)
  • ErrorResult Properties (used in BulkMerchantResponse)
    • index – Index position (format: int32)
    • reason – Error reason (string)
    • message – Error message (string)
    • errorCode – Error code (string)
    • merchantId – Merchant ID (string)
  • ErrorResult-1 Properties (used in BulkOfferResponse variants)
    • index – Index position (format: int32)
    • reason – Error reason (string)
    • message – Error message (string)
    • offerId – Offer ID (string)
    • errorCode – Error code (string)
    • merchantId – Merchant ID (string)
  • Special Response Schemas with Error Handling
    • MerchantResponse – Contains errorDetails array of ErrorResponse objects
    • OfferAllResponse – Contains errorDetails array of ErrorResponse objects, sftpErrors array of strings
    • Consumer Enrollment opt-out endpoints – Use generic object schema with additionalProperties of string type