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. |
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:
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@" } ] }
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 |
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 |
GET /client-id/{client_id}/customers/lookup
Code | Error | Scenario |
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 |
404 | not_found | Customer Account not found |
POST /client-id/{client_id}/account/{account_number}/verify
Code | Error | Scenario |
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 |
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 |
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 | 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 | - Plan and Term for prime category for a non-prime customer. |
409 | user_not_able_to_purchase | Customer account status different than normal (NNOR) |
409 | user_not_active | Customer Account is not activated |
409 | wrong_verification_code | Verification code entered is incorrect |
409 | verification_code_required | Verification code is a required parameter. |
GET /client-id/{clientId}/authorizations
Code | Error | Scenario |
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 |
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 |
400 | 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 |
400 | 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 |
400 | 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 | older_capture | Capture creation date is more than 100 days old. |
409 | wrong_transaction_type | The capture is not related to a promotional purchase |
POST /client-id/{client_id}/accounts/{account_number}/refund
Code | Error | Scenario |
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 |
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 |