Error Overview
Flexiti uses conventional HTTP response codes to indicate the success or failure of an API request. In general:
Codes in the
2xx
range indicate success.Codes in the
4xx
range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a transaction failed, etc.).Codes in the
5xx
range indicates an error with Flexiti's servers.
Some 4xx
errors that could be handled programmatically include an error code that briefly explains the error reported.
HTTP Status Code Summary
HTTP Status Codes | Type | Status |
200 | Success | Everything worked as expected. |
401 | Unauthorized | An error with the Merchant authentication. |
402 | Request Failed | The parameters were valid but the request failed. |
404 | Not Found | The requested resource doesn't exist. |
409 | Bad Request | The request was unacceptable, often due to missing a required parameter or wrong format. |
500, 502, 503, 504 | Server Errors | Something went wrong on the Flexiti side. (These are rare.) |
General Errors
Code | Error | Scenario |
400 | invalid_client | Wrong or missing client id or client_secret |
400 | invalid_request | Invalid or missing grant_type parameter |
400 | not_found | Authorization ID not found |
400 | invalid_account | Wrong account number (if requested) |
401 | invalid_token | Wrong or expired access token. |
401 | Unauthorized | Wrong or missing Merchant authorization |
404 | not_found | Customer Account not found |
404 | customer_identity_not_found | The customer didn’t pass through the widget or was not authenticated properly |
409 | authentication_failure | Missing or wrong Merchant authentication parameters |
409 | tos_agreement_required | Terms and Conditions missing or not agreed |
409 | customer_already_exists | Customer applying already has an account |
409 | application_declined, application_declined_2, application_declined_3 | Customer application declined |
409 | creditapp_id_not_found | Credit Application ID was not found |
409 | application_marked_pending_1, application_marked_pending_2 | Customer application pending |
409 | application_create_error | There was an error creating the Credit Application |
409 | user_not_active | Customer Account is not activated |
409 | not_found | Customer could not be found |
409 | user_not_able_to_purchase | Customer account status different to normal (NNOR) |
409 | not_found | Customer Account number could not be found |
409 | secret_answer_mismatch | Security question answer does not match what is on file for the customer |
409 | merchant_override_is_not_allowed | Merchant is not configured for Merchant Override |
409 | piw_mismatch | Personal Identification word entered does not match what is on file for the customer |
409 | wrong_verification_code | Verification code entered is incorrect |
409 | verification_code_required | Verification code is a required parameter. |
409 | invalid_transaction_type | wrong value for transaction type in the request |
409 | not_enough_credit | Customer does not have enough open to buy for transaction amount |
409 | limit_payment_amount_24 | Payments made on the account exceed the $10,000/day limit |
409 | refunds_limit_exceeded_amount | Refund amount exceeds account limit |
409 | auth_not_allowed | Merchant has not configured pre-auth in Lexi. |
409 | plan_term_not_set | Merchant has not configured the financing option (Plan and Term or Regular Purchase) in Lexi. |
409 | plan_term_not_available |
|
409 | credit_exceeded | Amount requested plus fees is greater than the available credit of the customer account. |
409 | generic_error | A generic error covering backend process issues |
Input Errors
Input errors will tend to follow this model:
message: "Some inputs are wrong or missing!"
error: "wrong_inputs"
error_fields:
"param": "parameter_name",
“msg”: “error message”
"value":"parameter_value",
"type":"validation_type",
Example Response
{ "url": "/flexiti/pos-api/v2.5/client-id/flexitidemo/customers/828930/verify", "message": "Some inputs are wrong!", "error": "wrong_input", "field_errors": [ { "param": "email", "msg": "invalid", "value": "johndoe@" } ] }
Validation Type | Scenario |
---|---|
Required | Mandatory parameter not sent in the request. |
Invalid | Date with wrong format. |
Type | Mismatch data type |
Length | Data length exceeded. |
Parameter Validations
account_number
Case | Error Type |
Value zero or negative. | invalid |
Value with decimals. | invalid |
Value with higher precision | length |
Not sent | required |
Value different to a number. | type |
address_1
Case | Error Type |
Value with higher length | length |
Value different to a string. | type |
address_2
Case | Error Type |
Value with higher length | length |
Value different to a string. | type |
amount
Case | Error Type |
Value different to a number. | type |
Decimal point different to period. | invalid |
Value zero or negative. | invalid |
Value with higher precision and/or scale | length |
amount_requested
Case | Error Type |
Decimal point different to period. | invalid |
Value zero or negative. | invalid |
Value with higher precision and/or scale | length |
Value different to a number. | type |
authorization_id
Case | Error Type |
Value different to a number | invalid |
Not sent | required |
auto_capture
Case | Error Type |
Different to the available values. | invalid |
bearer token
Case | Error Type |
Value not started with "Bearer" followed by a space | invalid |
Token length different to 1000 characters | invalid |
Token not valid. | invalid |
Token expired. | invalid |
Not sent | required |
capture_id
Case | Error Type |
Client not valid. | invalid |
Not sent | required |
city
Case | Error Type |
Value with higher length | length |
Not sent | required |
Value different to a string. | type |
client_id
Case | Error Type |
Client ID not valid | invalid |
Not sent | required |
client_secret
Case | Error Type |
Value with higher length | length |
Not sent | required |
customer_id
Case | Error Type |
Value zero or negative. | invalid |
Value with decimals. | invalid |
Value with higher precision | length |
Not sent | required |
Value different to a number. | type |
date
Case | Error Type |
Value with wrong format | invalid |
dob
Case | Error Type |
Value with wrong format | invalid |
Not sent | required |
Case | Error Type |
Value with wrong format | invalid |
Not sent | required |
employer_name
Case | Error Type |
Value with wrong format | invalid |
employer_phone
Case | Error Type |
Value with wrong format | invalid |
ending_date
Case | Error Type |
Value with wrong format | invalid |
first_name
Case | Error Type |
Value with higher length | length |
Not sent | required |
Value different to a string. | type |
full_release
Case | Error Type |
Different to the available values. | invalid |
full_return
Case | Error Type |
Different to the available values. | invalid |
govid_expiry
Case | Error Type |
Value with wrong format | invalid |
Value with a date less than the current date | invalid |
Not sent | required |
govid_issuedby
Case | Error Type |
Different to the available values. | invalid |
Not sent | required |
govid_number
Case | Error Type |
Value zero or negative. | invalid |
Value with decimals. | invalid |
Value with higher precision | length |
Not sent | required |
Value different to a number. | type |
govid_type
Case | Error Type |
Different to the available values. | invalid |
Not sent | required |
grant_type
Case | Error Type |
Different to the available values. | invalid |
household_income
Case | Error Type |
Value negative. | invalid |
Value with higher precision | length |
Not sent | required |
Value different to a number. | type |
housing_type
Case | Error Type |
Different to the available values. | invalid |
Not sent | required |
input_type
Case | Error Type |
Different to the available values. | invalid |
lang
Case | Error Type |
Different to the available values. | invalid |
last_name
Case | Error Type |
Value with higher length | length |
Value different to a string. | type |
location_id
Case | Error Type |
Value different to a number | invalid |
merchant_id
Case | Error Type |
Value different to a number | invalid |
merchant_password
Case | Error Type |
Not sent | required |
Value different to a string. | type |
Value with higher length | length |
merchant_username
Case | Error Type |
Value with higher length | length |
Not sent | required |
Value different to a string. | type |
middle_name
Case | Error Type |
Value with higher length | length |
Value different to a string. | type |
monthly_housing_expenses
Case | Error Type |
Value with higher precision | length |
Not sent | required |
Value different to a number. | type |
occupation_id
Case | Error Type |
Different to the available values. | invalid |
Not sent | required |
occupation_title
Case | Error Type |
Value with higher length | length |
Not sent | required |
Value different to a string. | type |
page_number
Case | Error Type |
Not sent | required |
Value different to a number. | type |
page_size
Case | Error Type |
Value different to a number. | type |
personal_income
Case | Error Type |
Value with higher precision | length |
Not sent | required |
Value different to a number. | type |
phone_number
Case | Error Type |
Value with higher precision | length |
Not sent | required |
Value different to a number. | type |
piw
Case | Error Type |
Value with higher length | length |
Not sent | required |
Value different to a string. | type |
plan_id
Case | Error Type |
Value zero or negative. | invalid |
Value with decimals. | invalid |
Value with higher precision | length |
Not sent | required |
Value different to a number. | type |
postal_code
Case | Error Type |
Value with higher length | length |
Value different to a string. | type |
preferred_language
Case | Error Type |
Different to the available values. | invalid |
province
Case | Error Type |
Different to the available values. | invalid |
Value different to a string. | type |
reference
Case | Error Type |
Value with higher length | length |
Value different to a string. | type |
salutation
Case | Error Type |
Different to the available values. | invalid |
Not sent | required |
Value different to a string. | type |
security_answer
Case | Error Type |
Not sent | required |
Value different to a string. | type |
Value with higher length | length |
security_qid
Case | Error Type |
Value zero or negative. | invalid |
Value with decimals. | invalid |
Value with higher precision | length |
Not sent | required |
Value different to a number. | type |
sin
Case | Error Type |
Value zero or negative. | invalid |
Value with decimals. | invalid |
Value with higher precision | length |
Value different to a number. | type |
term
Case | Error Type |
Value zero or negative. | invalid |
Value with decimals. | invalid |
Value with higher precision | length |
Not sent | required |
Value different to a number. | type |
tos_agreement
Case | Error Type |
Different to the available values. | invalid |
Not sent | required |
transaction_type
Case | Error Type |
Different to the available values. | invalid |
Not sent | required |
vcc_number
Case | Error Type |
Value zero or negative. | invalid |
Value with decimals. | invalid |
Value with higher precision | length |
Value different to a number. | type |
verification_code
Case | Error Type |
Value zero or negative. | invalid |
Value with decimals. | invalid |
Value with higher precision | invalid |
Not sent | required |
Value different to a number. | type |