A simple, basic API for managing Merchants through Dime Payments. JSON based REST API
This documentation aims to provide all the information you need to work with our API.
<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve your token by visiting your dashboard and clicking Generate API token under your profile in top right.
Get a list of all merchants and their fields
curl --request GET \
--get "https://app.dimepayments.com/api/merchant/list" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"filters\": {
\"start_date\": \"2024-01-01 00:00:00\",
\"end_date\": \"2024-12-31 23:59:59\"
}
}"
{
"data": [
{
"name": "Dime Payments",
"dba": "",
"notes": "",
"sid": "00001",
"ein": "",
"mcc": "8999",
"slug": "pay",
"pub_api_key": "pkapi_prod_B5n2hQhy6uAp1rLjqs",
"processor_mid": "650000012366624",
"active": true,
"active_at": null,
"pending_cancellation": null,
"approved_cancellation": null,
"approved_cancellation_by": null,
"g_pay": false,
"a_pay": false,
"pci_compliance": true,
"api_access": "2025-05-20T12:43:00.000000Z",
"api_enabled_by_id": 1,
"website": "https://dimepayments.com",
"addr1": "53 S. Main St",
"addr2": "",
"addr3": "",
"city": "Alpharetta",
"state": "GA",
"zip": "30009",
"phone": "4049064975",
"primary_phone": "4049064975",
"primary_email": "[email protected]",
"primary_name": "Ben Habeck"
},
{
"name": "Dime Payments",
"dba": "",
"notes": "",
"sid": "00001",
"ein": "",
"mcc": "8999",
"slug": "pay",
"pub_api_key": "pkapi_prod_B5n2hQhy6uAp1rLjqs",
"processor_mid": "650000012366624",
"active": true,
"active_at": null,
"pending_cancellation": null,
"approved_cancellation": null,
"approved_cancellation_by": null,
"g_pay": false,
"a_pay": false,
"pci_compliance": true,
"api_access": "2025-05-20T12:43:00.000000Z",
"api_enabled_by_id": 1,
"website": "https://dimepayments.com",
"addr1": "53 S. Main St",
"addr2": "",
"addr3": "",
"city": "Alpharetta",
"state": "GA",
"zip": "30009",
"phone": "4049064975",
"primary_phone": "4049064975",
"primary_email": "[email protected]",
"primary_name": "Ben Habeck"
}
]
}
List all non-protected fields for a merchant. Other fields are available using their specific requests.
curl --request GET \
--get "https://app.dimepayments.com/api/merchant/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 1234567
}
}"
{
"data": {
"name": "Dime Payments",
"sid": "00001",
"mcc": "8999",
"slug": "pay",
"pub_api_key": "pkapi_prod_B5n2hQhy6uAp1rLjqs",
"processor_mid": "650000012366624",
"active": true,
"active_at": null,
"g_pay": false,
"a_pay": false,
"pci_compliance": true,
"website": "https://dimepayments.com",
"addr1": "53 S. Main St",
"addr2": "",
"city": "Alpharetta",
"state": "GA",
"zip": "30009",
"phone": "4049064975",
"primary_phone": "4049064975",
"primary_email": "[email protected]",
"primary_name": "Ben Habeck"
}
}
Create a merchant record which can be used for generating an application.
curl --request POST \
"https://app.dimepayments.com/api/merchant/create" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"name\": \"Acme Inc\",
\"slug\": \"acme-inc\",
\"mcc\": 8661,
\"website\": \"https:\\/\\/acme-inc.com\",
\"addr1\": \"123 4th Street\",
\"addr2\": \"Suite 5\",
\"city\": \"Alpharetta\",
\"state\": \"GA\",
\"zip\": 30009,
\"phone\": \"+177012345678\",
\"primary_phone\": \"+140412345678\",
\"primary_name\": \"John Doe\",
\"primary_email\": \"[email protected]\",
\"industry\": \"Church\"
}
}"
{
"data": {
"name": "Dime Payments",
"sid": "00001",
"mcc": "8999",
"slug": "pay",
"pub_api_key": "pkapi_prod_B5n2hQhy6uAp1rLjqs",
"processor_mid": "650000012366624",
"active": true,
"active_at": null,
"g_pay": false,
"a_pay": false,
"pci_compliance": true,
"website": "https://dimepayments.com",
"addr1": "53 S. Main St",
"addr2": "",
"city": "Alpharetta",
"state": "GA",
"zip": "30009",
"phone": "4049064975",
"primary_phone": "4049064975",
"primary_email": "[email protected]",
"primary_name": "Ben Habeck"
}
}
Update a Merchant's details.
curl --request PATCH \
"https://app.dimepayments.com/api/merchant/update" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 99,
\"slug\": \"acme-inc\",
\"name\": \"Acme Inc\",
\"mcc\": 8661,
\"website\": \"https:\\/\\/acme-inc.com\",
\"addr1\": \"123 4th Street\",
\"addr2\": \"Suite 5\",
\"city\": \"Alpharetta\",
\"state\": \"GA\",
\"zip\": 30009,
\"phone\": \"+177012345678\",
\"primary_phone\": \"+140412345678\",
\"primary_name\": \"John Doe\",
\"primary_email\": \"[email protected]\",
\"industry\": \"Church\"
}
}"
{
"data": {
"name": "Dime Payments",
"sid": "00001",
"mcc": "8999",
"slug": "pay",
"pub_api_key": "pkapi_prod_B5n2hQhy6uAp1rLjqs",
"processor_mid": "650000012366624",
"active": true,
"active_at": null,
"g_pay": false,
"a_pay": false,
"pci_compliance": true,
"website": "https://dimepayments.com",
"addr1": "53 S. Main St",
"addr2": "",
"city": "Alpharetta",
"state": "GA",
"zip": "30009",
"phone": "4049064975",
"primary_phone": "4049064975",
"primary_email": "[email protected]",
"primary_name": "Ben Habeck"
}
}
Passed a merchant's ID, returns a full URL to the application for processor approval. This link expires in 48 hours.
curl --request GET \
--get "https://app.dimepayments.com/api/merchant/get-form-link" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 69
}
}"
{
"data": {
"link": "https://app.dimepayments.com/some/link"
}
}
APIs for managing transactions. Depending on API KEY permissions, one should be able to charge credit cards, ACH, Google/Apple Pay wallets along with other functions.
Retrieves a list of transactions for a given Merchant, filtered by various parameters.
curl --request GET \
--get "https://app.dimepayments.com/api/transactions" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": \"12345\"
},
\"filters\": {
\"start_date\": \"2021-01-01 00:00:00\",
\"end_date\": \"2021-12-31 23:59:59\",
\"sweep_id\": \"sweep_123*\",
\"customer_uuid\": \"cust_456\"
}
}"
{
"data": [
{
"transaction_type": "CC",
"transaction_status": "CC_CREDIT",
"transaction_status_description": "Successful credit/debit card transaction that brings funds into the ProPay Account.",
"transaction_number": "741046715",
"transaction_date": "2023-02-15T19:14:44.000000Z",
"fund_date": "2023-02-17T05:05:35.000000Z",
"settle_date": "2023-03-24T11:30:04.000000Z",
"amount": "1.0000",
"description": "",
"status_code": "",
"status_text": "",
"email": "",
"phone": "",
"customer_uuid": "",
"multi_use_token": "",
"pending": false,
"transaction_info_id": "789161791",
"parent_transaction_info_id": "",
"billing_address": {
"first_name": null,
"last_name": null,
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
},
"shippingAddress": {
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
},
{
"transaction_type": "CC",
"transaction_status": "CC_CREDIT",
"transaction_status_description": "Successful credit/debit card transaction that brings funds into the ProPay Account.",
"transaction_number": "741046715",
"transaction_date": "2023-02-15T19:14:44.000000Z",
"fund_date": "2023-02-17T05:05:35.000000Z",
"settle_date": "2023-03-24T11:30:04.000000Z",
"amount": "1.0000",
"description": "",
"status_code": "",
"status_text": "",
"email": "",
"phone": "",
"customer_uuid": "",
"multi_use_token": "",
"pending": false,
"transaction_info_id": "789161791",
"parent_transaction_info_id": "",
"billing_address": {
"first_name": null,
"last_name": null,
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
},
"shippingAddress": {
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
}
],
"links": {
"prev": null,
"next": null
},
"meta": {
"path": "/",
"per_page": 15,
"next_cursor": null,
"prev_cursor": null
}
}
This endpoint allows you to charge a credit card using the PAN Data or a Token. This endpoint will process the charge and return a token representing the card that can be used for transactions as well as the transactionId and the customerUUID if requested. If you pass a customer UUID or a customer phone number, then a customer record will be created or retrieved if it already exists, also making the customer UUID available for the purpose of associating charges to a customer. You must be PCI Compliant (have an AoC on file with Dime Payments) to process PAN Data. A token can optionally be provided to process charges without requiring PCI compliance as no PAN data is being sent.
curl --request POST \
"https://app.dimepayments.com/api/transaction/charge-card" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"amount\": 4326.41688,
\"sid\": 1234567,
\"phone\": \"+177012345678\",
\"customer_uuid\": \"977e5426-8d13-3824-86aa-b092f8ae52c5\",
\"email\": \"[email protected]\",
\"memo\": \"architecto\",
\"token\": \"abc123\",
\"cardholder_name\": \"John Doe\",
\"card_number\": 1231231231231231,
\"expiration_date\": \"01\\/2025\",
\"cvv\": 123,
\"billing_address\": {
\"first_name\": \"m\",
\"last_name\": \"i\",
\"addr1\": \"1234 Main St\",
\"addr2\": \"Suite 100\",
\"city\": \"Atlanta\",
\"state\": \"NY\",
\"zip\": 10001
},
\"shipping_address\": {
\"addr1\": \"123 A Street\",
\"addr2\": \"Suite 123\",
\"city\": \"Alpharetta\",
\"state\": \"GA\",
\"zip\": 0
},
\"uuid\": \"60dac128-28da-41ae-8632-aee299de13fd\"
}
}"
{
"data": {
"transaction_type": "Credit Card",
"transaction_status": "Success",
"transaction_status_description": "Transaction Successful",
"transaction_number": "1234567890",
"transaction_date": "2020-01-01",
"fund_date": "2020-01-01",
"settle_date": "2020-01-01",
"amount": "100.00",
"description": "a memo concerning this transaction",
"status_code": "00",
"status_text": "APPROVAL",
"email": "[email protected]",
"phone": "+17701234567",
"customer_uuid": "66f1c230-1337-5g59-b43c-1bcb83adfaaa",
"multi_use_token": "abcdefg123456790",
"pending": true,
"transaction_info_id": "1234567890",
"parent_transaction_info_id": "1234567890",
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"addr1": "123 Main St",
"addr2": "Suite 100",
"city": "New York",
"state": "NY"
},
"shipping_address": {
"addr1": "12 Street Ave",
"addr2": "Suite 123",
"city": "Boulder",
"state": "CO",
"zip": "80302"
}
}
}
curl --request POST \
"https://app.dimepayments.com/api/transaction/charge-ach" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 1234567,
\"routing_number\": \"123456789\",
\"account_number\": \"91828382\",
\"account_type\": \"Checking\",
\"account_name\": \"Acme Inc.\",
\"amount\": 99.19,
\"phone\": \"7701234567\",
\"customer_uuid\": \"12312312-123123123-1231231231\",
\"email\": \"[email protected]\",
\"memo\": \"payment for something\",
\"billing_address\": {
\"first_name\": \"Ryan\",
\"last_name\": \"Taylor\",
\"addr1\": \"123 A Street\",
\"addr2\": \"Suite 123\",
\"city\": \"Alpharetta\",
\"state\": \"GA\",
\"zip\": 30009
},
\"shipping_address\": {
\"addr1\": \"123 A Street\",
\"addr2\": \"Suite 123\",
\"city\": \"Alpharetta\",
\"state\": \"GA\",
\"zip\": 12345
}
}
}"
{
"data": {
"transaction_type": "ACH",
"transaction_status": "Success",
"transaction_status_description": "Success",
"transaction_number": "130",
"transaction_date": "2021-01-01",
"fund_date": "2021-01-01",
"settle_date": "2021-01-01",
"amount": "25",
"description": "",
"status_code": "00",
"status_text": "Success",
"email": "[email protected]",
"phone": "",
"customer_uuid": "",
"multi_use_token": "",
"pending": false,
"transaction_info_id": "1234567890",
"parent_transaction_info_id": "1234567890",
"billing_address": {
"first_name": "First",
"last_name": "Last",
"addr1": "12 Street Ave",
"addr2": "Suite 123",
"city": "Boulder",
"state": "CO",
"zip": "80302"
},
"shipping_address": {
"addr1": "12 Street Ave",
"addr2": "Suite 123",
"city": "Boulder",
"state": "CO",
"zip": "80302"
}
}
}
This endpoint allows you to tokenize a credit card, which will verify its validity and return a token representing the card that can be used for transactions. This method requires PCI compliance on the part of the affiliate or merchant.
curl --request POST \
"https://app.dimepayments.com/api/transaction/tokenize-card" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 1234567,
\"cardholder_name\": \"John Doe\",
\"card_number\": 1234567812345678,
\"expiration_date\": \"01\\/2025\",
\"cvv\": 123,
\"billing_address\": {
\"addr1\": \"1234 Main St\",
\"addr2\": \"Suite 100\",
\"city\": \"New York\",
\"state\": \"NY\",
\"zip\": 10001
}
}
}"
{
"data": {
"token": "abcd1234"
}
}
curl --request GET \
--get "https://app.dimepayments.com/api/transaction" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 1234567,
\"transaction_info_id\": 6789131231,
\"transaction_type\": \"ACH\",
\"transaction_id\": 123
}
}"
{
"data": {
"transaction_type": "CC",
"transaction_status": "CC Pending",
"transaction_status_description": "A cc transaction that is pending",
"transaction_number": "1231",
"transaction_date": "2021-01-01",
"fund_date": "2021-01-01",
"settle_date": "2021-01-01",
"amount": "25.0000",
"description": "",
"status_code": "",
"status_text": "",
"email": "",
"phone": "",
"customer_uuid": "68d9feaa-04a9-4c48-8c00-a0b79c8b2f70",
"multi_use_token": "",
"pending": true,
"transaction_info_id": "1231321",
"parent_transaction_info_id": "12313244444",
"billing_address": {
"first_name": "",
"last_name": "",
"addr1": "",
"addr2": "",
"city": "",
"state": "",
"zip": ""
},
"shipping_address": {
"addr1": "123 Main St",
"addr2": "apt 1",
"city": "Alpharetta",
"state": "GA",
"zip": "12345"
}
}
}
Processes a refund for a transaction based on the provided data.
curl --request POST \
"https://app.dimepayments.com/api/transaction/refund" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 1234567,
\"amount\": 100.5,
\"transaction_info_id\": 6789131231,
\"transaction_type\": \"CC\",
\"transaction_id\": 6789131231
}
}"
{
"data": {
"message": "refund"
}
}
Void a transaction
curl --request PATCH \
"https://app.dimepayments.com/api/transaction/void" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": \"91828382\",
\"transaction_type\": \"ACH\",
\"transaction_id\": 123
}
}"
{
"data": {
"message": "Transaction voided successfully"
}
}
APIs for managing customer addresses
List all addresses for a specific customer.
curl --request GET \
--get "https://app.dimepayments.com/api/address/list" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345,
\"uuid\": \"60dac128-28da-41ae-8632-aee299de13fd\"
}
}"
{
"data": [
[
{
"id": 1,
"recipient": null,
"line_one": "",
"line_two": null,
"line_three": null,
"city": "",
"state": "",
"zip": ""
},
{
"id": 1,
"recipient": null,
"line_one": "",
"line_two": null,
"line_three": null,
"city": "",
"state": "",
"zip": ""
}
]
]
}
Show details of a specific address.
curl --request GET \
--get "https://app.dimepayments.com/api/address/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345,
\"uuid\": \"60dac128-28da-41ae-8632-aee299de13fd\",
\"address_id\": 1
}
}"
{
"data": {
"address_id": 1,
"recipient": null,
"line_one": "",
"line_two": null,
"line_three": null,
"city": "",
"state": "",
"zip": ""
}
}
Create a new address for a customer.
curl --request POST \
"https://app.dimepayments.com/api/address/create" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345,
\"uuid\": \"60dac128-28da-41ae-8632-aee299de13fd\",
\"recipient\": \"John Doe\",
\"line_one\": \"123 Main St\",
\"line_two\": \"Apt 4B\",
\"line_three\": \"architecto\",
\"city\": \"Atlanta\",
\"state\": \"GA\",
\"zip\": \"30301\"
}
}"
{
"data": {
"address_id": 1,
"recipient": null,
"line_one": "",
"line_two": null,
"line_three": null,
"city": "",
"state": "",
"zip": ""
}
}
Update an existing address.
curl --request PATCH \
"https://app.dimepayments.com/api/address/update" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345,
\"uuid\": \"60dac128-28da-41ae-8632-aee299de13fd\",
\"address_id\": 1,
\"recipient\": \"John Doe\",
\"line_one\": \"123 Main St\",
\"line_two\": \"Apt 4B\",
\"line_three\": \"architecto\",
\"city\": \"Atlanta\",
\"state\": \"GA\",
\"zip\": \"30301\"
}
}"
{
"data": {
"address_id": 1,
"recipient": null,
"line_one": "",
"line_two": null,
"line_three": null,
"city": "",
"state": "",
"zip": ""
}
}
Remove an address from a customer.
curl --request POST \
"https://app.dimepayments.com/api/address/delete" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345,
\"uuid\": \"60dac128-28da-41ae-8632-aee299de13fd\",
\"address_id\": 1
}
}"
{
"data": {
"message": "Address deleted successfully"
}
}
APIs for managing customers. Depending on API KEY permissions, one should be able to list, create, update, and delete customers along with several other customer specific requests.
Retrieves a list of customers for a given company, filtered by various parameters.
curl --request GET \
--get "https://app.dimepayments.com/api/customer/list" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345
},
\"filters\": {
\"start_date\": \"2024-01-01 00:00:00\",
\"end_date\": \"2024-12-31 23:59:59\",
\"phone\": \"+15555555555\",
\"email\": \"[email protected]\"
}
}"
{
"data": [
[
{
"id": 6,
"uuid": "66f1c230-68cf-4d58-b47c-1bcb83adfddd",
"first_name": "Ryan",
"last_name": "Taylor",
"company_name": "",
"phone": "+17707892072",
"phone_verified_at": null,
"email": "[email protected]",
"email_verified_at": null,
"addr1": "4655 Hwy 136 W",
"addr2": "",
"addr3": "",
"city": "Dawsonville",
"state": "GA",
"zip": "30534",
"country": "USA",
"email_communications": true,
"sms_communications": false,
"payment_reminders": true,
"last_login_at": "2026-04-28T20:45:43.000000Z",
"last_login_ip": "69.85.118.154"
},
{
"id": 6,
"uuid": "66f1c230-68cf-4d58-b47c-1bcb83adfddd",
"first_name": "Ryan",
"last_name": "Taylor",
"company_name": "",
"phone": "+17707892072",
"phone_verified_at": null,
"email": "[email protected]",
"email_verified_at": null,
"addr1": "4655 Hwy 136 W",
"addr2": "",
"addr3": "",
"city": "Dawsonville",
"state": "GA",
"zip": "30534",
"country": "USA",
"email_communications": true,
"sms_communications": false,
"payment_reminders": true,
"last_login_at": "2026-04-28T20:45:43.000000Z",
"last_login_ip": "69.85.118.154"
}
]
]
}
Show a specific customer's details
curl --request GET \
--get "https://app.dimepayments.com/api/customer/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345
},
\"filters\": {
\"phone\": \"+15555555555\",
\"email\": \"[email protected]\",
\"uuid\": \"60dac128-28da-41ae-8632-aee299de13fd\"
}
}"
{
"data": {
"uuid": "66f1c230-68cf-4d58-b47c-1bcb83adfddd",
"first_name": "Ryan",
"last_name": "Taylor",
"phone": "+17707892072",
"email": "[email protected]",
"addr1": "4655 Hwy 136 W",
"addr2": "",
"addr3": "",
"city": "Dawsonville",
"state": "GA",
"zip": "30534",
"country": "USA"
}
}
Create a customer record linked to your Company/Merchant.
curl --request POST \
"https://app.dimepayments.com/api/customer/create" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345,
\"first_name\": \"architecto\",
\"last_name\": \"architecto\",
\"company_name\": \"architecto\",
\"phone\": \"architecto\",
\"email\": \"[email protected]\",
\"addr1\": \"architecto\",
\"addr2\": \"architecto\",
\"addr3\": \"architecto\",
\"city\": \"architecto\",
\"state\": \"architecto\",
\"zip\": \"architecto\",
\"country\": \"n\"
}
}"
{
"data": {
"uuid": "66f1c230-68cf-4d58-b47c-1bcb83adfddd",
"first_name": "Ryan",
"last_name": "Taylor",
"phone": "+17707892072",
"email": "[email protected]",
"addr1": "4655 Hwy 136 W",
"addr2": "",
"addr3": "",
"city": "Dawsonville",
"state": "GA",
"zip": "30534",
"country": "USA"
}
}
Update a customer record. Make changes to the customer referenced by UUID, phone number, or email. One of the filters is required to be provided to select a unique customer. Only pass the fields that require updating in the data object.
curl --request PATCH \
"https://app.dimepayments.com/api/customer/update" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"filters\": {
\"phone\": \"+15555555555\",
\"uuid\": \"60dac128-28da-41ae-8632-aee299de13fd\",
\"email\": \"[email protected]\"
},
\"data\": {
\"sid\": 12345,
\"first_name\": \"architecto\",
\"last_name\": \"architecto\",
\"company_name\": \"architecto\",
\"addr1\": \"architecto\",
\"addr2\": \"architecto\",
\"addr3\": \"architecto\",
\"city\": \"architecto\",
\"state\": \"architecto\",
\"zip\": \"architecto\",
\"country\": \"n\"
}
}"
{
"data": {
"uuid": "66f1c230-68cf-4d58-b47c-1bcb83adfddd",
"first_name": "Ryan",
"last_name": "Taylor",
"phone": "+17707892072",
"email": "[email protected]",
"addr1": "4655 Hwy 136 W",
"addr2": "",
"addr3": "",
"city": "Dawsonville",
"state": "GA",
"zip": "30534",
"country": "USA"
}
}
Delete a customer record from the selected Merchant. One of the filters is required to select a unique customer. This will also cancel any recurring payments associated with the customer for your company.
curl --request POST \
"https://app.dimepayments.com/api/customer/delete" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"filters\": {
\"phone\": \"+15555555555\",
\"uuid\": \"60dac128-28da-41ae-8632-aee299de13fd\",
\"email\": \"[email protected]\"
},
\"data\": {
\"sid\": 12345
}
}"
{
"data": {
"uuid": "66f1c230-68cf-4d58-b47c-1bcb83adfddd",
"first_name": "Ryan",
"last_name": "Taylor",
"phone": "+17707892072",
"email": "[email protected]",
"addr1": "4655 Hwy 136 W",
"addr2": "",
"addr3": "",
"city": "Dawsonville",
"state": "GA",
"zip": "30534",
"country": "USA"
}
}
Get Deposits from Merchant Account with supporting transactions
curl --request GET \
--get "https://app.dimepayments.com/api/deposit/list" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": \"91828382\"
},
\"filters\": {
\"start_date\": \"\\\"2024-04-01 00:00:00\\\"\",
\"end_date\": \"\\\"2024-04-01 23:59:59\\\"\"
}
}"
{
"data": [
{
"transaction_date": "2023-02-15T19:14:44.000000Z",
"fund_date": "2023-02-17 00:05:35",
"transaction_info_id": "789161791",
"transaction_id": "1",
"transaction_detail_account": "1005",
"authorization_amount": "1.0000",
"net_amount": "0.7200",
"sweep_id": "125068038",
"type": "withdraw_funds"
},
{
"transaction_date": "2023-02-15T19:14:44.000000Z",
"fund_date": "2023-02-17 00:05:35",
"transaction_info_id": "789161791",
"transaction_id": "1",
"transaction_detail_account": "1005",
"authorization_amount": "1.0000",
"net_amount": "0.7200",
"sweep_id": "125068038",
"type": "withdraw_funds"
}
],
"links": {
"prev": null,
"next": null
},
"meta": {
"path": "/",
"per_page": 15,
"next_cursor": null,
"prev_cursor": null
}
}
Get Deposits from Merchant Account with supporting transactions. Could result in large datasets if range is too large.
curl --request GET \
--get "https://app.dimepayments.com/api/deposit/list-with-trans" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": \"91828382\"
},
\"filters\": {
\"start_date\": \"2024-05-01 00:00:00\",
\"end_date\": \"2024-05-01 00:00:00\"
}
}"
{
"data": {
"sid": "XXXXX",
"count": 1,
"deposits": {
"128298672": {
"sid": "XXXXX",
"transaction_info_id": "983999999",
"transaction_id": "382",
"transaction_date": "2024-05-01T04:00:00.000000Z",
"fund_date": "2024-05-01 02:20:35",
"type": "withdraw_funds",
"countOfTransactions": 3,
"transTotal": "545.98",
"transactions": [
{
"transaction_type": "ACH",
"transaction_status": "ACH_PAYMENT_CREDIT",
"transaction_status_description": "Successfully completed ACH Payment that has been posted to the Escrow Account.",
"transaction_number": "369",
"transaction_date": "2024-04-29T08:30:25.000000Z",
"fund_date": "2024-04-30T20:05:21.000000Z",
"settle_date": "2024-04-29T17:51:02.000000Z",
"amount": "369.0000",
"description": "",
"status_code": "",
"status_text": "",
"email": "",
"phone": "",
"customer_uuid": "",
"multi_use_token": "",
"pending": false,
"transaction_info_id": "123123123123",
"parent_transaction_info_id": "123123123124",
"billing_address": {
"first_name": null,
"last_name": null,
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
},
{
"transaction_type": "CC",
"transaction_status": "CC_CREDIT",
"transaction_status_description": "Successful credit/debit card transaction that brings funds into the ProPay Account.",
"transaction_number": "1919162951",
"transaction_date": "2024-04-29T08:37:29.000000Z",
"fund_date": "2024-04-30T20:05:22.000000Z",
"settle_date": "2024-05-07T11:30:03.000000Z",
"amount": "103.0800",
"description": "",
"status_code": "",
"status_text": "",
"email": "",
"phone": "",
"customer_uuid": "",
"multi_use_token": "",
"pending": false,
"transaction_info_id": "123123123123",
"parent_transaction_info_id": "123123123124",
"billing_address": {
"first_name": null,
"last_name": null,
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
},
{
"transaction_type": "CC",
"transaction_status": "CC_CREDIT",
"transaction_status_description": "Successful credit/debit card transaction that brings funds into the ProPay Account.",
"transaction_number": "1920383851",
"transaction_date": "2024-04-29T11:52:43.000000Z",
"fund_date": "2024-04-30T20:05:22.000000Z",
"settle_date": "2024-05-07T11:30:03.000000Z",
"amount": "82.5200",
"description": "",
"status_code": "",
"status_text": "",
"email": "",
"phone": "",
"customer_uuid": "",
"multi_use_token": "",
"pending": false,
"transaction_info_id": "123123123123",
"parent_transaction_info_id": "123123123124",
"billing_address": {
"first_name": null,
"last_name": null,
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
}
]
}
}
}
}
Show a Deposit from Merchant Account with supporting transactions
curl --request GET \
--get "https://app.dimepayments.com/api/deposit/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 4326.41688,
\"transaction_info_id\": \"91828382\",
\"sweep_id\": \"\\\"2024-04-01 00:00:00\\\"\"
}
}"
{
"data": {
"sid": "XXXXX",
"transaction_info_id": "983999999",
"transaction_id": "382",
"transaction_date": "2024-05-01T04:00:00.000000Z",
"fund_date": "2024-05-01 02:20:35",
"type": "withdraw_funds",
"countOfTransactions": 3,
"transTotal": "545.98",
"transactions": [
{
"transaction_type": "ACH",
"transaction_status": "ACH_PAYMENT_CREDIT",
"transaction_status_description": "Successfully completed ACH Payment that has been posted to the Escrow Account.",
"transaction_number": "369",
"transaction_date": "2024-04-29T08:30:25.000000Z",
"fund_date": "2024-04-30T20:05:21.000000Z",
"settle_date": "2024-04-29T17:51:02.000000Z",
"amount": "369.0000",
"description": "",
"status_code": "",
"status_text": "",
"email": "",
"phone": "",
"customer_uuid": "",
"multi_use_token": "",
"pending": false,
"transaction_info_id": "123123212312",
"parent_transaction_info_id": "123123212314",
"billing_address": {
"first_name": null,
"last_name": null,
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
},
{
"transaction_type": "CC",
"transaction_status": "CC_CREDIT",
"transaction_status_description": "Successful credit/debit card transaction that brings funds into the ProPay Account.",
"transaction_number": "1919162951",
"transaction_date": "2024-04-29T08:37:29.000000Z",
"fund_date": "2024-04-30T20:05:22.000000Z",
"settle_date": "2024-05-07T11:30:03.000000Z",
"amount": "103.0800",
"description": "",
"status_code": "",
"status_text": "",
"email": "",
"phone": "",
"customer_uuid": "",
"multi_use_token": "",
"pending": false,
"transaction_info_id": "123123212312",
"parent_transaction_info_id": "123123212314",
"billing_address": {
"first_name": null,
"last_name": null,
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
},
{
"transaction_type": "CC",
"transaction_status": "CC_CREDIT",
"transaction_status_description": "Successful credit/debit card transaction that brings funds into the ProPay Account.",
"transaction_number": "1920383851",
"transaction_date": "2024-04-29T11:52:43.000000Z",
"fund_date": "2024-04-30T20:05:22.000000Z",
"settle_date": "2024-05-07T11:30:03.000000Z",
"amount": "82.5200",
"description": "",
"status_code": "",
"status_text": "",
"email": "",
"phone": "",
"customer_uuid": "",
"multi_use_token": "",
"pending": false,
"transaction_info_id": "123123212314",
"billing_address": {
"first_name": null,
"last_name": null,
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
}
]
}
}
APIs for managing invoices. Depending on API KEY permissions, one should be
able to list, create, update, delete, and send invoices, manage their line
items, and manage recurring-invoice schedules. Every request is scoped to a
single Merchant via the required data.sid.
Retrieves a paginated (cursor) list of invoices for a Merchant, optionally filtered by status.
curl --request GET \
--get "https://app.dimepayments.com/api/invoices" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345
},
\"filters\": {
\"status\": \"sent\"
}
}"
{
"data": [
{
"id": null,
"invoice_number": "INV-45117",
"status": "draft",
"customer_name": "Mr. Gerhard Dach Jr.",
"customer_email": "[email protected]",
"total": 0,
"amount_paid": 0,
"balance": 0,
"issue_date": "2026-07-28",
"due_date": "2026-08-12",
"is_overdue": false,
"public_url": "http://app.dimepayments.com/invoice/XepzeEH4j3UoSX9YjR1uEOXebXjwWCBJCIj9MZMR"
},
{
"id": null,
"invoice_number": "INV-67996",
"status": "draft",
"customer_name": "Dr. Mona Lemke",
"customer_email": "[email protected]",
"total": 0,
"amount_paid": 0,
"balance": 0,
"issue_date": "2026-07-27",
"due_date": "2026-08-11",
"is_overdue": false,
"public_url": "http://app.dimepayments.com/invoice/j8dXIMrfoaeUtCV69NHzOusR3vQkqUeFhdjhABP2"
}
],
"links": {
"prev": null,
"next": null
},
"meta": {
"path": "/",
"per_page": 500,
"next_cursor": null,
"prev_cursor": null
}
}
Retrieves a single invoice with its line items, payments, and event history.
curl --request GET \
--get "https://app.dimepayments.com/api/invoice" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"token": "mpXHIdVBlykMQYG4vNjmZoUEMnSliGSCFrVc2zzK",
"invoice_number": "INV-92439",
"status": "draft",
"payment_terms": "net_15",
"issue_date": "2026-08-03",
"due_date": "2026-08-18",
"is_overdue": false,
"subtotal": 0,
"total": 0,
"amount_paid": 0,
"balance": 0,
"allow_partial_payment": true,
"thank_you_note": "Ipsum nostrum omnis autem et consequatur aut dolores enim.",
"public_url": "http://app.dimepayments.com/invoice/mpXHIdVBlykMQYG4vNjmZoUEMnSliGSCFrVc2zzK",
"customer": {
"id": 15604,
"name": "Domingo Leuschke",
"email": "[email protected]"
},
"items": [],
"payments": [],
"events": []
}
}
Creates a draft invoice with its line items. Every line must reference an item (fund/designation) that belongs to the Merchant; the line name and unit price are snapshotted onto the invoice. The invoice number may be supplied, otherwise the next number is allocated automatically.
curl --request POST \
"https://app.dimepayments.com/api/invoice/create" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"lines\": [
{
\"item_id\": 5,
\"name\": \"Consulting\",
\"description\": \"2 hours\",
\"quantity\": 2,
\"unit_price\": 125
}
]
}
}"
{
"data": {
"id": null,
"token": "53CLp7JZSNvuBBHZIcUGwdbKZGuM6m7J8QRNFIbl",
"invoice_number": "INV-26855",
"status": "draft",
"payment_terms": "net_15",
"issue_date": "2026-07-09",
"due_date": "2026-07-24",
"is_overdue": false,
"subtotal": 0,
"total": 0,
"amount_paid": 0,
"balance": 0,
"allow_partial_payment": true,
"thank_you_note": "Sunt nihil accusantium harum mollitia.",
"public_url": "http://app.dimepayments.com/invoice/53CLp7JZSNvuBBHZIcUGwdbKZGuM6m7J8QRNFIbl",
"customer": {
"id": 15605,
"name": "Vesta Schuster PhD",
"email": "[email protected]"
},
"items": [],
"payments": [],
"events": []
}
}
Updates a draft invoice. Only draft invoices can be edited — once sent, an
invoice is locked. Passing data.lines replaces the existing line items.
curl --request PATCH \
"https://app.dimepayments.com/api/invoice/update" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"lines\": [
{
\"item_id\": 5,
\"name\": \"Consulting\",
\"description\": \"2 hours\",
\"quantity\": 2,
\"unit_price\": 125
}
]
}
}"
{
"data": {
"id": null,
"token": "X6sqDz3XlW7gsjwBxItGTY9g1qEUKkq2NzZctMa9",
"invoice_number": "INV-23164",
"status": "draft",
"payment_terms": "net_15",
"issue_date": "2026-07-09",
"due_date": "2026-07-24",
"is_overdue": false,
"subtotal": 0,
"total": 0,
"amount_paid": 0,
"balance": 0,
"allow_partial_payment": true,
"thank_you_note": "Nihil accusantium harum mollitia modi deserunt.",
"public_url": "http://app.dimepayments.com/invoice/X6sqDz3XlW7gsjwBxItGTY9g1qEUKkq2NzZctMa9",
"customer": {
"id": 15606,
"name": "Shaina Cormier",
"email": "[email protected]"
},
"items": [],
"payments": [],
"events": []
}
}
Soft-deletes a draft invoice. Only draft invoices can be deleted.
curl --request POST \
"https://app.dimepayments.com/api/invoice/delete" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"message": "Draft invoice deleted."
}
}
Emails the invoice to the customer with a link to the public pay page and advances the invoice to Sent. A paid, void, or refunded invoice cannot be sent.
curl --request POST \
"https://app.dimepayments.com/api/invoice/send" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"token": "Gjl1MPv91EFdFm4iK0QmUhWv4BxLLKmv3YtdZzzP",
"invoice_number": "INV-47352",
"status": "draft",
"payment_terms": "net_15",
"issue_date": "2026-08-03",
"due_date": "2026-08-18",
"is_overdue": false,
"subtotal": 0,
"total": 0,
"amount_paid": 0,
"balance": 0,
"allow_partial_payment": true,
"thank_you_note": "Nostrum omnis autem et consequatur aut.",
"public_url": "http://app.dimepayments.com/invoice/Gjl1MPv91EFdFm4iK0QmUhWv4BxLLKmv3YtdZzzP",
"customer": {
"id": 15607,
"name": "Henri Mitchell",
"email": "[email protected]"
},
"items": [],
"payments": [],
"events": []
}
}
Activates a draft invoice for payment WITHOUT emailing it — for Merchants who share the public link themselves. Advances Draft to Sent so the pay link becomes live.
curl --request POST \
"https://app.dimepayments.com/api/invoice/mark-sent" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"token": "T27cLLegtmHHYvZmC4r7XBPQWHSL8RyU7XMoXM67",
"invoice_number": "INV-40640",
"status": "draft",
"payment_terms": "net_15",
"issue_date": "2026-08-03",
"due_date": "2026-08-18",
"is_overdue": false,
"subtotal": 0,
"total": 0,
"amount_paid": 0,
"balance": 0,
"allow_partial_payment": true,
"thank_you_note": null,
"public_url": "http://app.dimepayments.com/invoice/T27cLLegtmHHYvZmC4r7XBPQWHSL8RyU7XMoXM67",
"customer": {
"id": 15608,
"name": "Oswald Koch",
"email": "[email protected]"
},
"items": [],
"payments": [],
"events": []
}
}
Voids an invoice. Voiding is terminal — the invoice can no longer be paid. An already void or refunded invoice cannot be voided again.
curl --request PATCH \
"https://app.dimepayments.com/api/invoice/void" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"token": "vc0guo4OB0QlNjfGVNNVhtBJkNvBZKgFPmehbYe0",
"invoice_number": "INV-35644",
"status": "draft",
"payment_terms": "net_15",
"issue_date": "2026-08-03",
"due_date": "2026-08-18",
"is_overdue": false,
"subtotal": 0,
"total": 0,
"amount_paid": 0,
"balance": 0,
"allow_partial_payment": true,
"thank_you_note": null,
"public_url": "http://app.dimepayments.com/invoice/vc0guo4OB0QlNjfGVNNVhtBJkNvBZKgFPmehbYe0",
"customer": {
"id": 15609,
"name": "Mr. Carey Smitham",
"email": "[email protected]"
},
"items": [],
"payments": [],
"events": []
}
}
Clones any invoice into a new draft (copying its line items) with a freshly allocated invoice number.
curl --request POST \
"https://app.dimepayments.com/api/invoice/duplicate" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"token": "FlLAAYVNpWegPuPN5z29RKlFf0gEMDMZHzUWEdsE",
"invoice_number": "INV-8317",
"status": "draft",
"payment_terms": "net_15",
"issue_date": "2026-08-03",
"due_date": "2026-08-18",
"is_overdue": false,
"subtotal": 0,
"total": 0,
"amount_paid": 0,
"balance": 0,
"allow_partial_payment": true,
"thank_you_note": null,
"public_url": "http://app.dimepayments.com/invoice/FlLAAYVNpWegPuPN5z29RKlFf0gEMDMZHzUWEdsE",
"customer": {
"id": 15610,
"name": "Carey Smitham",
"email": "[email protected]"
},
"items": [],
"payments": [],
"events": []
}
}
Records a merchant-initiated (MOTO) payment against an open invoice, charging a credit card (raw card or a stored token) or a bank account (ACH) through ProPay. Mirrors the card/ACH charge endpoints but targets the invoice: the amount is the invoice balance (or a partial amount when the invoice allows it), no cover fee is added, and on approval the invoice status/payment history/per-line classification are updated exactly as a customer payment.
The invoice must be open (Sent/Viewed/Partially Paid) with a balance due on an active ProPay merchant. A declined card is NOT recorded as a payment.
curl --request POST \
"https://app.dimepayments.com/api/invoice/pay" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"token": "B8rUFWhPsmMkG5bHFmi7grg537n1StbRytOeIiep",
"invoice_number": "INV-98251",
"status": "draft",
"payment_terms": "net_15",
"issue_date": "2026-08-03",
"due_date": "2026-08-18",
"is_overdue": false,
"subtotal": 0,
"total": 0,
"amount_paid": 0,
"balance": 0,
"allow_partial_payment": true,
"thank_you_note": "Consequatur aut dolores enim non facere tempora.",
"public_url": "http://app.dimepayments.com/invoice/B8rUFWhPsmMkG5bHFmi7grg537n1StbRytOeIiep",
"customer": {
"id": 15611,
"name": "Vesta Glover",
"email": "[email protected]"
},
"items": [],
"payments": [],
"events": []
}
}
Returns the public pay link (and token) for an invoice.
curl --request GET \
--get "https://app.dimepayments.com/api/invoice/link" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"public_url": "https://example.test/invoice/abcd",
"token": "abcd"
}
}
Appends a single line item to a draft invoice and recalculates totals.
curl --request POST \
"https://app.dimepayments.com/api/invoice/line-item/add" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"token": "6QQ0ZOAA7l0VmBGgGv3XWJf9w8Q3WvAZrfz09Pao",
"invoice_number": "INV-82093",
"status": "draft",
"payment_terms": "net_15",
"issue_date": "2026-08-03",
"due_date": "2026-08-18",
"is_overdue": false,
"subtotal": 0,
"total": 0,
"amount_paid": 0,
"balance": 0,
"allow_partial_payment": true,
"thank_you_note": null,
"public_url": "http://app.dimepayments.com/invoice/6QQ0ZOAA7l0VmBGgGv3XWJf9w8Q3WvAZrfz09Pao",
"customer": {
"id": 15612,
"name": "Donny Leffler",
"email": "[email protected]"
},
"items": [],
"payments": [],
"events": []
}
}
Updates a single line item on a draft invoice. Only the fields you pass are changed; the line amount is recomputed and invoice totals refreshed.
curl --request PATCH \
"https://app.dimepayments.com/api/invoice/line-item/update" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"token": "ZNQsiY56lvQ8f4gGS10FLKdS0nzEqgCR0akctR04",
"invoice_number": "INV-52976",
"status": "draft",
"payment_terms": "net_15",
"issue_date": "2026-08-03",
"due_date": "2026-08-18",
"is_overdue": false,
"subtotal": 0,
"total": 0,
"amount_paid": 0,
"balance": 0,
"allow_partial_payment": true,
"thank_you_note": null,
"public_url": "http://app.dimepayments.com/invoice/ZNQsiY56lvQ8f4gGS10FLKdS0nzEqgCR0akctR04",
"customer": {
"id": 15613,
"name": "Elenora Stokes",
"email": "[email protected]"
},
"items": [],
"payments": [],
"events": []
}
}
Removes a single line item from a draft invoice and recalculates totals.
curl --request POST \
"https://app.dimepayments.com/api/invoice/line-item/delete" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"token": "aWXht3Akh1fONUs3XH1m6cyx4i9Nzg5LY2l5uFGE",
"invoice_number": "INV-66650",
"status": "draft",
"payment_terms": "net_15",
"issue_date": "2026-08-03",
"due_date": "2026-08-18",
"is_overdue": false,
"subtotal": 0,
"total": 0,
"amount_paid": 0,
"balance": 0,
"allow_partial_payment": true,
"thank_you_note": null,
"public_url": "http://app.dimepayments.com/invoice/aWXht3Akh1fONUs3XH1m6cyx4i9Nzg5LY2l5uFGE",
"customer": {
"id": 15614,
"name": "Henri Mitchell",
"email": "[email protected]"
},
"items": [],
"payments": [],
"events": []
}
}
Lists the Merchant's items (funds/designations) available to use as invoice line items, ordered alphabetically.
curl --request GET \
--get "https://app.dimepayments.com/api/invoice/items" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345
}
}"
{
"data": [
{
"id": 5,
"name": "Consulting",
"description": null,
"price": 125
}
]
}
Creates an invoicing-only item (fund/designation) for the Merchant. The
item is hidden from public giving pages and can be referenced as a line
item's item_id.
curl --request POST \
"https://app.dimepayments.com/api/invoice/item/create" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345,
\"name\": \"Consulting\",
\"description\": \"Professional services\",
\"price\": 125,
\"tax_deductible\": false
}
}"
{
"data": {
"id": 5,
"name": "Consulting",
"description": null,
"price": 125,
"tax_deductible": false
}
}
Retrieves a paginated (cursor) list of recurring-invoice templates for a Merchant, optionally filtered by status.
curl --request GET \
--get "https://app.dimepayments.com/api/recurring-invoices" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345
},
\"filters\": {
\"status\": \"Active\"
}
}"
{
"data": [
{
"id": null,
"status": "Active",
"recurrence_schedule": "Monthly",
"payment_terms": "net_15",
"start_date": "2026-08-05",
"end_date": null,
"next_run_date": "2026-09-05",
"last_run_date": null,
"customer_name": "Lafayette Considine"
},
{
"id": null,
"status": "Active",
"recurrence_schedule": "Monthly",
"payment_terms": "net_15",
"start_date": "2026-08-05",
"end_date": null,
"next_run_date": "2026-09-05",
"last_run_date": null,
"customer_name": "Margaretta Thiel"
}
],
"links": {
"prev": null,
"next": null
},
"meta": {
"path": "/",
"per_page": 500,
"next_cursor": null,
"prev_cursor": null
}
}
Retrieves a single recurring-invoice template with its line items, the invoices it has generated (the 50 most recent), and the upcoming run dates.
curl --request GET \
--get "https://app.dimepayments.com/api/recurring-invoice" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"status": "Active",
"recurrence_schedule": "Monthly",
"payment_terms": "net_15",
"start_date": "2026-08-05",
"end_date": null,
"next_run_date": "2026-09-05",
"last_run_date": null,
"thank_you_note": null,
"customer": {
"id": 15617,
"name": "Marcelo Predovic",
"email": "[email protected]"
},
"items": [],
"upcoming_run_dates": [
"2026-09-05",
"2026-10-05",
"2026-11-05"
],
"invoices": []
}
}
Creates a recurring-invoice template. The template carries its own snapshot of the line items and requires a linked customer (used to resolve the email on every run). When the start date is today the first invoice is generated and sent immediately; a future start date just schedules the first run.
curl --request POST \
"https://app.dimepayments.com/api/recurring-invoice/create" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"lines\": [
{
\"item_id\": 5,
\"name\": \"Monthly retainer\",
\"description\": \"Support plan\",
\"quantity\": 1,
\"unit_price\": 500
}
]
}
}"
{
"data": {
"id": null,
"status": "Active",
"recurrence_schedule": "Monthly",
"payment_terms": "net_15",
"start_date": "2026-08-05",
"end_date": null,
"next_run_date": "2026-09-05",
"last_run_date": null,
"thank_you_note": null,
"customer": {
"id": 15618,
"name": "Pauline Runte",
"email": "[email protected]"
},
"items": [],
"upcoming_run_dates": [
"2026-09-05",
"2026-10-05",
"2026-11-05"
],
"invoices": []
}
}
Cancels an active recurring-invoice template. No further invoices are generated. Only active templates can be cancelled.
curl --request POST \
"https://app.dimepayments.com/api/recurring-invoice/cancel" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"status": "Active",
"recurrence_schedule": "Monthly",
"payment_terms": "net_15",
"start_date": "2026-08-05",
"end_date": null,
"next_run_date": "2026-09-05",
"last_run_date": null,
"thank_you_note": null,
"customer": {
"id": 15619,
"name": "Marcelo Predovic",
"email": "[email protected]"
},
"items": [],
"upcoming_run_dates": [
"2026-09-05",
"2026-10-05",
"2026-11-05"
],
"invoices": []
}
}
APIs for managing payment methods associated with customers. Depending on API KEY permissions, one should be able to list, show, create, update, and delete payment methods.
This endpoint shows all payment methods for a customer. Must pass at least one filter to select a specific customer
curl --request GET \
--get "https://app.dimepayments.com/api/payment-method/list" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345
},
\"filters\": {
\"phone\": \"+15551237890\",
\"uuid\": \"3c37db03-dc71-4e8b-90e7-6668290b7c3d\",
\"email\": \"[email protected]\"
}
}"
{
"data": [
{
"id": 1,
"type": "cc",
"token": "B6EXEPCIC8WGK63Y19RE5222",
"first_name": "Lisa",
"last_name": "Wallow ",
"cc_name_on_card": "Lisa Wallow",
"cc_last_four": "5222",
"cc_expiration_date": "08/2028",
"cc_brand": "Visa",
"status": "New",
"status_date": "2026-04-20 08:32:30",
"enabled": true,
"default": false,
"addr1": "1504 Minnesota Ave",
"addr2": "",
"addr3": null,
"city": "Kenner",
"state": "LA",
"zip": "30534"
},
{
"id": 1,
"type": "cc",
"token": "B6EXEPCIC8WGK63Y19RE5222",
"first_name": "Lisa",
"last_name": "Wallow ",
"cc_name_on_card": "Lisa Wallow",
"cc_last_four": "5222",
"cc_expiration_date": "08/2028",
"cc_brand": "Visa",
"status": "New",
"status_date": "2026-04-20 08:32:30",
"enabled": true,
"default": false,
"addr1": "1504 Minnesota Ave",
"addr2": "",
"addr3": null,
"city": "Kenner",
"state": "LA",
"zip": "30534"
}
],
"links": {
"prev": null,
"next": null
},
"meta": {
"path": "/",
"per_page": 15,
"next_cursor": null,
"prev_cursor": null
}
}
This endpoint shows a specific payment method for a customer. Must pass at least one filter to select a specific customer
curl --request GET \
--get "https://app.dimepayments.com/api/payment-method/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345,
\"payment_method_id\": 12345
},
\"filters\": {
\"phone\": \"+15551237890\",
\"uuid\": \"3c37db03-dc71-4e8b-90e7-6668290b7c3d\",
\"email\": \"[email protected]\"
}
}"
{
"data": {
"id": 1,
"type": "cc",
"token": "B6EXEPCIC8WGK63Y19RE5222",
"first_name": "Lisa",
"last_name": "Wallow ",
"cc_name_on_card": "Lisa Wallow",
"cc_last_four": "5222",
"cc_expiration_date": "08/2028",
"cc_brand": "Visa",
"status": "New",
"status_date": "2026-04-20 08:32:30",
"enabled": true,
"default": false,
"addr1": "1504 Minnesota Ave",
"addr2": "",
"addr3": null,
"city": "Kenner",
"state": "LA",
"zip": "30534"
}
}
This endpoint creates a new payment method for a customer. Must pass at least one filter to select a specific customer
curl --request POST \
"https://app.dimepayments.com/api/payment-method/create" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"uuid\": \"3c37db03-dc71-4e8b-90e7-6668290b7c3d\",
\"sid\": 12345,
\"type\": \"cc\",
\"cc_name_on_card\": \"John Doe\",
\"cc_number\": \"7890\",
\"cc_expiration_date\": \"01\\/2025\",
\"cc_cvv\": \"1234\",
\"cc_brand\": \"Visa\",
\"ach_bank_account_name\": \"Acme Inc.\",
\"ach_routing_number\": \"123456789\",
\"ach_account_number\": \"123456789\",
\"ach_ownership_type\": \"Personal\",
\"ach_account_type\": \"Checking\",
\"ach_bank_name\": \"Wells Fargo\",
\"default\": true,
\"addr1\": \"123 First St.\",
\"addr2\": \"Suite 111\",
\"city\": \"Alpharetta\",
\"state\": \"GA\",
\"zip\": \"30009\"
}
}"
{
"data": {
"id": 1,
"type": "cc",
"token": "B6EXEPCIC8WGK63Y19RE5222",
"first_name": "Lisa",
"last_name": "Wallow ",
"cc_name_on_card": "Lisa Wallow",
"cc_last_four": "5222",
"cc_expiration_date": "08/2028",
"cc_brand": "Visa",
"status": "New",
"status_date": "2026-04-20 08:32:30",
"enabled": true,
"default": false,
"addr1": "1504 Minnesota Ave",
"addr2": "",
"addr3": null,
"city": "Kenner",
"state": "LA",
"zip": "30534"
}
}
This endpoint updates a payment method for a customer. Must pass at least one filter to select a specific customer
curl --request PATCH \
"https://app.dimepayments.com/api/payment-method/update" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"uuid\": \"6ff8f7f6-1eb3-3525-be4a-3932c805afed\",
\"sid\": 12345,
\"payment_method_id\": 4326.41688,
\"type\": \"cc\",
\"cc_name_on_card\": \"John Doe\",
\"cc_number\": \"7890\",
\"cc_expiration_date\": \"01\\/2025\",
\"cc_cvv\": \"1234\",
\"cc_brand\": \"Visa\",
\"ach_bank_account_name\": \"Acme Inc.\",
\"ach_routing_number\": \"123456789\",
\"ach_account_number\": \"123456789\",
\"ach_ownership_type\": \"Personal\",
\"ach_account_type\": \"Checking\",
\"ach_bank_name\": \"Wells Fargo\",
\"default\": true,
\"addr1\": \"123 First St.\",
\"addr2\": \"Suite 111\",
\"city\": \"Alpharetta\",
\"state\": \"GA\",
\"zip\": \"30009\"
}
}"
{
"data": {
"id": 1,
"type": "cc",
"token": "B6EXEPCIC8WGK63Y19RE5222",
"first_name": "Lisa",
"last_name": "Wallow ",
"cc_name_on_card": "Lisa Wallow",
"cc_last_four": "5222",
"cc_expiration_date": "08/2028",
"cc_brand": "Visa",
"status": "New",
"status_date": "2026-04-20 08:32:30",
"enabled": true,
"default": false,
"addr1": "1504 Minnesota Ave",
"addr2": "",
"addr3": null,
"city": "Kenner",
"state": "LA",
"zip": "30534"
}
}
This endpoint deletes a payment method for a customer. Must pass at least one filter to select a specific customer
curl --request POST \
"https://app.dimepayments.com/api/payment-method/delete" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345,
\"payment_method_id\": 12345,
\"uuid\": \"3c37db03-dc71-4e8b-90e7-6668290b7c3d\"
}
}"
{
"data": {
"message": "Payment Method deleted successfully."
}
}
APIs for managing recurring payments. Depending on API KEY permissions, one should be able to create, edit, pause, cancel along with other functions.
Retrieves a list of recurring payments for a given Merchant, filtered by various parameters.
curl --request GET \
--get "https://app.dimepayments.com/api/recurring-payment/list" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": \"12345\"
},
\"filters\": {
\"status\": \"Active, Failed, Paused, Canceled\",
\"customer_uuid\": \"cust_456\"
}
}"
{
"data": [
{
"id": 1,
"name": "Car Was Solutions ",
"amount": "4,574.99",
"start_date": "2024-11-07T05:00:00.000000Z",
"end_date": "2026-12-31T05:00:00.000000Z",
"recurrence_schedule": "Monthly",
"last_run_date": "2025-12-15T05:00:00.000000Z",
"last_run_status": "Failed",
"last_run_failed_count": 3,
"next_run_date": null,
"status": "Cancelled",
"paused_until_date": null,
"customer_uuid": "9a242468-6b4e-4382-a61b-a728fbc8edae",
"cancelled_at": "2026-06-29T04:00:00.000000Z",
"error": "DECLINE",
"payment_method": {
"id": 7,
"type": "cc",
"last_four": "4003",
"expiration": "09/2029",
"zip": "",
"name_on_card": "Geo Perez"
},
"shipping_address": {
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
},
{
"id": 1,
"name": "Car Was Solutions ",
"amount": "4,574.99",
"start_date": "2024-11-07T05:00:00.000000Z",
"end_date": "2026-12-31T05:00:00.000000Z",
"recurrence_schedule": "Monthly",
"last_run_date": "2025-12-15T05:00:00.000000Z",
"last_run_status": "Failed",
"last_run_failed_count": 3,
"next_run_date": null,
"status": "Cancelled",
"paused_until_date": null,
"customer_uuid": "9a242468-6b4e-4382-a61b-a728fbc8edae",
"cancelled_at": "2026-06-29T04:00:00.000000Z",
"error": "DECLINE",
"payment_method": {
"id": 7,
"type": "cc",
"last_four": "4003",
"expiration": "09/2029",
"zip": "",
"name_on_card": "Geo Perez"
},
"shipping_address": {
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
}
],
"links": {
"prev": null,
"next": null
},
"meta": {
"path": "/",
"per_page": 15,
"next_cursor": null,
"prev_cursor": null
}
}
Pauses a scheduled recurring payment. If pause_until_date is not passed, it will be set to 2099-12-31
curl --request PATCH \
"https://app.dimepayments.com/api/recurring-payment/pause" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": \"12345\",
\"recurring_payment_id\": 12345,
\"pause_until_date\": \"2021-01-01 00:00:00\"
}
}"
{
"data": {
"id": 1,
"name": "Car Was Solutions ",
"amount": "4,574.99",
"start_date": "2024-11-07T05:00:00.000000Z",
"end_date": "2026-12-31T05:00:00.000000Z",
"recurrence_schedule": "Monthly",
"last_run_date": "2025-12-15T05:00:00.000000Z",
"last_run_status": "Failed",
"last_run_failed_count": 3,
"next_run_date": null,
"status": "Cancelled",
"paused_until_date": null,
"customer_uuid": "9a242468-6b4e-4382-a61b-a728fbc8edae",
"cancelled_at": "2026-06-29T04:00:00.000000Z",
"error": "DECLINE",
"payment_method": {
"id": 7,
"type": "cc",
"last_four": "4003",
"expiration": "09/2029",
"zip": "",
"name_on_card": "Geo Perez"
},
"shipping_address": {
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
}
}
Cancels a scheduled recurring payment.
curl --request PATCH \
"https://app.dimepayments.com/api/recurring-payment/cancel" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": \"12345\",
\"recurring_payment_id\": 12345
}
}"
{
"data": {
"id": 1,
"name": "Car Was Solutions ",
"amount": "4,574.99",
"start_date": "2024-11-07T05:00:00.000000Z",
"end_date": "2026-12-31T05:00:00.000000Z",
"recurrence_schedule": "Monthly",
"last_run_date": "2025-12-15T05:00:00.000000Z",
"last_run_status": "Failed",
"last_run_failed_count": 3,
"next_run_date": null,
"status": "Cancelled",
"paused_until_date": null,
"customer_uuid": "9a242468-6b4e-4382-a61b-a728fbc8edae",
"cancelled_at": "2026-06-29T04:00:00.000000Z",
"error": "DECLINE",
"payment_method": {
"id": 7,
"type": "cc",
"last_four": "4003",
"expiration": "09/2029",
"zip": "",
"name_on_card": "Geo Perez"
},
"shipping_address": {
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
}
}
Activates a scheduled recurring payment. Set to status of Active and calculates next run date.
curl --request PATCH \
"https://app.dimepayments.com/api/recurring-payment/activate" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": \"12345\",
\"recurring_payment_id\": 12345
}
}"
{
"data": {
"id": 1,
"name": "Car Was Solutions ",
"amount": "4,574.99",
"start_date": "2024-11-07T05:00:00.000000Z",
"end_date": "2026-12-31T05:00:00.000000Z",
"recurrence_schedule": "Monthly",
"last_run_date": "2025-12-15T05:00:00.000000Z",
"last_run_status": "Failed",
"last_run_failed_count": 3,
"next_run_date": null,
"status": "Cancelled",
"paused_until_date": null,
"customer_uuid": "9a242468-6b4e-4382-a61b-a728fbc8edae",
"cancelled_at": "2026-06-29T04:00:00.000000Z",
"error": "DECLINE",
"payment_method": {
"id": 7,
"type": "cc",
"last_four": "4003",
"expiration": "09/2029",
"zip": "",
"name_on_card": "Geo Perez"
},
"shipping_address": {
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
}
}
Edits an existing recurring payment. All fields other than sid and recurring_payment_id are optional; only
the fields you pass will be updated. The customer cannot be changed, and a new payment method must belong to the
recurring payment's existing customer. When recurrence_schedule or start_date change on an Active payment,
the next run date is recalculated automatically.
curl --request PATCH \
"https://app.dimepayments.com/api/recurring-payment/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": \"12345\",
\"recurring_payment_id\": 12345,
\"name\": \"Rent\",
\"amount\": 1101.69,
\"start_date\": \"2025-06-12 13:26:00\",
\"end_date\": \"2026-06-12 13:26:00\",
\"recurrence_schedule\": \"Monthly\",
\"payment_method\": 69585,
\"shipping_address\": {
\"addr1\": \"123 Main St.\",
\"addr2\": \"apt 1\",
\"city\": \"Alpharetta.\",
\"state\": \"GA.\",
\"zip\": \"12345.\"
}
}
}"
{
"data": {
"id": 1,
"name": "Car Was Solutions ",
"amount": "4,574.99",
"start_date": "2024-11-07T05:00:00.000000Z",
"end_date": "2026-12-31T05:00:00.000000Z",
"recurrence_schedule": "Monthly",
"last_run_date": "2025-12-15T05:00:00.000000Z",
"last_run_status": "Failed",
"last_run_failed_count": 3,
"next_run_date": null,
"status": "Cancelled",
"paused_until_date": null,
"customer_uuid": "9a242468-6b4e-4382-a61b-a728fbc8edae",
"cancelled_at": "2026-06-29T04:00:00.000000Z",
"error": "DECLINE",
"payment_method": {
"id": 7,
"type": "cc",
"last_four": "4003",
"expiration": "09/2029",
"zip": "",
"name_on_card": "Geo Perez"
},
"shipping_address": {
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
}
}
Creates a scheduled recurring payment. The payment will run on the next date based on schedule and start date. So if you create one that starts on 2025-01-01 00:00:00 with Monthly, then the payment method will be charged on 2025-02-01 Recurring Payments run around 0500 EST.
curl --request POST \
"https://app.dimepayments.com/api/recurring-payment/create" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": \"12345\",
\"name\": \"Rent\",
\"amount\": 1101.69,
\"start_date\": \"2025-06-12 13:26:00\",
\"end_date\": \"2026-06-12 13:26:00\",
\"recurrence_schedule\": \"Monthly\",
\"payment_method\": 69585,
\"customer_uuid\": \"12312312-12312321-12312312-12312312\",
\"shipping_address\": {
\"addr1\": \"123 Main St.\",
\"addr2\": \"apt 1\",
\"city\": \"Alpharetta.\",
\"state\": \"GA.\",
\"zip\": \"12345.\"
}
}
}"
{
"data": {
"id": 1,
"name": "Car Was Solutions ",
"amount": "4,574.99",
"start_date": "2024-11-07T05:00:00.000000Z",
"end_date": "2026-12-31T05:00:00.000000Z",
"recurrence_schedule": "Monthly",
"last_run_date": "2025-12-15T05:00:00.000000Z",
"last_run_status": "Failed",
"last_run_failed_count": 3,
"next_run_date": null,
"status": "Cancelled",
"paused_until_date": null,
"customer_uuid": "9a242468-6b4e-4382-a61b-a728fbc8edae",
"cancelled_at": "2026-06-29T04:00:00.000000Z",
"error": "DECLINE",
"payment_method": {
"id": 7,
"type": "cc",
"last_four": "4003",
"expiration": "09/2029",
"zip": "",
"name_on_card": "Geo Perez"
},
"shipping_address": {
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
}
}
Show details of a scheduled recurring payment.
curl --request GET \
--get "https://app.dimepayments.com/api/recurring-payment/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": \"12345\",
\"recurring_payment_id\": 12345
}
}"
{
"data": {
"id": 1,
"name": "Car Was Solutions ",
"amount": "4,574.99",
"start_date": "2024-11-07T05:00:00.000000Z",
"end_date": "2026-12-31T05:00:00.000000Z",
"recurrence_schedule": "Monthly",
"last_run_date": "2025-12-15T05:00:00.000000Z",
"last_run_status": "Failed",
"last_run_failed_count": 3,
"next_run_date": null,
"status": "Cancelled",
"paused_until_date": null,
"customer_uuid": "9a242468-6b4e-4382-a61b-a728fbc8edae",
"cancelled_at": "2026-06-29T04:00:00.000000Z",
"error": "DECLINE",
"payment_method": {
"id": 7,
"type": "cc",
"last_four": "4003",
"expiration": "09/2029",
"zip": "",
"name_on_card": "Geo Perez"
},
"shipping_address": {
"addr1": null,
"addr2": null,
"city": null,
"state": null,
"zip": null
}
}
}
Delete a recurring payment.
curl --request POST \
"https://app.dimepayments.com/api/recurring-payment/delete" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": \"12345\",
\"recurring_payment_id\": 12345
}
}"
{
"data": {
"message": "Recurring payment successfully deleted."
}
}
Merchant-facing API for subscription plans (recurring offerings customers
subscribe to). The merchant is identified by data.sid; the token must carry
the matching subscription-plan:* ability. Mirrors the recurring-payment and
invoice API controllers.
curl --request GET \
--get "https://app.dimepayments.com/api/subscription-plan/list" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": [
{
"id": null,
"name": "Annual Support 20263",
"description": "Sint vel quasi aliquid ipsam incidunt eligendi et.",
"recurrence_schedule": "Monthly",
"status": "active",
"subtotal": 0,
"total": 0,
"token": "60wtj2NRTrNgTcgtHoFjR4QyOkzY0DX0F8QEGGf9",
"public_url": "http://app.dimepayments.com/subscribe/60wtj2NRTrNgTcgtHoFjR4QyOkzY0DX0F8QEGGf9",
"allow_public": true,
"created_at": null,
"items": []
},
{
"id": null,
"name": "Annual Support 65890",
"description": "Minima velit voluptatem qui accusantium.",
"recurrence_schedule": "Monthly",
"status": "active",
"subtotal": 0,
"total": 0,
"token": "c4DCXcw9Mkyg8iuT8xVRayrKXtQHbKVqlqBlHlSw",
"public_url": "http://app.dimepayments.com/subscribe/c4DCXcw9Mkyg8iuT8xVRayrKXtQHbKVqlqBlHlSw",
"allow_public": true,
"created_at": null,
"items": []
}
],
"links": {
"prev": null,
"next": null
},
"meta": {
"path": "/",
"per_page": 500,
"next_cursor": null,
"prev_cursor": null
}
}
curl --request GET \
--get "https://app.dimepayments.com/api/subscription-plan/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"name": "Monthly Membership 54634",
"description": "Qui commodi incidunt iure odit.",
"recurrence_schedule": "Monthly",
"status": "active",
"subtotal": 0,
"total": 0,
"token": "vIDIRwkNB27CwsENiKr38AYdPeZytOJa8XoDhqrm",
"public_url": "http://app.dimepayments.com/subscribe/vIDIRwkNB27CwsENiKr38AYdPeZytOJa8XoDhqrm",
"allow_public": true,
"created_at": null,
"items": []
}
}
The plan is created as a draft. Publish it (or use the merchant UI) before customers can subscribe.
curl --request POST \
"https://app.dimepayments.com/api/subscription-plan/create" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"lines\": [
{
\"item_id\": 5,
\"name\": \"Base membership\",
\"quantity\": 1,
\"unit_price\": 25
}
]
}
}"
{
"data": {
"id": null,
"name": "Community Circle 70546",
"description": "Quos velit et fugiat sunt nihil accusantium harum.",
"recurrence_schedule": "Monthly",
"status": "active",
"subtotal": 0,
"total": 0,
"token": "4jkvh5IzZIKDZrX4rrLl4wXo9qy2pe5mrUjsG8Y1",
"public_url": "http://app.dimepayments.com/subscribe/4jkvh5IzZIKDZrX4rrLl4wXo9qy2pe5mrUjsG8Y1",
"allow_public": true,
"created_at": null,
"items": []
}
}
Replaces the plan's fields and line items wholesale. Existing subscribers keep their own snapshot and are unaffected.
curl --request PATCH \
"https://app.dimepayments.com/api/subscription-plan/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"name": "Community Circle 63526",
"description": null,
"recurrence_schedule": "Monthly",
"status": "active",
"subtotal": 0,
"total": 0,
"token": "66wzWht5SMJNL6taEuGiwf18bA5gSvfrIpYilBV4",
"public_url": "http://app.dimepayments.com/subscribe/66wzWht5SMJNL6taEuGiwf18bA5gSvfrIpYilBV4",
"allow_public": true,
"created_at": null,
"items": []
}
}
Only plans with no subscribers can be deleted; otherwise archive it.
curl --request POST \
"https://app.dimepayments.com/api/subscription-plan/delete" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"message": "Subscription plan deleted"
}
}
Moves a draft plan to active so customers can subscribe. The plan must be a draft and carry at least one line item.
curl --request PATCH \
"https://app.dimepayments.com/api/subscription-plan/publish" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"name": "Monthly Membership 80304",
"description": "Commodi incidunt iure odit.",
"recurrence_schedule": "Monthly",
"status": "active",
"subtotal": 0,
"total": 0,
"token": "5DNHPKykkk7DTbyFSMxAuxoP3LmotnlkifsgA1V8",
"public_url": "http://app.dimepayments.com/subscribe/5DNHPKykkk7DTbyFSMxAuxoP3LmotnlkifsgA1V8",
"allow_public": true,
"created_at": null,
"items": []
}
}
Stops new subscriptions and hides it from the catalog. Existing subscribers keep their subscription.
curl --request PATCH \
"https://app.dimepayments.com/api/subscription-plan/archive" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"name": "Monthly Membership 14650",
"description": null,
"recurrence_schedule": "Monthly",
"status": "active",
"subtotal": 0,
"total": 0,
"token": "5v56HE0hPxQDoryDxFRsf5A5crj0wgbh4zz5ImIZ",
"public_url": "http://app.dimepayments.com/subscribe/5v56HE0hPxQDoryDxFRsf5A5crj0wgbh4zz5ImIZ",
"allow_public": true,
"created_at": null,
"items": []
}
}
Moves an archived plan back to draft so it can be reviewed and re-published.
allow_public stays off until the merchant opts back into the catalog.
curl --request PATCH \
"https://app.dimepayments.com/api/subscription-plan/unarchive" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"name": "Monthly Membership 62492",
"description": "Iure odit et et modi ipsum nostrum omnis.",
"recurrence_schedule": "Monthly",
"status": "active",
"subtotal": 0,
"total": 0,
"token": "yAYxy8w229nZVwlZZgyCCry9ybRuhSxnzFroKM7I",
"public_url": "http://app.dimepayments.com/subscribe/yAYxy8w229nZVwlZZgyCCry9ybRuhSxnzFroKM7I",
"allow_public": true,
"created_at": null,
"items": []
}
}
Charges the first payment against the customer's saved payment method and enrolls them in the plan. The plan must be active. Fires SUBSCRIPTION_CREATED.
curl --request POST \
"https://app.dimepayments.com/api/subscription-plan/subscribe" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"subscription_id": 10,
"status": "Active",
"next_run_date": "2026-08-21",
"transaction_number": "TXN-123",
"amount": 25
}
}
Merchant-facing API for individual customer subscriptions (enrollments in a
plan). The merchant is identified by data.sid; the token must carry the
matching subscription:* ability. Lifecycle transitions delegate to the
{@see \App\Actions\Subscription} action classes so the matching SUBSCRIPTION_*
webhook always fires. Mirrors the recurring-payment and subscription-plan API
controllers.
curl --request GET \
--get "https://app.dimepayments.com/api/subscription/list" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"data\": {
\"sid\": 12345
},
\"filters\": {
\"status\": \"Active\",
\"customer_uuid\": \"9c1e6a7e-1f2b-4c3d-8e9f-0a1b2c3d4e5f\"
}
}"
{
"data": [
{
"id": null,
"subscription_plan_id": 55,
"plan_name": "Premium Plan 24492",
"amount": "0.00",
"recurrence_schedule": "Monthly",
"start_date": "2026-07-05T04:00:00.000000Z",
"end_date": null,
"last_run_date": null,
"last_run_status": null,
"last_run_failed_count": 0,
"next_run_date": "2026-09-05T04:00:00.000000Z",
"status": "Active",
"paused_until_date": null,
"cancelled_at": null,
"cancelled_by": null,
"customer_uuid": "a693e8c5-c580-41c3-83e9-8e70b96e06af",
"error": null,
"payment_method": {
"id": 5912,
"type": "cc",
"last_four": "3642",
"expiration": "08/2030"
}
},
{
"id": null,
"subscription_plan_id": 56,
"plan_name": "Monthly Membership 88481",
"amount": "0.00",
"recurrence_schedule": "Monthly",
"start_date": "2026-07-05T04:00:00.000000Z",
"end_date": null,
"last_run_date": null,
"last_run_status": null,
"last_run_failed_count": 0,
"next_run_date": "2026-09-05T04:00:00.000000Z",
"status": "Active",
"paused_until_date": null,
"cancelled_at": null,
"cancelled_by": null,
"customer_uuid": "cb39ad44-9076-424f-8aeb-732995416827",
"error": null,
"payment_method": {
"id": 5913,
"type": "cc",
"last_four": "5053",
"expiration": "08/2030"
}
}
],
"links": {
"prev": null,
"next": null
},
"meta": {
"path": "/",
"per_page": 500,
"next_cursor": null,
"prev_cursor": null
}
}
curl --request GET \
--get "https://app.dimepayments.com/api/subscription/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"subscription_plan_id": 57,
"plan_name": "Monthly Membership 45193",
"amount": "0.00",
"recurrence_schedule": "Monthly",
"start_date": "2026-07-05T04:00:00.000000Z",
"end_date": null,
"last_run_date": null,
"last_run_status": null,
"last_run_failed_count": 0,
"next_run_date": "2026-09-05T04:00:00.000000Z",
"status": "Active",
"paused_until_date": null,
"cancelled_at": null,
"cancelled_by": null,
"customer_uuid": "824dfac0-b2b5-4725-a885-7369fcf2c1ae",
"error": null,
"payment_method": {
"id": 5914,
"type": "cc",
"last_four": "8330",
"expiration": "08/2030"
}
}
}
Pauses an active subscription until the given date. If data.pause_until_date
is omitted it pauses indefinitely. Fires the SUBSCRIPTION_PAUSED webhook.
curl --request PATCH \
"https://app.dimepayments.com/api/subscription/pause" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"subscription_plan_id": 58,
"plan_name": "Monthly Membership 30805",
"amount": "0.00",
"recurrence_schedule": "Monthly",
"start_date": "2026-07-05T04:00:00.000000Z",
"end_date": null,
"last_run_date": null,
"last_run_status": null,
"last_run_failed_count": 0,
"next_run_date": "2026-09-05T04:00:00.000000Z",
"status": "Active",
"paused_until_date": null,
"cancelled_at": null,
"cancelled_by": null,
"customer_uuid": "9f733ba6-14d5-43be-bd56-34f5c76f730d",
"error": null,
"payment_method": {
"id": 5915,
"type": "cc",
"last_four": "1161",
"expiration": "08/2030"
}
}
}
Reactivates a paused subscription and recomputes its next charge date. Fires
the SUBSCRIPTION_RESUMED webhook.
curl --request PATCH \
"https://app.dimepayments.com/api/subscription/resume" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"subscription_plan_id": 59,
"plan_name": "Monthly Membership 93082",
"amount": "0.00",
"recurrence_schedule": "Monthly",
"start_date": "2026-07-05T04:00:00.000000Z",
"end_date": null,
"last_run_date": null,
"last_run_status": null,
"last_run_failed_count": 0,
"next_run_date": "2026-09-05T04:00:00.000000Z",
"status": "Active",
"paused_until_date": null,
"cancelled_at": null,
"cancelled_by": null,
"customer_uuid": "578c4533-34cd-4683-b8ae-37162027228f",
"error": null,
"payment_method": {
"id": 5916,
"type": "cc",
"last_four": "7849",
"expiration": "08/2030"
}
}
}
Permanently cancels a subscription — no further charges are made. Fires the
SUBSCRIPTION_CANCELLED webhook.
curl --request PATCH \
"https://app.dimepayments.com/api/subscription/cancel" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
{
"data": {
"id": null,
"subscription_plan_id": 60,
"plan_name": "Monthly Membership 43383",
"amount": "0.00",
"recurrence_schedule": "Monthly",
"start_date": "2026-07-05T04:00:00.000000Z",
"end_date": null,
"last_run_date": null,
"last_run_status": null,
"last_run_failed_count": 0,
"next_run_date": "2026-09-05T04:00:00.000000Z",
"status": "Active",
"paused_until_date": null,
"cancelled_at": null,
"cancelled_by": null,
"customer_uuid": "c67ad5df-c161-447c-856a-1f967b2f15d1",
"error": null,
"payment_method": {
"id": 5917,
"type": "cc",
"last_four": "2895",
"expiration": "08/2030"
}
}
}
APIs for use through Zapier. Depending on API KEY permissions, one should be able to see customers and transactions data.
Get a list of all new customers since the last time it was checked.
curl --request GET \
--get "https://app.dimepayments.com/api/zapier/new-customers" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"data": [
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"phone": "1234567890",
"email": "[email protected]",
"addr1": "123 Main St",
"addr2": "",
"addr3": "",
"city": "Anytown",
"state": "CA",
"zip": "12345",
"country": "US"
}
]
}
Get a list of all transactions for a Merchant
curl --request GET \
--get "https://app.dimepayments.com/api/zapier/transactions" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [
{
"amount": "100.00",
"business": "Acme Inc",
"transaction_date": "2020-10-15 12:00:00",
"customer_uuid": "1234567890",
"first_name": "John",
"last_name": "Doe",
"customer_phone": "1234567890",
"customer_email": "[email protected]"
},
{
"amount": "100.00",
"business": "Acme Inc",
"transaction_date": "2020-10-15 12:00:00",
"customer_uuid": "1234567890",
"first_name": "John",
"last_name": "Doe",
"customer_phone": "1234567890",
"customer_email": "[email protected]"
}
]
Get a list of all transactions for a given customer using their phone number
curl --request GET \
--get "https://app.dimepayments.com/api/zapier/transactions/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"start_date\": \"2020-10-15\",
\"end_date\": \"2020-10-15\",
\"last_days\": 90
}"
[
{
"amount": "100.00",
"transaction_date": "2020-10-15 12:00:00",
"invoice_number": "1234567890",
"first_name": "John",
"last_name": "Doe",
"phone": "1234567890",
"email": "[email protected]"
}
]
Get the most recent transactions details
curl --request GET \
--get "https://app.dimepayments.com/api/zapier/new-transactions" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" [
{
"id": 1,
"invoice_number": "1234567890",
"amount": "100.00",
"transaction_date": "2020-10-15 12:00:00",
"first_name": "John",
"last_name": "Doe",
"phone": "1234567890",
"email": "[email protected]"
}
]