Skip to main content

How responses are structured

The API returns errors in two general shapes: Validation errors (400) — a top-level errors object keyed by field name:
{
  "errors": {
    "data.phone": ["The data.phone field is required."]
  }
}
Message errors — a message string, either at the top level or nested under data:
{ "data": { "message": "Permission Denied." } }
Success responses (200/201) — a data object or array containing the resource, or a confirmation message for actions like void, refund, and delete.
Message placement is inconsistent across endpoints — sometimes message, sometimes data.message. Error wording also varies slightly between endpoints. The tables below reflect the API exactly as documented.

Common messages

These appear across multiple endpoints.
MessageStatusMeaning
Permission Denied. / Permission denied401 / 403The API key does not have permission for this endpoint
Unauthorized401Token is unauthorized for the request
Not associated with affiliate401The token is not associated with your affiliate
User not associated with the affiliate.401User-level permission issue
Merchant not associated with affiliate.401The merchant is not linked to your affiliate
Merchant or Affiliate check failed401Merchant/affiliate authorization check failed
No such Merchant / Merchant not found400 / 404The sid does not match an accessible merchant
Validation errors400One or more body parameters failed validation

Merchant Management

List Merchants GET /api/merchant/list

StatusScenarioResponse
200Successdata array of merchant objects
400Failed validationerrors object, e.g. The filters.start_date field must be a valid date.
401Bad API keyPermission Denied.

Show Merchant GET /api/merchant/show

StatusScenarioResponse
200Successdata object with merchant details
400Failed validationerrors object
401Bad API keyPermission Denied.

Create Merchant POST /api/merchant/create

StatusScenarioResponse
200Successdata object with new merchant
400Failed validationerrors object, e.g. The data.phone field is required.
400Merchant not createdSomething went wrong: contact Dime Payments Rep
401Bad API keyPermission Denied.

Update Merchant PATCH /api/merchant/update

StatusScenarioResponse
200Successdata object with updated merchant
400Failed validationerrors object
400Merchant not updatedSomething went wrong: contact Dime Payments Rep
401Bad API keyPermission Denied.
StatusScenarioResponse
200Successdata.link — secure application URL (expires in 48 hours)
400Failed validationerrors object, e.g. The data.sid field is required.
401Bad API keyPermission Denied.

Transaction Management

List Transactions GET /api/transactions

StatusScenarioResponse
200Successdata array of transaction objects
400Failed validationerrors object
401Token unauthorizedPermission Denied.
401Invalid affiliate authorizationUnauthorized
401Invalid affiliate associationNot associated with affiliate
404Invalid sidNo such Merchant

Charge a Credit Card POST /api/transaction/charge-card

StatusScenarioResponse
200Approveddata object — transaction_status: Success, status_code: 00, status_text: APPROVAL
400Failed validationerrors object, e.g. The sid is required.
400Declineddata object — transaction_status: Failed, status_code: 05, status_text: DECLINE
403Bad API keyPermission Denied.
status_code and status_text are passed through from the processor. 00 / APPROVAL and 05 / DECLINE are the most common but other processor codes are possible.

Charge a Bank Account (ACH) POST /api/transaction/charge-ach

StatusScenarioResponse
200Successdata object — transaction_status: Success, status_code: 00
400Failed validationerrors object, e.g. The data.amount field is required.
401Token unauthorizedPermission Denied.
401Invalid affiliate authorizationUnauthorized
401Invalid affiliate associationNot associated with affiliate
404Invalid sidNo such Merchant

Tokenize a Credit Card POST /api/transaction/tokenize-card

StatusScenarioResponse
200Successdata.token
400Failed validationerrors object, e.g. The card number must be a number.
400Card verification failedValidation of card failed.
401Bad API keyPermission Denied.

Show Transaction GET /api/transaction

StatusScenarioResponse
200Successdata object with transaction details
400Failed validationerrors object
401Bad API keyPermission Denied.
401User permission issueUser not associated with the affiliate.
404Not foundNo transaction found

Refund Transaction POST /api/transaction/refund

StatusScenarioResponse
200Successrefund
400Failed validationerrors object
400Merchant not foundNo such Merchant
400Refund failedError processing refund
400Unsupported processorUnsupported processor.
401Bad API keyPermission Denied.

Void Transaction PATCH /api/transaction/void

StatusScenarioResponse
200SuccessTransaction voided successfully
400Failed validationerrors object
400Transaction not foundNo transaction found
400Cannot be voidedTransaction cannot be voided
400Unsupported processorUnsupported Processor
401Bad API keyPermission Denied.
401User permission issueUser not associated with the affiliate.

