Error Overview
Flexiti uses conventional HTTP response codes to indicate the success or failure of an API request. In general:
...
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. |
403 | Forbidden | Request is forbidden for the level of access granted. |
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 | Server Errors | Something went wrong on the Flexiti side. (These are rare.) |
General Input Errors
Input errors will tend to follow this model:
...
Code Block |
---|
{ "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@" } ] } |
Individual Endpoint Errors
POST /oauth/token
Code | Error | Scenario |
400 | invalid_client | Wrong or missing client id or client_secret |
400 | invalid_request | Invalid or missing grant_type parameter |
401 | invalid_token | Wrong or expired access token |
POST /client-id/{client_id}/merchants/login
Code | Error | Scenario |
409 | authentication_failure | Wrong Merchant username or password |
POST /client-id/{client_id}/apply
Code | Error | Scenario |
409 | application_create_error | There was an error creating the Credit Application due to a 3rd party timeout |
409 | tos_agreement_required | Terms and Conditions missing or not agreed |
409 | application_declined, application_declined_2, application_declined_3 | Customer application declined |
409 | application_marked_pending_1, application_marked_pending_2 | Customer application pending |
409 | customer_already_exists | Customer applying already has an account |
409 | not_verified | For the online channel, the /apply payload contains different personal information than the /init payload using the same token |
GET /client-id/{client_id}/customers/lookup
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Customer Account not found |
409 | user_not_able_to_purchase | Customer account status different to normal (NNOR) |
409 | user_not_active | Customer Account is not activated |
GET /client-id/{client_id}/customers/search
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Customer Account not found |
POST /client-id/{client_id}/account/{account_number}/verify
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Customer Account not found |
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 | secret_answer_mismatch | Security question answer does not match what is on file for the customer |
POST /client-id/{client_id}/accounts/{account_number}/close
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Customer Account not found |
POST /pos-api/client-id/{client_id}/accounts/{account_number}/calculate-interest
Code | Error | Scenario |
404 | not_found | Customer Account not found |
409 | generic_error | A generic error covering backend process issues |
POST /client-id/{client_id}/transactions
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Customer Account, transaction, not found |
409 | generic_error | A generic error covering backend process issues |
409 | invalid_transaction_type | wrong value for transaction type in the request |
409 | wrong_verification_code | Verification code entered is incorrect |
409 | verification_code_required | Verification code is a required parameter. |
409 | user_not_active | Customer Account is not activated |
409 | user_not_able_to_purchase | Customer account status different to normal (NNOR) |
409 | limit_payment_amount_24 | Payments made on the account exceed the $10,000/day limit |
409 | not_enough_credit | Customer does not have enough open to buy for transaction amount |
POST /client-id/{client-id}/authorization
Code | Error | Scenario |
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 | credit_exceeded | Amount requested plus interest is greater than the available credit of the customer account. |
409 | generic_error | A generic error covering backend process issues |
409 | auth_not_allowed | Merchant has not been configured for preauth |
409 | plan_term_not_set | Merchant has not been configured for the financing option (Plan and Term or Regular Purchase). |
409 | plan_term_not_available |
|
409 | user_not_able_to_purchase | Customer account status different than normal (NNOR) |
GET /client-id/{clientId}/authorizations
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
409 | generic_error | A generic error covering backend process issues |
409 | date_from_bigger_than_date_to | The From date is later than the To date |
GET /client-id/{clientId}/authorization/{authorizationId}
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
400 | not_found | Authorization ID not found |
409 | generic_error | A generic error covering backend process issues |
POST /client-id/{clientId}/authorization/{authorizationId}/release
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Authorization ID not found |
409 | generic_error | A generic error covering backend process issues |
409 | authorization_ended | Credit authorization has “closed” status |
409 | auth_amount_exceeded | Release amount is greater than the remaining credit authorization amount. |
409 | not_permitted | The employee doesn’t have enough permissions to perform the release |
POST /client-id/{clientId}/authorization/{authorizationId}/capture
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Authorization ID not found |
409 | generic_error | A generic error covering backend process issues |
409 | authorization_ended | Credit authorization has “closed” status |
409 | auth_amount_exceeded | Capture amount is greater than the remaining credit authorization amount. |
409 | not_permitted |
|
POST /client-id/{clientId}/authorization/{authorizationId}/capture/{captureId}/return
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Authorization ID or Capture ID not found |
409 | generic_error | A generic error covering backend process issues |
409 | capture_amount_exceeded | Return amount is greater than the remaining captured amount. |
409 | return_date_exceeded | Capture creation date is more than 100 days old. |
409 | wrong_transaction_type | The capture is not related to a promotional purchase |
409 | not_permitted | The employee doesn’t have enough permissions to perform the return |
POST /client-id/{client_id}/accounts/{account_number}/refund
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Customer Account not found |
409 | generic_error | A generic error covering backend process issues |
409 | refunds_limit_exceeded_amount | Refund amount exceeds account balance limit. |
GET /client-id/{clientId}/captures
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
409 | generic_error | A generic error covering backend process issues |
409 | date_from_bigger_than_date_to | The From date is later than the To date |
POST /client-id/{clientId}/widget/init
Code | Error | Scenario |
409 | generic_error | A generic error covering backend process issues |