Create a new customer profile in the vault.
JSON
{
"code": 201,
"status": "OK",
"vault_customer_id": 100864
}
Field Type Description codeinteger HTTP status code (201) statusstring OK on successvault_customer_idinteger Unique identifier for the newly created customer profile
JSON
{
"code": 400,
"status": "FAILED",
"errors": [
"data must have required property 'customer_name'"
]
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processederrorsarray List of validation error messages
statusMeaning Typical cause OKSuccess Customer profile created FAILEDValidation error Required field customer_name is missing from the request
Add a card payment profile to an existing customer vault record.
JSON
{
"code": 201,
"status": "OK",
"payment_id": 97555
}
Field Type Description codeinteger HTTP status code (201) statusstring OK on successpayment_idinteger Unique identifier for the newly created payment profile
JSON
{
"code": 400,
"status": "FAILED",
"errors": [
"Customer not exist"
]
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processederrorsarray List of validation error messages
statusMeaning Typical cause OKSuccess Payment profile created FAILEDValidation error Customer ID does not exist in the vault
Add a bank account (ACH) profile to an existing customer vault record.
JSON
{
"code": 200,
"status": "SUCCESS",
"ach_profile_id": 2290
}
Field Type Description codeinteger HTTP status code (200) statusstring SUCCESS on successach_profile_idinteger Unique identifier for the newly created ACH profile
JSON
{
"code": 400,
"status": "FAILED",
"errors": "Missing required field(s): account_number"
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processederrorsstring Error message describing the missing or invalid field
Note: Unlike most endpoints where errors is an array, this endpoint returns errors as a plain string.
statusMeaning Typical cause SUCCESSSuccess ACH profile created FAILEDValidation error Required field account_number is missing from the request
Add a card payment profile to a customer vault record using an existing card token instead of raw card details.
JSON
{
"code": 201,
"status": "OK",
"payment_id": 97555
}
Field Type Description codeinteger HTTP status code (201) statusstring OK on successpayment_idinteger Unique identifier for the newly created payment profile
JSON
{
"status": "FAILED",
"errors": [
"Invalid Token"
]
}
Field Type Description statusstring FAILED when the request cannot be processederrorsarray List of validation error messages
Note: This error response does not include a code field.
statusMeaning Typical cause OKSuccess Payment profile created from token FAILEDValidation error Token is invalid, expired, or not found
Update the details of an existing customer vault profile.
JSON
{
"code": 200,
"status": "OK",
"vault_customer_id": 100864
}
Field Type Description codeinteger HTTP status code (200) statusstring OK on successvault_customer_idinteger Identifier of the updated customer profile
JSON
{
"code": 400,
"status": "FAILED",
"errors": [
"data/customer_phone Enter a valid Phone Number"
]
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processederrorsarray List of validation error messages
statusMeaning Typical cause OKSuccess Customer profile updated FAILEDValidation error customer_phone is not a valid phone number format
Retrieve a paginated list of transactions linked to a vault customer profile, filtered by date range.
JSON
{
"code": 200,
"status": "OK",
"message": "SUCCESS",
"data": [
{
"txn_id": 10176309,
"epi_id": "2319916062",
"txn_type": "SALE",
"total_amount": 103,
"base_amount": 100,
"batch_no": "185",
"card_holder_name": "Sheila Mitch",
"card_scheme": "Visa",
"city_tax_amount": 0,
"custom_fee_amount": 0,
"epi": "2319916062",
"food_amount": 0,
"masked_card_no": "4111 XXXX XXXX 1111",
"reduced_tax_amount": 0,
"request_date": "03/25/2026",
"request_time": "02:22:37",
"rrn": "608406501192",
"state_tax_amount": 3,
"surcharge_fee_amount": 0,
"surcharge_label": "Adjustment",
"invoicenumber": "",
"orderdescription": "",
"phone": "6129160161",
"email": "[email protected] ",
"subscription_id": "",
"company_name": "",
"tran_no": 1,
"stan_no": "689251",
"card_type": "DEBIT",
"approval_code": "TAS318",
"response_code": "00",
"switch_response_code": "00",
"display_message": "",
"tip_adjusted_count": 0,
"is_voided": 0,
"is_reversed": 0,
"is_auth_completed": 0,
"is_settled": 0,
"settled_at": "2026-03-25T06:22:37.000Z",
"is_offline_approved": 0,
"is_partial_approved": 0,
"addtl_data_label1": "Clerk ID",
"addtl_data_value1": "",
"addtl_data_label2": "",
"addtl_data_value2": "",
"timezone": "EST",
"refunded_count": 0,
"processor_name": "TSYS Sierra",
"transactions_status": "Approved"
}
],
"total_count": 1,
"limit": 25,
"offset": 0
}
Field Type Description codeinteger HTTP status code (200) statusstring OK on successmessagestring SUCCESS on successdataarray Array of transaction objects total_countinteger Total number of matching transactions limitinteger Maximum number of records returned per page offsetinteger Pagination offset (starting record index)
Field Type Description txn_idinteger Unique transaction identifier epi_idstring Terminal / EPI identifier txn_typestring Transaction type (e.g. SALE, REFUND, VOID) total_amountnumber Total charged amount in cents base_amountnumber Base transaction amount in cents (excluding fees and taxes) batch_nostring Settlement batch number card_holder_namestring Name on the card card_schemestring Card network (e.g. Visa, Mastercard) city_tax_amountnumber City tax amount in cents custom_fee_amountnumber Custom fee amount in cents epistring Merchant terminal / EPI identifier food_amountnumber Food amount in cents, if applicable masked_card_nostring Masked card number (e.g. 4111 XXXX XXXX 1111) reduced_tax_amountnumber Reduced tax amount in cents, if applicable request_datestring Transaction date in MM/DD/YYYY format request_timestring Transaction time in HH:MM:SS format rrnstring Retrieval reference number state_tax_amountnumber State tax amount in cents surcharge_fee_amountnumber Surcharge fee amount in cents surcharge_labelstring Display label for the surcharge invoicenumberstring Merchant-supplied invoice reference, if provided orderdescriptionstring Order or item description, if provided phonestring Cardholder phone number, if provided emailstring Cardholder email address, if provided subscription_idstring Subscription identifier, if this transaction is part of a subscription company_namestring Company name, if provided tran_nointeger Sequential transaction number within the batch stan_nostring System trace audit number card_typestring Card type (e.g. DEBIT, CREDIT) approval_codestring Issuer-returned authorization code response_codestring Gateway response code. 00 = approved switch_response_codestring Switch-level response code display_messagestring Display message from the processor, if any tip_adjusted_countinteger Number of tip adjustments made on this transaction is_voidedinteger 1 if voided; 0 otherwiseis_reversedinteger 1 if reversed; 0 otherwiseis_auth_completedinteger 1 if auth has been captured; 0 otherwiseis_settledinteger 1 if settled; 0 if pending settlementsettled_atstring Settlement timestamp (ISO 8601) is_offline_approvedinteger 1 if approved offline; 0 otherwiseis_partial_approvedinteger 1 if partially approved; 0 for full approvaladdtl_data_label1string Additional data label 1 addtl_data_value1string Additional data value 1 addtl_data_label2string Additional data label 2 addtl_data_value2string Additional data value 2 timezonestring Timezone of the terminal (e.g. EST) refunded_countinteger Number of refunds issued against this transaction processor_namestring Name of the payment processor (e.g. TSYS Sierra) transactions_statusstring Transaction status (e.g. Approved, Declined)
JSON
{
"status": "FAILED",
"errors": [
"Vault customer ID does not exist."
]
}
Field Type Description statusstring FAILED when the request cannot be processederrorsarray List of validation error messages
statusMeaning Typical cause OKSuccess Transaction records returned FAILEDValidation error Vault customer ID not found
Update the card details of an existing payment profile in the vault.
JSON
{
"code": 200,
"status": "OK",
"payment_id": 97555
}
Field Type Description codeinteger HTTP status code (200) statusstring OK on successpayment_idinteger Identifier of the updated payment profile
JSON
{
"status": "FAILED",
"errors": [
"Please provide a valid payment profile ID."
]
}
Field Type Description statusstring FAILED when the request cannot be processederrorsarray List of validation error messages
statusMeaning Typical cause OKSuccess Payment profile updated FAILEDValidation error Payment profile ID is invalid or not found
Link an existing transaction to a vault customer profile by creating a payment profile from the transaction's card data.
JSON
{
"code": 201,
"status": "OK",
"payment_id": 97558
}
Field Type Description codeinteger HTTP status code (201) statusstring OK on successpayment_idinteger Unique identifier for the payment profile created from the mapped transaction
JSON
{
"status": "FAILED",
"errors": [
"Reference transaction ID missing"
]
}
Field Type Description statusstring FAILED when the request cannot be processederrorsarray List of validation error messages
statusMeaning Typical cause OKSuccess Transaction mapped and payment profile created FAILEDValidation error Reference transaction ID was not provided in the request
Update the bank account details of an existing ACH profile in the vault.
JSON
{
"code": 200,
"status": "SUCCESS",
"ach_profile_id": "2290"
}
Field Type Description codeinteger HTTP status code (200) statusstring SUCCESS on successach_profile_idstring Identifier of the updated ACH profile
JSON
{
"code": 400,
"status": "FAILED",
"errors": "No changes detected. ACH profile already contains the same information"
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processederrorsstring Error message describing the reason for failure
Note: errors is returned as a plain string for this endpoint, not an array.
statusMeaning Typical cause SUCCESSSuccess ACH profile updated FAILEDValidation error The submitted data is identical to the existing ACH profile — no changes to apply
Update the status or metadata of an existing payment profile.
JSON
{
"code": 200,
"status": "OK",
"message": "Success"
}
Field Type Description codeinteger HTTP status code (200) statusstring OK on successmessagestring Success on success
JSON
{
"status": "FAILED",
"errors": [
"data must have required property 'status'"
]
}
Field Type Description statusstring FAILED when the request cannot be processederrorsarray List of validation error messages
statusMeaning Typical cause OKSuccess Payment profile updated FAILEDValidation error Required field status is missing from the request
Retrieve the full profile details for a single vault customer, including address information.
JSON
{
"code": 200,
"status": "OK",
"message": "Success",
"data": {
"id": 100867,
"customer_name": "Melvin",
"email": "[email protected] ",
"phone": "6129160161",
"company": "Home Centers",
"total_card_count": 0,
"address_details": [
{
"address_id": 154246,
"address_label": "Home",
"billing_customer_name": "Catherine P. Elliott",
"billing_street_no": "2629",
"billing_street_name": "Rocket Drive",
"billing_unit": "56",
"billing_zip": "55427",
"billing_city": "Golden Valley",
"billing_state": "MN",
"shipping_customer_name": "Carolina M. Morris",
"shipping_street_no": "1650",
"shipping_street_name": "Chicago Avenue",
"shipping_unit": "56",
"shipping_zip": "93721",
"shipping_city": "Fresno",
"shipping_state": "CA"
}
]
}
}
Field Type Description codeinteger HTTP status code (200) statusstring OK on successmessagestring Success on successdataobject Customer profile object
Field Type Description idinteger Unique vault customer ID customer_namestring Customer's full name emailstring Customer email address phonestring Customer phone number companystring Company name, if provided total_card_countinteger Number of payment profiles linked to this customer address_detailsarray List of saved address records (see below)
Field Type Description address_idinteger Unique identifier for this address record address_labelstring Label for the address (e.g. Home, Work) billing_customer_namestring Name on the billing address billing_street_nostring Billing street number billing_street_namestring Billing street name billing_unitstring Billing unit or apartment number, if applicable billing_zipstring Billing ZIP code billing_citystring Billing city billing_statestring Billing state (2-letter code) shipping_customer_namestring Name on the shipping address shipping_street_nostring Shipping street number shipping_street_namestring Shipping street name shipping_unitstring Shipping unit or apartment number, if applicable shipping_zipstring Shipping ZIP code shipping_citystring Shipping city shipping_statestring Shipping state (2-letter code)
JSON
{
"code": 400,
"status": "FAILED",
"errors": [
"Customer not exist"
]
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processederrorsarray List of validation error messages
statusMeaning Typical cause OKSuccess Customer profile returned FAILEDValidation error Customer ID does not exist in the vault
Retrieve all card payment profiles linked to a vault customer.
JSON
{
"code": 200,
"status": "OK",
"message": "Success",
"data": [
{
"payment_id": 97555,
"masked_pan": "XXXX1111",
"token": "416B4ED27B1700DFC5769D3B70C36DF3A0C5FFB6",
"card_type": "D",
"card_brand": "Visa",
"cardholder_name": "Sheila Mitch",
"status": "active"
}
]
}
Field Type Description codeinteger HTTP status code (200) statusstring OK on successmessagestring Success on successdataarray Array of payment profile objects
Field Type Description payment_idinteger Unique identifier for this payment profile masked_panstring Masked card number — last 4 digits shown (e.g. XXXX1111) tokenstring Card token associated with this profile card_typestring Card type — D = Debit, C = Credit card_brandstring Card network (e.g. Visa, Mastercard) cardholder_namestring Name on the card statusstring Profile status (e.g. active, inactive)
JSON
{
"status": false,
"code": "400",
"message": "Not a valid APP ID or APP Key."
}
Field Type Description statusboolean false when authentication failscodestring HTTP status code as a string ("400") messagestring Error message
Note: This error response uses a different shape — status is a boolean false and code is a string rather than an integer. This indicates an authentication error rather than a data validation error.
statusMeaning Typical cause OKSuccess Payment profiles returned falseAuthentication error App ID or App Key is invalid
Retrieve all ACH (bank account) profiles linked to a vault customer.
JSON
{
"code": 200,
"status": "SUCCESS",
"data": [
{
"ach_profile_id": 2290,
"account_number": "XXXX0510",
"routing_number": "XXXX0021",
"payee_name": "John",
"account_type": "C",
"entry_class": "Business"
}
]
}
Field Type Description codeinteger HTTP status code (200) statusstring SUCCESS on successdataarray Array of ACH profile objects
Field Type Description ach_profile_idinteger Unique identifier for this ACH profile account_numberstring Masked bank account number — last 4 digits shown (e.g. XXXX0510) routing_numberstring Masked bank routing number — last 4 digits shown (e.g. XXXX0021) payee_namestring Name of the account holder account_typestring Account type — C = Checking, S = Savings entry_classstring ACH entry class (e.g. Business, Personal)
JSON
{
"code": 400,
"status": "FAILED",
"errors": "Customer not exist"
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processederrorsstring Error message describing the reason for failure
Note: errors is returned as a plain string for this endpoint, not an array.
statusMeaning Typical cause SUCCESSSuccess ACH profiles returned FAILEDValidation error Customer ID does not exist in the vault
Retrieve a paginated list of vault customer profiles.
JSON
{
"code": 200,
"status": "OK",
"message": "Success",
"data": {
"customers": [
{
"vault_id": 100867,
"customer_name": "Melvin",
"email": "[email protected] ",
"phone": "6129160161",
"company": "Home Centers",
"total_card_count": 0,
"total_recursive_billing": 0,
"transaction_count": 0,
"last_txn_date": null
}
]
},
"number_of_records": 1,
"page_number": 1,
"total_pages": 61,
"total_count": 61,
"page_size": 1
}
Field Type Description codeinteger HTTP status code (200) statusstring OK on successmessagestring Success on successdataobject Contains the customers array number_of_recordsinteger Number of customer records returned on this page page_numberinteger Current page number total_pagesinteger Total number of pages available total_countinteger Total number of vault customers page_sizeinteger Number of records per page
Field Type Description vault_idinteger Unique vault customer identifier customer_namestring Customer's full name emailstring Customer email address phonestring Customer phone number companystring Company name, if provided total_card_countinteger Number of card payment profiles linked to this customer total_recursive_billinginteger Number of active recurring billing schedules linked to this customer transaction_countinteger Total number of transactions associated with this customer last_txn_datestring | null Date of the most recent transaction; null if no transactions on record
JSON
{
"status": false,
"code": "400",
"message": "Please provide a valid APP ID or APP Key."
}
Field Type Description statusboolean false when authentication failscodestring HTTP status code as a string ("400") messagestring Error message
Note: This error response uses a different shape — status is a boolean false and code is a string. This indicates an authentication error rather than a data validation error.
statusMeaning Typical cause OKSuccess Customer list returned falseAuthentication error App ID or App Key is invalid or not provided
Remove an ACH profile from a customer vault record.
JSON
{
"code": 200,
"status": "SUCCESS",
"ach_profile_id": "2290"
}
Field Type Description codeinteger HTTP status code (200) statusstring SUCCESS on successach_profile_idstring Identifier of the deleted ACH profile
JSON
{
"code": 400,
"status": "FAILED",
"errors": "ACH profile ID does not exist"
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processederrorsstring Error message describing the reason for failure
Note: errors is returned as a plain string for this endpoint, not an array.
statusMeaning Typical cause SUCCESSSuccess ACH profile deleted FAILEDValidation error ACH profile ID not found
Remove a saved address from a customer vault profile.
JSON
{
"code": 200,
"status": "OK",
"message": "Success"
}
Field Type Description codeinteger HTTP status code (200) statusstring OK on successmessagestring Success on success
JSON
{
"code": 400,
"status": "FAILED",
"errors": [
"Unable to delete the address."
]
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processederrorsarray List of validation error messages
statusMeaning Typical cause OKSuccess Customer address deleted FAILEDValidation error Address ID not found or address cannot be deleted
Permanently remove a customer profile and all associated data from the vault.
JSON
{
"code": 200,
"status": "OK",
"message": "Success"
}
Field Type Description codeinteger HTTP status code (200) statusstring OK on successmessagestring Success on success
JSON
{
"code": 400,
"status": "FAILED",
"errors": [
"Customer not exist"
]
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processederrorsarray List of validation error messages
statusMeaning Typical cause OKSuccess Customer profile deleted FAILEDValidation error Customer ID does not exist in the vault
Remove a card payment profile from a customer vault record.
JSON
{
"code": 200,
"status": "OK",
"message": "Success"
}
Field Type Description codeinteger HTTP status code (200) statusstring OK on successmessagestring Success on success
JSON
{
"code": 400,
"status": "FAILED",
"errors": [
"Unable to delete the payment profile"
]
}
Field Type Description codeinteger HTTP status code (400) statusstring FAILED when the request cannot be processederrorsarray List of validation error messages
statusMeaning Typical cause OKSuccess Payment profile deleted FAILEDValidation error Payment profile ID not found or cannot be deleted