When Pay-i encounters an error, it will return a code and a message.
The code represents the type of error, and can be used in your service for control flow to retry and navigate around issues. A change to a code is considered a breaking change.
The message provides a human-readable, friendly string intended to assist with diagnosing issues. The message values will change over time as we improve our error reporting to make it easier to debug.
The below section is organized by groups of APIs. Each section describes the error codes and sample messages you may encounter when working with that group of APIs. Messages are subject to change at any time.
| Code | Message |
|---|
| invalid_api_key | Your api key is invalid, missing, or expired. |
| unexpected_error | The system has encountered an unexpected error |
| request_processing_error | An error occurred while validating the request |
| header_is_missing | Required header {header} is missing from the request |
| Code | Message |
|---|
| invalid_ingest_event_timestamp | Ingest event_timestamp {0} cannot be greater than 5 minutes into the future {1} |
| blocking_limit_not_allowed | Block limits cannot be used for ingest requests |
| Code | Message |
|---|
| limit_not_found | Limit Id '{0}' not found |
| create_limit_validation_failed | A error message for the specific validation that failed |
| update_limit_validation_failed | A error message for the specific validation that failed |
| limit_name_already_exist | Limit name '{0}' already exists |
| invalid_max_limit_update | New Limit max value cannot less than the current spent of '{0}' |
| invalid_max_limit | Max limit must be greater than {limit} |
| duplicate_limit_id | Limit ID '{limitId}' specified more than once |
| Code | Message |
|---|
| use_case_not_found | Use Case name '{0}' not found |
| invalid_use_case_name | Use Case name '{0}' must be unique, contain only alphanumeric, '.', '-', and '_' characters, no spaces, with a max 64 characters |
| use_case_already_exists | Use Casee name '{0}' already exists |
| invalid_use_case_description | Use Case description '{0}' must be supplied, max 256 characters |
| use_case_id_invalid | Use Case id '{0}' is invalid |
| use_case_instance_not_found | Use Case id '{0}' not found |
| use_case_create_limit_failed | Creating limit for Use Case '{0}' failed, {1} |
| application_no_use_cases | Application has not created any Use Cases |
| invalid_use_case_version | Use Case type version '{0}' must not be geater than the current version ('{1}') |
| Code | Message |
|---|
| application_request_properties_request_id_invalid | Application request id is invalid |
| application_request_result_request_id_not_found | Application request id '{requestId}' not found |
| application_request_result_result_not_found | No xproxy_result stored for application request id '{requestId}' |
| Code | Message |
|---|
| invalid_custom_category | Custom categories must not be prefixed by 'system.' |
| invalid_custom_resource | Invalid custom resource value '{value}' |
| invalid_custom_resource_max_total_units | max_total_units must be > 0 |
| invalid_custom_resource_total_units | Either max_input_units or max_output_units must be > 0 |
| invalid_custom_resource_prices | input_price and output_price in '{value}' must be >= 0 |
| category_resource_already_exists | Category '{category}' and resource '{resource}' at start_timestamp '{timestamp}' already exists |