Addresses

List / Show / Create / Update / Delete GET /api/address/*

StatusScenarioResponse
200Successdata object or array
201Createddata object (Create only)
400Failed / validationerrors object or message
401UnauthorizedPermission Denied.
404Address not foundNo such Address
404Customer not foundNo such Customer
404Merchant not foundNo such Merchant

Customer Management

List / Show / Create / Update / Delete GET|POST|PATCH /api/customer/*

StatusScenarioResponse
200Successdata object or array (List includes cursor pagination, 500 per page)
400Failed validationValidation errors or errors object
400Merchant not foundNo such Merchant
400Creation failedFailed to create Customer
401Bad API keyPermission Denied.
401Affiliate check failedMerchant or Affiliate check failed
Deleting a customer also cancels any recurring payments associated with that customer.

Deposit Management

List Deposits GET /api/deposit/list

StatusScenarioResponse
200Successdata array of deposit objects
400Malformed requesterrors object — date format must be Y-m-d H:i:s
401Bad API keyPermission Denied.
401Not associated with affiliateNot associated with Affiliate
401Invalid sidThe selected data.sid is invalid
403UnauthorizedUnauthorized
404No deposits foundNo deposits found

List with Transactions / Show Deposit GET /api/deposit/list-with-trans GET /api/deposit/show

StatusScenarioResponse
200Successdata object with deposit and supporting transactions
200Empty{}
400Failed validationerrors object
401Bad API keyPermission Denied.
401Merchant not foundNo Merchant found with SID provided.
401User permission issueUser not associated with the affiliate.
401Merchant not associatedMerchant not associated with affiliate.

Payment Method Management

List / Show / Create / Update / Delete GET|POST|PATCH /api/payment-method/*

StatusScenarioResponse
200Successdata object or array
401Token permission errorPermission denied
404Customer not foundCustomer not found.
404Payment method not foundPayment Method not found.
404Merchant not foundNo such Merchant
409Active recurring paymentsCannot delete payment method with active recurring payments.
To delete a payment method that has active recurring payments, cancel or reassign those recurring payments first.

Recurring Payments

All Recurring Payment endpoints GET|POST|PATCH /api/recurring-payment/*

StatusScenarioResponse
200Successdata object with recurring payment details
400Failed validationerrors object
401Token unauthorizedPermission Denied.
401Invalid affiliate authorizationUnauthorized
401Invalid affiliate associationNot associated with affiliate
404Invalid sidNo such Merchant
404Not foundNo recurring payment found
Notable fields in success responses: last_run_status (Success or Failed), last_run_failed_count, and error — a processor-provided reason such as EXPIRED CARD when the last attempt failed. Pause defaults paused_until_date to 2099-12-31 if no date is provided.

Zapier Endpoints

Endpoint200400401404
GET /api/zapier/new-customersArray of new customersUnauthorizedMerchant not found
GET /api/zapier/transactionsArray of transactionsPermission deniedMerchant not found
GET /api/zapier/transactions/{phone}Array of customer transactionsCan only contain last days or start and end datePermission denied.Merchant not found
GET /api/zapier/new-transactionsMost recent transactionPermission deniedMerchant not found
For the transactions by phone endpoint, the request body must use either last_days or start_date + end_date — not both.

Troubleshooting

You’re seeingMost likely causeWhat to do
Permission Denied. / UnauthorizedToken is invalid or lacks permission for this endpointRegenerate your token in the dashboard under profile > Generate API token
Not associated with affiliateToken, user, or merchant is not linked to your affiliateContact your Dime Payments rep to verify associations
No such MerchantWrong or inaccessible sidConfirm the merchant SID via GET /api/merchant/list
errors object with field messagesA required field is missing or formatted incorrectlyCheck dates are Y-m-d H:i:s, phones are e.164, and all required fields are present
status_code: 05 / DECLINE on a chargeCard declined by the processorCustomer should contact their card issuer or use a different payment method
Validation of card failed.Card could not be verified during tokenizationCheck card number, expiration, CVV, and billing ZIP
Transaction cannot be voidedTransaction has already settledUse POST /api/transaction/refund instead
Unsupported processor.Merchant’s processor does not support this operation via APIContact Dime Payments support
Cannot delete payment method with active recurring payments.Payment method is in use by a recurring paymentCancel or reassign the recurring payments first
Something went wrong: contact Dime Payments RepInternal failure creating or updating a merchantContact your Dime Payments rep