Authenticate and obtain a JWT bearer token for use in subsequent API requests.
JSON
{
"status": true,
"message": "Success",
"code": 200,
"UserId": 52323,
"userType_id": 2,
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9***********9PIJ4cUlOTR75Sd8hGMIQ"
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200) UserIdinteger Authenticated user's unique ID userType_idinteger User type identifier access_tokenstring JWT bearer token. Include in the Authorization: Bearer <token> header for subsequent requests
JSON
{
"code": 400,
"status": false,
"message": "Could not find the account"
}
Field Type Description codeinteger HTTP status code (400) statusboolean false when authentication failsmessagestring Error message
statusMeaning Typical cause trueSuccess Bearer token issued falseError Account not found or invalid credentials
Onboard a new merchant account.
JSON
{
"status": true,
"message": "User Added Successfully",
"Mp_id": 140276,
"newUserId": 194849,
"StoreID": {
"154586": [
"2319977712"
]
},
"data": "Success"
}
Field Type Description statusboolean true on successmessagestring User Added Successfully on successMp_idinteger Unique merchant portal ID assigned to the new merchant newUserIdinteger Unique user ID assigned to the new merchant account StoreIDobject Map of store ID to associated EPI numbers. Key = store ID, value = array of EPI identifiers datastring Success on success
JSON
{
"code": 400,
"status": false,
"message": "User Name already exist"
}
Field Type Description codeinteger HTTP status code (400) statusboolean false when the request failsmessagestring Error message
statusMeaning Typical cause trueSuccess Merchant created falseError Username already exists
Update the details of an existing merchant account.
JSON
{
"status": true,
"message": "Merchant Updated Successfully",
"Mp_id": "140276",
"newUserId": "194849",
"StoreID": {
"154586": [
"2319977712"
]
},
"data": "Success"
}
Field Type Description statusboolean true on successmessagestring Merchant Updated Successfully on successMp_idstring Merchant portal ID newUserIdstring User ID of the merchant StoreIDobject Map of store ID to associated EPI numbers datastring Success on success
JSON
{
"code": 400,
"status": false,
"message": "The store is not associated with the merchants under this ISO"
}
Field Type Description codeinteger HTTP status code (400) statusboolean false when the request failsmessagestring Error message
statusMeaning Typical cause trueSuccess Merchant updated falseError Store does not belong to a merchant under this ISO
Delete an existing merchant account.
JSON
{
"status": true,
"message": "Success",
"code": 200
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200)
JSON
{
"code": 400,
"status": false,
"message": "Given merchant is already deleted"
}
Field Type Description codeinteger HTTP status code (400) statusboolean false when the request failsmessagestring Error message
statusMeaning Typical cause trueSuccess Merchant deleted falseError Merchant is already deleted
Retrieve a summary of the EPIs and program types associated with a merchant.
JSON
{
"status": true,
"message": "Success",
"data": [
{
"epi": "2319970727",
"programType": "Surcharge"
}
]
}
Field Type Description statusboolean true on successmessagestring Success on successdataarray Array of EPI summary objects
Field Type Description epistring Terminal EPI identifier programTypestring Processing program type assigned to this terminal (e.g. Surcharge, Traditional)
JSON
{
"code": 400,
"status": false,
"message": "Please Enter UserId"
}
Field Type Description codeinteger HTTP status code (400) statusboolean false when the request failsmessagestring Error message
statusMeaning Typical cause trueSuccess Merchant EPI details returned falseError UserId parameter is missing from the request
Create an operator user account under an existing merchant.
JSON
{
"status": 1,
"message": "Success",
"code": 200,
"status_desc": "User has been created sucessfully UserID: 194876"
}
Field Type Description statusinteger 1 on successmessagestring Success on successcodeinteger HTTP status code (200) status_descstring Detailed confirmation message including the new user ID
JSON
{
"code": 400,
"status": "FAILED",
"message": "Merchant not found"
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request failsmessagestring Error message
statusMeaning Typical cause 1Success Merchant operator created FAILEDError Merchant not found for the provided ID
Create an operator user account under an existing Sub-ISO.
JSON
{
"status": 1,
"message": "Success",
"code": 200,
"status_desc": "Sub ISO operator Boarding successfull."
}
Field Type Description statusinteger 1 on successmessagestring Success on successcodeinteger HTTP status code (200) status_descstring Detailed confirmation message
JSON
{
"code": 400,
"status": "FAILED",
"message": "Invalid Sub ISO username."
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request failsmessagestring Error message
statusMeaning Typical cause 1Success Sub-ISO operator created FAILEDError Sub-ISO username is invalid or not found
Activate or deactivate one or more merchant accounts.
JSON
{
"status": true,
"message": "Status update completed successfully.",
"code": 200,
"updatedMerchants": [
29156
],
"erroredMerchants": []
}
JSON
{
"status": false,
"message": "Status update failed for all merchants.",
"code": 400,
"updatedMerchants": [],
"erroredMerchants": [
{
"statustag": "Pending",
"merchantId": [
29159
],
"error": "Merchant is pending. Please activate in the Valor portal"
}
]
}
Field Type Description statusboolean true if all updates succeeded; false if any or all failedmessagestring Summary of the update result codeinteger 200 on success; 400 on failureupdatedMerchantsarray List of merchant IDs that were successfully updated erroredMerchantsarray List of error objects for merchants that could not be updated (see below)
Field Type Description statustagstring Current status of the merchant that prevented the update (e.g. Pending) merchantIdarray List of merchant IDs that failed errorstring Reason for the failure
Note: A code: 400 response may still include successfully updated merchants in updatedMerchants if only some of the submitted merchants failed.
statusMeaning Typical cause trueSuccess All merchant statuses updated falsePartial/full failure One or more merchants are in Pending status and cannot be activated via API
Retrieve the full configuration details for a merchant, including store and EPI data.
JSON
{
"status": true,
"message": "Success",
"code": 200,
"data": {
"id": 43919,
"userId": 72239,
"parentId": 52323,
"dbaName": "Valor Store LLC",
"legalName": "Valor Store",
"firstName": "MERCHANT",
"lastName": "PORTAL",
"ownerName": "Valor ISO LLC",
"emailId": "[email protected] ",
"mobile": "8327287578",
"legalAddress": "Test Address",
"legalCity": "CLIFFSIDE PARK",
"legalState": "28",
"legalCountry": "US",
"legalZipCode": "07010",
"legalTimezone": "EST",
"role": 10,
"userType": 4,
"isTxnAllowed": 1,
"businessType": "Direct Marketing",
"sicCode": "7230 - Beauty and Barber",
"storeData": [
{
"id": 48779,
"storeName": "Test Store",
"mccCode": "0742",
"selectedMCC": "0742 - VETERINARY SERVICES",
"epiData": [
{
"id": 78818,
"epi": "2319931361",
"epiLabel": "Virtual Terminal",
"processorData": [
{
"mid": "887000003193",
"surchargeIndicator": 0,
"surchargePercentage": "4.00",
"programType": "surcharge",
"app_key": "yPmCz8*******d7G2GVc4",
"auth_token": "jQGF*******0FkXcd"
}
]
}
]
}
]
}
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200) dataobject Full merchant details. See the Merchant View field reference in the ISO API section for the complete schema
Note: This endpoint returns the same data schema as the ISO Merchant View. Additional fields present in this bearer-auth version include businessType and sicCode.
JSON
{
"code": 400,
"status": false,
"message": "Invalid epi_id"
}
Field Type Description codeinteger HTTP status code (400) statusboolean false when the request failsmessagestring Error message
statusMeaning Typical cause trueSuccess Merchant details returned falseError EPI ID is invalid
Retrieve a paginated list of merchants under an ISO.
JSON
{
"status": true,
"message": "Success",
"code": 200,
"data": [
{
"DEVICE_COUNT": 5,
"MTD_VOLUME": "1841311",
"STORE_COUNT": 1,
"PROCESSOR_LIST": "1,2,4",
"LAST_TXN_DATE": "2026-04-28 02:44:27",
"USER_ID": 52326,
"USER_TYPE": 4,
"PARENT_ID": 52323,
"UPDATED_DATE": "2026-04-28 06:45:06",
"MERCHANT_NAME": "MERCHANT PORTAL",
"ROLE_ID": 10,
"MOBILE_NO": "8327287578",
"EMAIL_ID": "ra******.com",
"STATUS": 0,
"CREATED_DATE": "2024-05-02 05:14:18",
"DBA_NAME": "Valor Store LLC",
"MP_ID": 29156,
"CRM_BOARDING": 0,
"SUBISO_NAME": null,
"ISO_NAME": "Valor ISO LLC",
"BOARDED_ON": "05/02/24 01:14 AM (EST)"
}
],
"number_of_records": 1,
"page_number": 1,
"total_pages": 925,
"total_results": 925,
"page_size": 1
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200) dataarray Array of merchant summary objects number_of_recordsinteger Number of records returned on this page page_numberinteger Current page number total_pagesinteger Total number of pages total_resultsinteger Total number of merchants page_sizeinteger Number of records per page
Field Type Description DEVICE_COUNTinteger Number of terminals (EPIs) assigned MTD_VOLUMEstring Month-to-date transaction volume in cents STORE_COUNTinteger Number of stores PROCESSOR_LISTstring Comma-separated list of processor IDs LAST_TXN_DATEstring | null Most recent transaction timestamp USER_IDinteger User account ID USER_TYPEinteger User type identifier PARENT_IDinteger Parent ISO user ID UPDATED_DATEstring Last updated timestamp MERCHANT_NAMEstring Merchant account name ROLE_IDinteger Role identifier MOBILE_NOstring Contact phone number EMAIL_IDstring Contact email (may be partially masked) STATUSinteger 1 if active; 0 if inactiveCREATED_DATEstring Account creation timestamp DBA_NAMEstring Doing-business-as name MP_IDinteger Merchant portal ID CRM_BOARDINGinteger 1 if boarded via CRMSUBISO_NAMEstring | null Sub-ISO name, if applicable ISO_NAMEstring ISO name BOARDED_ONstring Boarding timestamp in MM/DD/YY HH:MM AM/PM (TZ) format
JSON
{
"code": 400,
"status": false,
"message": "Invalid user_id"
}
statusMeaning Typical cause trueSuccess Merchant list returned falseError user_id is invalid
Copy device parameters from one terminal to another.
JSON
{
"status": "OK",
"message": "Success",
"code": 200
}
Field Type Description statusstring OK on successmessagestring Success on successcodeinteger HTTP status code (200)
JSON
{
"code": 400,
"status": "FAILED",
"message": "The given EPI has been wrong."
}
statusMeaning Typical cause OKSuccess Parameters copied FAILEDError Source or target EPI is invalid
Add a new store to an existing merchant.
JSON
{
"status": true,
"message": "Merchant Store Created Successfully",
"Mp_id": "43919",
"newUserId": "72239",
"StoreID": {
"154628": [
"2319977735"
]
},
"data": "Success"
}
Field Type Description statusboolean true on successmessagestring Merchant Store Created Successfully on successMp_idstring Merchant portal ID newUserIdstring User ID of the merchant StoreIDobject Map of new store ID to its associated EPI numbers datastring Success on success
JSON
{
"status": "Validation Failed",
"message": [
"newUserId Required"
],
"code": 400
}
Field Type Description statusstring Validation Failed when required fields are missingmessagearray List of validation error messages codeinteger HTTP status code (400)
statusMeaning Typical cause trueSuccess Store created Validation FailedError Required field newUserId missing from the request
Submit a new support ticket for a terminal.
JSON
{
"status": true,
"message": "Ticket Created Successfully",
"code": 200
}
Field Type Description statusboolean true on successmessagestring Ticket Created Successfully on successcodeinteger HTTP status code (200)
JSON
{
"code": 400,
"status": false,
"message": "Unknown Epi"
}
statusMeaning Typical cause trueSuccess Ticket created falseError EPI not found or unrecognised
Update an existing support ticket as an ISO user.
JSON
{
"code": 200,
"status": true,
"message": "Ticket Updated Successfully."
}
Field Type Description codeinteger HTTP status code (200) statusboolean true on successmessagestring Ticket Updated Successfully. on success
JSON
{
"code": 400,
"status": false,
"message": "You are not authorized to update tickets."
}
statusMeaning Typical cause trueSuccess Ticket updated falseError Authenticated user does not have permission to update this ticket
Retrieve support ticket records and available ticket subjects for a terminal.
JSON
{
"message": "success",
"data": {
"subjects": [
{ "id": 1, "subject": "HARDWARE", "send_to": "HELPDESK", "created_on": "2020-07-24 07:32:27" },
{ "id": 2, "subject": "TRANSACTION", "send_to": "HELPDESK", "created_on": "2020-07-29 02:56:29" },
{ "id": 4, "subject": "STATEMENT", "send_to": "HELPDESK", "created_on": "2020-07-29 02:56:38" },
{ "id": 6, "subject": "PAYMENT", "send_to": "HELPDESK", "created_on": "2020-07-29 02:57:04" },
{ "id": 8, "subject": "OTHER", "send_to": "ALL", "created_on": "2020-07-29 02:57:10" },
{ "id": 10, "subject": "SALES", "send_to": "SUPPORT", "created_on": "2021-09-22 10:52:57" }
],
"meta": {
"current_page": 1,
"total_records": 1,
"last_page": 1,
"per_page": 25
},
"records": [
{
"id": 28285,
"epi": "2412333540",
"subject": "SALES",
"status": "OPEN",
"description": "Hi there",
"resolution": null,
"channel": "CRM",
"phone": "5247896523",
"dba_name": "Valor Store LLC",
"device_type": "Virtual Terminal",
"created_on": "2025-12-11 13:19:28",
"created_by_name": "MERCHANT PORTAL",
"created_at": "12/11/2025 08:19 AM (EST)",
"total_count": 1,
"store_id": 33168,
"mp_id": 29156,
"last_txn_date": "2026-04-28 02:44:27"
}
]
}
}
Field Type Description messagestring success on successdataobject Contains ticket subjects, pagination meta, and ticket records
Field Type Description idinteger Subject identifier subjectstring Subject category name (e.g. HARDWARE, TRANSACTION) send_tostring Routing destination (e.g. HELPDESK, SUPPORT, ALL) created_onstring Subject creation timestamp
Field Type Description current_pageinteger Current page number total_recordsinteger Total number of ticket records last_pageinteger Last available page number per_pageinteger Records per page
Field Type Description idinteger Unique ticket ID epistring Terminal EPI this ticket is associated with subjectstring Ticket subject category statusstring Ticket status (e.g. OPEN, CLOSED) descriptionstring Ticket description submitted by the user resolutionstring | null Resolution notes; null if unresolved channelstring Submission channel (e.g. CRM) phonestring Contact phone number dba_namestring Merchant DBA name device_typestring Terminal type created_onstring Ticket creation timestamp in YYYY-MM-DD HH:MM:SS format created_by_namestring Name of the user who created the ticket created_atstring Formatted creation timestamp in MM/DD/YYYY HH:MM AM/PM (TZ) total_countinteger Total number of tickets matching the query store_idinteger Store ID associated with the ticket mp_idinteger Merchant portal ID last_txn_datestring Last transaction date for the associated terminal
Trigger a synchronisation of store data for a merchant.
JSON
{
"code": 200,
"status": "SUCCESS",
"message": "Store data synced successfully. You'll be notified by email once processing is complete"
}
Field Type Description codeinteger HTTP status code (200) statusstring SUCCESS on successmessagestring Confirmation message. Email notification will be sent when processing completes
JSON
{
"code": 400,
"status": "FAILED",
"message": "Store sync is already in progress. You'll be notified by email once it's complete."
}
statusMeaning Typical cause SUCCESSSuccess Store sync initiated FAILEDError A sync is already running for this store
Delete a store from an existing merchant.
JSON
{
"status": true,
"message": "Success",
"code": 200,
"result": "Deleted Successfully"
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200) resultstring Deleted Successfully on success
JSON
{
"code": 400,
"status": false,
"message": "Store is already deleted."
}
statusMeaning Typical cause trueSuccess Store deleted falseError Store is already in a deleted state
Add a new terminal (EPI) to an existing merchant store.
JSON
{
"status": true,
"message": "Merchant EPI Updated Successfully",
"Mp_id": "43919",
"newUserId": "72239",
"StoreID": {
"48779": [
"2319977747"
]
},
"data": "Success"
}
Field Type Description statusboolean true on successmessagestring Merchant EPI Updated Successfully on successMp_idstring Merchant portal ID newUserIdstring User ID of the merchant StoreIDobject Map of store ID to newly added EPI numbers datastring Success on success
JSON
{
"status": "Validation Failed",
"message": {
"mp_id": "mp_id Required"
},
"code": 400
}
Field Type Description statusstring Validation Failed when required fields are missingmessageobject Key-value map of field names to validation error messages codeinteger HTTP status code (400)
statusMeaning Typical cause trueSuccess EPI added Validation FailedError Required field mp_id missing from the request
Activate a terminal (EPI).
JSON
{
"status": true,
"message": "Success",
"code": 200,
"data": "Device is already active status."
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200) datastring Informational message. Device is already active status. if no change was needed
JSON
{
"code": 400,
"status": false,
"message": "Invalid Epi"
}
statusMeaning Typical cause trueSuccess (or no-op) EPI activated, or was already active falseError EPI is invalid or not found
Delete a terminal (EPI) from a merchant account.
JSON
{
"status": true,
"message": "Success",
"code": 200,
"result": "EPI Deleted Successfully"
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200) resultstring EPI Deleted Successfully on success
JSON
{
"code": 400,
"status": false,
"message": "Invalid Epi"
}
statusMeaning Typical cause trueSuccess EPI deleted falseError EPI is invalid or not found
Retrieve the processor parameters and configuration details for a specific terminal.
JSON
{
"status": true,
"code": "200",
"Mp_id": 43019,
"StoreID": 47831,
"epi": "2319930907",
"SerialNo": null,
"processor_params": {
"mid": "887000003193",
"vNumber": "75021674",
"storeNo": "5999",
"termNo": "1515",
"binnumber": "999991",
"industry": "Retail",
"agentBank": "000000",
"chain": "111111",
"agent": "0001",
"EBTcash": 0,
"EBTfood": 0,
"EbtNo": "",
"surchargeIndicator": 0,
"surchargePercentage": "4.00",
"vendor": 2,
"status": 1,
"app_key": "yPmCz*********GVc4",
"auth_token": "jQGF6g*********FkXcd",
"name_on_account": "Abu"
},
"message": "epi Data Exits",
"StatusUser": 1
}
Note: The response schema is identical to the ISO EPI Detail endpoint. Refer to the EPI Detail field reference in the ISO API section for the full processor_params field descriptions.
JSON
{
"code": 400,
"status": false,
"message": "Invalid Epi"
}
statusMeaning Typical cause trueSuccess EPI detail returned falseError EPI is invalid or not found
Retrieve the full merchant, store, and EPI configuration for a specific terminal.
The response schema is identical to the bearer-auth Merchant View endpoint. Refer to the Merchant View field reference above.
JSON
{
"code": 400,
"status": false,
"message": "Invalid epi_id"
}
statusMeaning Typical cause trueSuccess EPI and merchant details returned falseError EPI ID is invalid
Assign a specific application version to a terminal.
JSON
{
"data": [
{
"epi": "2319970909",
"assigned_version": "3.0.9si"
}
],
"status": true,
"message": "Success",
"code": 200,
"assigned_by": 52323
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200) assigned_byinteger User ID of the account that performed the assignment dataarray Array of assignment result objects
Field Type Description epistring Terminal EPI the app version was assigned to assigned_versionstring Application version assigned (e.g. 3.0.9si)
JSON
{
"code": 400,
"status": false,
"message": "Invalid epi or device"
}
statusMeaning Typical cause trueSuccess App version assigned to EPI falseError EPI or device model is invalid
Retrieve a hosted e-receipt URL for a completed transaction.
JSON
{
"status": true,
"message": "SUCCESS",
"code": 200,
"e_receipt": "https://rcpt-staging.valorpaytech.com:4430/?id=8730870-517111500704--v3.0&type=mc"
}
Field Type Description statusboolean true on successmessagestring SUCCESS on successcodeinteger HTTP status code (200) e_receiptstring URL to the hosted e-receipt page
JSON
{
"code": 400,
"status": "FAILED",
"errors": "Missing required field: txn_id"
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processederrorsstring Error message describing the missing field
statusMeaning Typical cause trueSuccess E-receipt URL returned FAILEDError Required field txn_id is missing from the request
Retrieve a paginated list of transactions for a given terminal or merchant.
JSON
{
"status": true,
"message": "SUCCESS",
"code": 200,
"data": [
{
"txn_id": 10331469,
"epi": "2412333540",
"rrn": "611806503508",
"txn_type": "SALE",
"txn_type_code": 101,
"base_amount": 1000,
"custom_fee_amount": 102,
"net_amount": 1102,
"tip_amount": 0,
"tax_amount": 0,
"state_tax_amount": 0,
"city_tax_amount": 0,
"surcharge_fee_amount": 0,
"cashback_amount": 0,
"food_amount": 0,
"card_scheme": "MasterCard",
"masked_card_no": "5200 XXXX XXXX 8210",
"card_bin": "520082",
"card_type": "",
"card_holder_name": "",
"approval_code": "VTLMC1",
"response_code": "00",
"processor_response_code": "00",
"switch_error_code": "V0000",
"host_response": "APPROVALVTLMC1",
"batch_no": "623",
"stan_no": "709481",
"request_date": "2026-04-28",
"request_time": "02:44 AM",
"created_at": "2026-04-28 06:44:27",
"timezone": "EST",
"mp_id": 29156,
"store_id": 33168,
"merchant_name": "Valor Store LLC",
"store_name": "Test Store",
"device_id": 139,
"device_model": "Virtual Terminal",
"device_label": "VT #2",
"processor_id": 1,
"mid": "887000003191",
"pos_entry_mode": "812",
"pos_condition_code": "59",
"message_type": "0200",
"is_txn_approved": 1,
"is_voided": 0,
"is_reversed": 0,
"is_partial_approved": 0,
"is_auth_completed": 0,
"is_avs_failed": 0,
"is_avs_txn": 0,
"is_pin_txn": 0,
"is_non_cash_charge_txn": 0,
"is_followup_txn": 0,
"is_ebt_voucher_txn": 0,
"refunded_amount": 0,
"refunded_count": 0,
"tip_adjusted_count": 0,
"surcharge_label": "Adjustment",
"description": "king size bed 10x12",
"invoicenumber": "inv0001",
"ref_txn_type": "CREDIT SALE",
"token": "09AA65********128506788",
"subscription_id": "",
"invoice_mode": null,
"customer_name": null,
"company_name": null,
"email_id": "",
"phone_number": ""
}
],
"number_of_records": 1,
"page_number": 1,
"total_pages": 806,
"total_results": 806,
"page_size": 1
}
Field Type Description statusboolean true on successmessagestring SUCCESS on successcodeinteger HTTP status code (200) dataarray Array of transaction objects number_of_recordsinteger Records returned on this page page_numberinteger Current page number total_pagesinteger Total pages available total_resultsinteger Total matching transactions page_sizeinteger Records per page
Field Type Description txn_idinteger Unique transaction identifier epistring Terminal EPI identifier rrnstring Retrieval reference number txn_typestring Transaction type (e.g. SALE, REFUND) txn_type_codeinteger Internal transaction type code base_amountinteger Base transaction amount in cents custom_fee_amountinteger Custom fee amount in cents net_amountinteger Net charged amount in cents tip_amountinteger Tip amount in cents tax_amountinteger Total tax amount in cents state_tax_amountinteger State tax amount in cents city_tax_amountinteger City tax amount in cents surcharge_fee_amountinteger Surcharge fee amount in cents cashback_amountinteger Cashback amount in cents food_amountinteger Food amount in cents, if applicable card_schemestring Card network (e.g. Visa, MasterCard) masked_card_nostring Masked card number card_binstring Card BIN (first 6 digits) card_typestring Card type (DEBIT, CREDIT, or empty) card_holder_namestring Cardholder name, if provided approval_codestring Issuer authorization code response_codestring Gateway response code. 00 = approved processor_response_codestring Processor-level response code switch_error_codestring Switch-level error code host_responsestring Full host response string batch_nostring Settlement batch number stan_nostring System trace audit number request_datestring Transaction date in YYYY-MM-DD format request_timestring Transaction time (e.g. 02:44 AM) created_atstring Transaction creation timestamp timezonestring Terminal timezone (e.g. EST) mp_idinteger Merchant portal ID store_idinteger Store ID merchant_namestring Merchant DBA name store_namestring Store name device_idinteger Device model ID device_modelstring Device model description device_labelstring Terminal display label processor_idinteger Processor identifier midstring Merchant ID used for this transaction pos_entry_modestring POS entry mode code pos_condition_codestring POS condition code message_typestring ISO 8583 message type is_txn_approvedinteger 1 if approved; 0 if declinedis_voidedinteger 1 if voidedis_reversedinteger 1 if reversedis_partial_approvedinteger 1 if partially approvedis_auth_completedinteger 1 if auth has been capturedis_avs_failedinteger 1 if AVS check failedrefunded_amountinteger Total refunded amount in cents refunded_countinteger Number of refunds issued tip_adjusted_countinteger Number of tip adjustments made surcharge_labelstring Surcharge display label descriptionstring Order or item description invoicenumberstring Invoice reference ref_txn_typestring Reference transaction type label tokenstring Card token (partially masked) subscription_idstring Subscription ID, if part of a recurring plan customer_namestring | null Customer name, if linked to a vault profile
Note: The data array also contains addtl_data_label1 through addtl_data_label25 and their corresponding addtl_data_value1 through addtl_data_value25 fields for custom additional data labels. These are all strings and return empty when not configured.
Retrieve transaction volume statistics and status for a specific terminal.
JSON
{
"status": true,
"message": "Success",
"code": 200,
"data": [
{
"MTD_VOLUME": "18354.53",
"LTD_VOLUME": "16883214.00",
"last_txn_date": "2026-04-25",
"first_txn_Date": "2024-05-06"
}
],
"epi_status": [
{
"is_deleted": 0,
"status": 1
}
]
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200) dataarray Array containing transaction volume statistics epi_statusarray Array containing current EPI status flags
Field Type Description MTD_VOLUMEstring Month-to-date transaction volume in decimal format LTD_VOLUMEstring Lifetime-to-date transaction volume in decimal format last_txn_datestring Date of the most recent transaction in YYYY-MM-DD format first_txn_Datestring Date of the first transaction in YYYY-MM-DD format
Field Type Description is_deletedinteger 1 if deleted; 0 otherwisestatusinteger 1 if active; 0 if inactive
JSON
{
"status": false,
"message": "No Record Found",
"code": 400,
"data": [],
"epi_status": [
{
"is_deleted": 0,
"status": 1
}
]
}
Note: Even when no transaction records exist, epi_status is still returned with the current terminal status.
statusMeaning Typical cause trueSuccess Transaction statistics returned falseNot found No transactions exist for this EPI
Update the configuration of an existing terminal (EPI).
JSON
{
"status": true,
"message": "Epi Updated Successfully",
"code": 200
}
Field Type Description statusboolean true on successmessagestring Epi Updated Successfully on successcodeinteger HTTP status code (200)
JSON
{
"Validation Failed": "epi length should be 10 digit ."
}
Note: This error response uses a non-standard shape — the key is "Validation Failed" and the value is the error message string. There is no status or code field.
Response shape Meaning Typical cause status: trueSuccess EPI updated {"Validation Failed": "..."}Validation error EPI must be exactly 10 digits
Verify that a terminal (EPI) exists and retrieve its full configuration.
JSON
{
"status": true,
"code": "200",
"Mp_id": 43019,
"newUserId": 70979,
"StoreID": 47831,
"epi": "2319930907",
"SerialNo": null,
"processor_params": {
"mid": "887000003193",
"surchargeIndicator": 0,
"surchargePercentage": "4.00",
"app_key": "yPmCz*********G2GVc4",
"auth_token": "jQGF6g*********p0FkXcd",
"name_on_account": "Abu"
},
"optStatus": 1,
"statusEpi": 1,
"createdDate": "2024-11-20",
"createdBy": 52323,
"isDeleted": 0,
"deletedOn": null,
"deletedBy": null
}
Note: The response schema is identical to the ISO Check EPI endpoint. Refer to the Check EPI field reference in the ISO API section for full field descriptions.
JSON
{
"code": 400,
"status": false,
"message": "Invalid Epi"
}
statusMeaning Typical cause trueSuccess EPI found falseError EPI does not exist
Create a new Sub-ISO account.
JSON
{
"status": 1,
"message": "Success",
"code": 200,
"statusDesc": "sub iso User has been created Sucessfully.",
"user_id": 194999,
"customer_id": 10914,
"office_id": 26672
}
Field Type Description statusinteger 1 on successmessagestring Success on successcodeinteger HTTP status code (200) statusDescstring Detailed confirmation message user_idinteger Unique user ID assigned to the new Sub-ISO customer_idinteger Customer ID associated with the Sub-ISO account office_idinteger Office ID assigned to the Sub-ISO
JSON
{
"code": 400,
"status": "FAILED",
"message": "Invalid state"
}
statusMeaning Typical cause 1Success Sub-ISO created FAILEDError Invalid state value provided in the request
Push updated device parameters to a terminal.
JSON
{
"status": true,
"message": "Success",
"code": 200
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200)
JSON
{
"code": 400,
"status": "FAILED",
"message": "The 'descriptor_enabled' depends on the 'generate_pay_now_link'."
}
statusMeaning Typical cause trueSuccess Device parameters updated FAILEDError descriptor_enabled requires generate_pay_now_link to be enabled first
Retrieve the current status of a terminal (EPI).
JSON
{
"status": true,
"message": "Success",
"code": 200,
"data": "Device is already active status."
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200) datastring Current EPI status description
JSON
{
"code": 400,
"status": false,
"message": "Invalid Epi"
}
statusMeaning Typical cause trueSuccess EPI status returned falseError EPI is invalid or not found
Deactivate a terminal to prevent it from processing transactions.
JSON
{
"status": true,
"message": "Success",
"code": 200,
"data": "EPI Deactivated Successfully"
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200) datastring EPI Deactivated Successfully on success
JSON
{
"code": 400,
"status": false,
"message": "Invalid Epi or EPI doesn`t belong to this ISO"
}
statusMeaning Typical cause trueSuccess EPI deactivated falseError EPI is invalid or does not belong to this ISO
Verify that a merchant profile exists and retrieve its summary details.
JSON
{
"status": true,
"code": "200",
"Mp_id": 43019,
"newUserId": 70979,
"StoreID": 47831,
"message": "Profile Data Exits",
"StatusUser": 1
}
Field Type Description statusboolean true on successcodestring HTTP status code as a string ("200") Mp_idinteger Merchant portal ID newUserIdinteger User ID of the merchant StoreIDinteger Store ID associated with the merchant messagestring Profile Data Exits when the profile is foundStatusUserinteger 1 if the merchant is active; 0 otherwise
JSON
{
"code": 400,
"status": false,
"message": "Please Enter newUserId"
}
statusMeaning Typical cause trueSuccess Profile found and details returned falseError Required field newUserId missing from the request
Generate or retrieve the App ID and App Key for a specific terminal.
JSON
{
"status": "OK",
"message": "App Key already associated with EPI",
"code": 200,
"data": {
"epi": "2319930907",
"Mp_Id": 43019,
"UserId": 70979,
"device_model": "Virtual Terminal",
"device_name": "Virtual Terminal",
"appkey": "I8GMof******vyVkl",
"appid": "XFsxjryY******jh62shr"
}
}
Field Type Description statusstring OK on successmessagestring Informational message. App Key already associated with EPI if keys existed codeinteger HTTP status code (200) dataobject API key details
Field Type Description epistring Terminal EPI identifier Mp_Idinteger Merchant portal ID UserIdinteger User ID of the merchant device_modelstring Device model description device_namestring Terminal display name appkeystring Partially masked App Key for this terminal appidstring Partially masked App ID for this merchant
JSON
{
"code": 400,
"status": "FAILED",
"message": "Invalid Epi"
}
statusMeaning Typical cause OKSuccess API keys generated or retrieved FAILEDError EPI is invalid or not found
Update the active or inactive status of a terminal.
JSON
{
"status": true,
"message": "Success",
"code": 200,
"data": "Device is already in active status."
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200) datastring Informational outcome message
JSON
{
"code": 400,
"status": false,
"message": "Invalid Epi"
}
statusMeaning Typical cause trueSuccess (or no-op) Status updated, or EPI was already in the requested state falseError EPI is invalid or not found
Retrieve the App ID and App Keys for all terminals under a merchant.
JSON
{
"status": true,
"message": "Success",
"code": 200,
"data": {
"APP_ID": "XFsx********jh62shr",
"devices": [
{
"EPI": "2319930907",
"DEVICE_NAME": "Virtual Terminal",
"DEVICE_TYPE": "Virtual Terminal",
"APP_KEY": "I8GMo********R3RMyvyVkl"
}
]
}
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200) dataobject App credentials object
Field Type Description APP_IDstring Partially masked App ID shared across all terminals devicesarray Array of device credential objects
Field Type Description EPIstring Terminal EPI identifier DEVICE_NAMEstring Terminal display name DEVICE_TYPEstring Terminal type description APP_KEYstring Partially masked App Key unique to this terminal
JSON
{
"code": 400,
"status": false,
"message": "You are Not Authorized"
}
statusMeaning Typical cause trueSuccess App ID and keys returned falseError Authenticated user is not authorised to access this data
Update an existing support ticket as a merchant user.
JSON
{
"code": 200,
"status": true,
"message": "Ticket Updated Successfully."
}
Field Type Description codeinteger HTTP status code (200) statusboolean true on successmessagestring Ticket Updated Successfully. on success
JSON
{
"code": 400,
"status": false,
"message": "You are not authorized to update tickets."
}
statusMeaning Typical cause trueSuccess Ticket updated falseError User does not have permission to update this ticket
Retrieve the billing statement for an ISO, including per-merchant fee details and aggregate summary.
JSON
{
"status": true,
"message": "Success",
"code": 200,
"result": {
"iso_billing_report": [
{
"dba_name": "Valor Store LLC",
"mp_id": 29156,
"email_id": "ab*****ech.com",
"basic_portal_store": "1",
"basic_portal_store_fee": "100.00",
"vt_txn_count": "0",
"vt_per_txn_fee": "0.15",
"sim_count": "0",
"sim_fee": "1.50",
"sms_count": "0",
"sms_fee": "2.00",
"price": "100.00"
}
],
"iso_billing_summary": [
{
"user_id": 52323,
"cust_id": 10914,
"store_count": "932",
"merchant_count": "914",
"sms_count": "0",
"sim_count": "0",
"net_volume": "93200.00"
}
]
}
}
Field Type Description statusboolean true on successmessagestring Success on successcodeinteger HTTP status code (200) resultobject Billing data containing iso_billing_report and iso_billing_summary
Field Type Description dba_namestring Merchant DBA name mp_idinteger Merchant portal ID email_idstring Merchant contact email (may be partially masked) basic_portal_storestring Number of portal stores billed basic_portal_store_feestring Fee charged per portal store vt_txn_countstring Number of virtual terminal transactions vt_per_txn_feestring Fee per virtual terminal transaction sim_countstring Number of SIM devices sim_feestring Fee per SIM device sms_countstring Number of SMS messages sent sms_feestring Fee per SMS message pricestring Total billed amount for this merchant
Field Type Description user_idinteger ISO user ID cust_idinteger ISO customer ID store_countstring Total number of stores across all merchants merchant_countstring Total number of merchants under this ISO sms_countstring Total SMS messages sent sim_countstring Total SIM devices net_volumestring Total billing volume in decimal format
JSON
{
"code": 400,
"status": "FAILED",
"message": "Invalid year. Please provide a valid year in YYYY format"
}
statusMeaning Typical cause trueSuccess Billing statement returned FAILEDError Year parameter is missing or not in YYYY format
Create an operator user account under an ISO.
JSON
{
"status": 1,
"message": "Success",
"code": 200,
"status_desc": "ISO operator Boarding successfull.",
"user_id": 195038
}
Field Type Description statusinteger 1 on successmessagestring Success on successcodeinteger HTTP status code (200) status_descstring Detailed confirmation message user_idinteger Unique user ID assigned to the new ISO operator
JSON
{
"code": 400,
"status": "FAILED",
"message": "UserName already exsists."
}
statusMeaning Typical cause 1Success ISO operator created FAILEDError Username already exists
Trigger a bulk update of differential settings across multiple terminals.
JSON
{
"code": 200,
"status": "SUCCESS",
"desc": "Differential Setting submitted successfully. You'll be notified by email once processing is complete"
}
Field Type Description codeinteger HTTP status code (200) statusstring SUCCESS on successdescstring Confirmation message. Email notification will be sent when processing completes
JSON
{
"code": 400,
"status": "FAILED",
"message": "Differential setting is already in progress. You'll be notified by email once it's complete."
}
statusMeaning Typical cause SUCCESSSuccess Bulk update submitted FAILEDError A differential setting update is already running
Onboard a new merchant with multiple MID (merchant ID) configurations.
JSON
{
"status": true,
"message": "User Added Successfully",
"code": 200,
"storeInfo": {
"154703": [
"2319977764"
]
},
"mpId": 140390,
"newUserId": 195041
}
Field Type Description statusboolean true on successmessagestring User Added Successfully on successcodeinteger HTTP status code (200) storeInfoobject Map of store ID to associated EPI numbers mpIdinteger Unique merchant portal ID assigned to the new merchant newUserIdinteger Unique user ID assigned to the new merchant account
JSON
{
"code": 400,
"status": false,
"message": "ErrorMessage: User Name already exist in child userList"
}
statusMeaning Typical cause trueSuccess Multi-MID merchant created falseError Username already exists under this hierarchy
Update the details of an existing Multi-MID merchant.
JSON
{
"status": true,
"message": "User Updated Successfully",
"code": 200,
"storeInfo": {
"154703": [
"2319977764"
]
},
"mpId": 140390,
"newUserId": 195041
}
Field Type Description statusboolean true on successmessagestring User Updated Successfully on successcodeinteger HTTP status code (200) storeInfoobject Map of store ID to associated EPI numbers mpIdinteger Merchant portal ID newUserIdinteger User ID of the merchant
JSON
{
"code": 400,
"status": false,
"message": "User Name already exist in child userList"
}
statusMeaning Typical cause trueSuccess Merchant info updated falseError Username already exists in the child hierarchy
Update a store under a Multi-MID merchant configuration.
JSON
{
"status": true,
"message": "Merchant Store Updated Successfully",
"code": 200,
"storeInfo": {
"154703": [
"2319977764"
]
},
"mpId": 140390,
"newUserId": 195041
}
Field Type Description statusboolean true on successmessagestring Merchant Store Updated Successfully on successcodeinteger HTTP status code (200) storeInfoobject Map of store ID to associated EPI numbers mpIdinteger Merchant portal ID newUserIdinteger User ID of the merchant
JSON
{
"code": 400,
"status": "FAILED",
"message": "Invalid User"
}
statusMeaning Typical cause trueSuccess Store updated FAILEDError User credentials are invalid
Update the EPI data for a child terminal in a Multi-MID configuration.
JSON
{
"status": true,
"message": "Child EpiData details updated successfully"
}
Field Type Description statusboolean true on successmessagestring Child EpiData details updated successfully on success
JSON
{
"code": 400,
"status": "FAILED",
"message": "Invalid User"
}
statusMeaning Typical cause trueSuccess Child EPI data updated FAILEDError User credentials are invalid
Update the EPI data for the parent terminal in a Multi-MID configuration.
JSON
{
"status": true,
"message": "Parent EpiData details updated successfully"
}
Field Type Description statusboolean true on successmessagestring Parent EpiData details updated successfully on success
JSON
{
"code": 400,
"status": "FAILED",
"message": "Invalid User"
}
statusMeaning Typical cause trueSuccess Parent EPI data updated FAILEDError User credentials are invalid
Update the module list configuration for a Multi-MID merchant.
JSON
{
"status": true,
"message": "Merchant ModuleList details updated successfully"
}
Field Type Description statusboolean true on successmessagestring Merchant ModuleList details updated successfully on success
JSON
{
"code": 400,
"status": "FAILED",
"message": "Invalid User"
}
statusMeaning Typical cause trueSuccess Module list updated FAILEDError User credentials are invalid
Retrieve the full parameter configuration for a specific terminal.
JSON
{
"status": true,
"message": "Epi parameter Fetch successfully",
"code": 200,
"result": {
"tip_enabled": "0",
"tip_on_screen": false,
"tip_options": ["15", "20", "22", "25"],
"max_tip_percentage": "350",
"custom_fee_enabled": "1",
"card_type": "All Cards",
"surcharge_label": "Surcharge",
"surcharge": "4.000",
"tax_enabled": "0",
"state_tax": "0.600",
"federal_tax": "6.000",
"avs": "NONE",
"duplicate_transaction_check": "None",
"duplicate_transaction_action": "Decline Duplicate Transaction",
"partial_approval": false,
"enable_l2": false,
"descriptor_enabled": false,
"descriptor_label": "Valor Store LLC",
"batch_out_enabled": false,
"batch_out_timer": "00:00 AM",
"header_one": "EL TRI MX RESTA Add",
"header_two": "4100 JOHNSTON ST",
"header_three": "LAFAYETTE LA 70503",
"header_four": "337-704-0344",
"footer_one": "Thank You",
"disclaimer_one": "Cardholder acknowledges",
"enable_disclaimer": true,
"email_settlement_report": true,
"password_for_refund_enabled": false,
"password_for_refund_amount": "100",
"max_limit_per_attempt": "1000",
"max_limit_per_day": "5000"
}
}
Field Type Description statusboolean true on successmessagestring Epi parameter Fetch successfully on successcodeinteger HTTP status code (200) resultobject Full device parameter configuration (see below)
Field Type Description tip_enabledstring 1 if tip collection is enabled; 0 otherwisetip_on_screenboolean true if tip prompt is shown on screentip_optionsarray List of preset tip percentage options max_tip_percentagestring Maximum tip adjustment percentage custom_fee_enabledstring 1 if custom fee is enabled; 0 otherwisecard_typestring Card types subject to the custom fee (e.g. All Cards) surcharge_labelstring Display label for the surcharge surchargestring Surcharge percentage value tax_enabledstring 1 if tax is enabled; 0 otherwisestate_taxstring State tax percentage federal_taxstring Federal tax percentage avsstring AVS check setting (e.g. NONE, BASIC) duplicate_transaction_checkstring Duplicate transaction check window (e.g. None, 60 Minutes) duplicate_transaction_actionstring Action on duplicate detection partial_approvalboolean true if partial approval is enabledenable_l2boolean true if Level 2 data collection is enableddescriptor_enabledboolean true if dynamic descriptor is enableddescriptor_labelstring Descriptor text displayed on cardholder statements batch_out_enabledboolean true if automatic batch-out is enabledbatch_out_timerstring Scheduled batch-out time header_one through header_sevenstring Receipt header lines footer_onestring Receipt footer line disclaimer_one through disclaimer_fivestring Receipt disclaimer lines enable_disclaimerboolean true if disclaimer is printed on receiptsemail_settlement_reportboolean true if settlement report is emailedpassword_for_refund_enabledboolean true if a password is required for refundspassword_for_refund_amountstring Refund amount threshold above which a password is required max_limit_per_attemptstring Maximum transaction amount per attempt in dollars max_limit_per_daystring Maximum total transaction amount per day in dollars server_clerk_setupboolean true if server/clerk tracking is enableddonationsboolean true if donation prompts are enabledcharity_namestring Name of the charity for donation prompts customer_satisfaction_surveyboolean true if post-transaction survey is enabledavs_for_einvoiceboolean true if AVS check is applied to e-invoice transactionsgenerate_otp_paynow_linkboolean true if OTP is required for Pay Now linksadditional_input_enabledboolean true if additional custom input fields are enabledadditional_inputarray List of configured additional input field definitions
Note: The result object also contains up to 25 present_on_customer_receipt_N boolean fields (1–25) controlling which additional data labels appear on customer receipts, as well as several disable_*_copy_* flags for controlling receipt delivery by email and SMS.
JSON
{
"message": "Epi is not available for this user"
}
Note: This error response returns only a message field with no status or code.
Response shape Meaning Typical cause status: trueSuccess Device parameters returned {"message": "..."}Error EPI does not belong to the authenticated user
Retrieve the POS menu configuration for a terminal, including all payment method categories and their enabled transaction sub-types.
JSON
{
"status": true,
"message": "SUCCESS",
"code": 200,
"data": [
{
"label": "CREDIT",
"is_enabled": true,
"sub_menu": [
{ "label": "SALE", "is_enabled": true },
{ "label": "VOID", "is_enabled": true },
{ "label": "PREAUTH", "is_enabled": true },
{ "label": "TICKET", "is_enabled": false },
{ "label": "REFUND", "is_enabled": true },
{ "label": "PRESALE", "is_enabled": true },
{ "label": "POSTAUTH", "is_enabled": true }
]
},
{
"label": "DEBIT",
"is_enabled": true,
"sub_menu": [
{ "label": "SALE", "is_enabled": true },
{ "label": "REFUND", "is_enabled": false }
]
},
{
"label": "EBT FOOD",
"is_enabled": true,
"sub_menu": [
{ "label": "SALE", "is_enabled": true },
{ "label": "V SALE", "is_enabled": false },
{ "label": "REFUND", "is_enabled": false },
{ "label": "BALANCE", "is_enabled": false }
]
},
{
"label": "EBT CASH",
"is_enabled": true,
"sub_menu": [
{ "label": "SALE", "is_enabled": true },
{ "label": "BALANCE", "is_enabled": false },
{ "label": "W DRAWL", "is_enabled": false }
]
},
{
"label": "CASH",
"is_enabled": true,
"sub_menu": [
{ "label": "SALE", "is_enabled": true },
{ "label": "REFUND", "is_enabled": false }
]
},
{
"label": "VAULT",
"is_enabled": false,
"sub_menu": [
{ "label": "ADD CARD", "is_enabled": false }
]
}
]
}
Field Type Description statusboolean true on successmessagestring SUCCESS on successcodeinteger HTTP status code (200) dataarray Array of menu category objects
Field Type Description labelstring Payment method category name (e.g. CREDIT, DEBIT, EBT FOOD) is_enabledboolean true if this payment method category is enabled on the POSsub_menuarray Array of transaction type objects available under this category (see below)
Field Type Description labelstring Transaction type name (e.g. SALE, VOID, REFUND) is_enabledboolean true if this transaction type is enabled for the parent category
Category Available sub-menu items CREDITSALE, VOID, PREAUTH, TICKET, REFUND, PRESALE, POSTAUTHDEBITSALE, REFUNDEBT FOODSALE, V SALE, REFUND, BALANCEEBT CASHSALE, BALANCE, W DRAWLCASHSALE, REFUNDVAULTADD CARD
Note: A category with is_enabled: false hides the entire payment method from the POS, regardless of individual sub-menu settings. A sub-menu item with is_enabled: false is hidden from the operator but remains configured on the terminal.
JSON
{
"code": 400,
"status": "FAILED",
"message": "Not authorized to access this POS menu config."
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processedmessagestring Human-readable error message
statusMeaning Typical cause trueSuccess POS menu configuration returned FAILEDAuthorization error The authenticated user does not have permission to access this terminal's POS menu configuration
Update the enabled/disabled state of payment method categories and their transaction sub-types on a terminal's POS menu.
JSON
{
"status": true,
"message": "POS menu configuration updated successfully",
"code": 200
}
Field Type Description statusboolean true on successmessagestring POS menu configuration updated successfully on successcodeinteger HTTP status code (200)
JSON
{
"code": 400,
"status": "FAILED",
"message": "The menu label 'GIFT' is not valid."
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processedmessagestring Human-readable error message identifying the invalid label
statusMeaning Typical cause trueSuccess POS menu configuration updated FAILEDValidation error A menu label value in the request is not a recognised POS menu category or sub-menu item