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.
All APIs
Code
Message
invalid_api_key
Your api key is invalid, missing, or expired.
unexpected_error
The system has encountered an unexpected error
provider_error
The downstream provider returned an error.
request_processing_error
An error occurred while validating the request
header_is_missing
Required header '{header}' is missing from the request
All apis which accept tags as input
Code
Message
invalid_tags
{0} contains an invalid tag name '{1}'. Alphanumeric, underscore (_) and dash (-) only
All Proxy Routing APIs (excluding Direct Provider Call)
Code
Message
invalid_provider_host
The provided host URI '{0}' is invalid
invalid_provider_uri
The provided URI '{0}' is invalid
invalid_provider_ssl_certificate
The provided host URI '{0}' SSL certificate invalid
All Proxy Routing and Direct Provider Call APIs
Code
Message
required_field_missing
Required request field '{0}' is missing
invalid_tags
{0} contains an invalid tag name '{1}'. Alphanumeric, underscore (_) and dash (-) only
use_case_not_found
Use Case name '{0}' not found
use_case_instance_not_found
Use Case id '{0}' not found
invalid_user_id
User Id '{0}' is not valid
invalid_json
Body JSON is invalid
category_not_found
Category '{0}' not found
category_resource_not_found
Category '{0}' and resource '{1}' not found
When providing a Limit ID to Proxy/Ingest APIs
Code
Message
invalid_limit_id
Invalid limit id '{0}'
invalid_limit_ids
Some or all of passed limit-ids either do not exist or they are not related to the Application
limit_reached
Insufficient limit for the requested operation
All Direct Provider Call APIs (excluding Proxy Routing)
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
category_resource_not_found
Category '{0}' and resource '{1}' and event timestamp '{2}' not found
Limit APIs
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
Use Case APIs
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}
use_case_id_required
Use Case id is required if Use Case name is specified
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}')
Application APIs
Code
Message
application_not_found
No application found with Application Key '{applicationKey}'
application_userid_not_found
UserId '{userId}' not found
application_userid_already_used
UserId '{userId}' already used
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}'
Categories and Resources APIs
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