openapi: 3.0.3
info:
title: 'Dime Payments API Documentation'
description: 'A simple, basic API for managing Merchants through Dime Payments. JSON based REST API'
version: 1.0.0
servers:
-
url: 'https://app.dimepayments.com'
tags:
-
name: 'Merchant management'
description: ''
-
name: 'Transaction management'
description: "\nAPIs for managing transactions. Depending on API KEY permissions, one should be able to\ncharge credit cards, ACH, Google/Apple Pay wallets along with other functions."
-
name: 'Customer management'
description: "\nAPIs for managing customers. Depending on API KEY permissions, one should be able to\nlist, create, update, and delete customers along with several other customer specific requests."
-
name: 'Deposit management'
description: ''
-
name: 'Payment Method management'
description: "\nAPIs for managing payment methods associated with customers. Depending on API KEY permissions, one should be able to\nlist, show, create, update, and delete payment methods."
-
name: 'Recurring Payments management'
description: "\nAPIs for managing recurring payments. Depending on API KEY permissions, one should be able to\ncreate, edit, pause, cancel along with other functions."
-
name: Zapier
description: "\nAPIs for use through Zapier. Depending on API KEY permissions, one should be able to\nsee customers and transactions data."
components:
securitySchemes:
default:
type: http
scheme: bearer
description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token under your profile in top right.'
security:
-
default: []
paths:
/api/merchant/list:
get:
summary: 'List Merchants'
operationId: listMerchants
description: 'Get a list of all merchants and their fields'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: "{\n\"data\": [\n {\n \"name\": \"Streich, Kub and Steuber\",\n \"sid\": \"000010\",\n \"mcc\": \"8661\",\n \"slug\": \"deleniti-sunt-at-unde\",\n \"pub_api_key\": \"pub_1zBYuKWfl4hvL71yOt40lM3QfMf\",\n \"processor_mid\": null,\n \"active\": true,\n \"active_at\": null,\n \"g_pay\": false,\n \"a_pay\": false,\n \"pci_compliance\": false,\n \"website\": null,\n \"addr1\": null,\n \"addr2\": null,\n \"addr3\": null,\n \"city\": null,\n \"state\": null,\n \"zip\": null,\n \"phone\": null,\n \"contracted_date\": null,\n \"primary_phone\": null,\n \"payment_token\": null,\n \"primary_email\": null,\n \"primary_name\": null\n},\n{\n \"name\": \"Kling, McGlynn and McKenzie\",\n \"sid\": \"000002\",\n \"mcc\": \"8661\",\n \"slug\": \"sint-inventore-cum-tempore\",\n \"pub_api_key\": \"pkapi_cert_CjsyGGXamvz9xxcrri\",\n \"processor_mid\": \"\",\n \"active\": true,\n \"active_at\": null,\n \"g_pay\": true,\n \"a_pay\": true,\n \"pci_compliance\": true,\n \"website\": \"https:\\/\\/www.google.com\",\n \"addr1\": \"78686 hjgjgj gjh\",\n \"addr2\": \"hkjhk 7777\",\n \"addr3\": \"\",\n \"city\": \"city\",\n \"state\": \"GA\",\n \"zip\": \"30303\",\n \"phone\": \"7707892072\",\n \"contracted_date\": null,\n \"primary_phone\": \"7707892072\",\n \"payment_token\": null,\n \"primary_email\": \"rtaylor82@gmail.com\",\n \"primary_name\": \"Ryan Taylor\"\n },"
400:
description: 'Failed validation'
content:
application/json:
schema:
type: object
example:
errors:
filters.start_date:
- 'The filters.start_date field must be a valid date.'
properties:
errors:
type: object
properties:
filters.start_date:
type: array
example:
- 'The filters.start_date field must be a valid date.'
items:
type: string
401:
description: 'Bad API Key Permission'
content:
application/json:
schema:
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Merchant management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
filters:
type: object
description: ''
example: []
nullable: false
properties:
start_date:
type: date
description: 'required_with:filters.end_date The start date for filtering customers in `Y-m-d H:i:s` format. Must be before or equal to filters.end_date.'
example: '2024-01-01 00:00:00'
nullable: false
end_date:
type: date
description: 'required_with:filters.start_date The end date for filtering customers in `Y-m-d H:i:s` format. Must be after or equal to filters.start_date.'
example: '2024-12-31 23:59:59'
nullable: false
/api/merchant/show:
get:
summary: "Show a specific Merchant's Details"
operationId: showASpecificMerchantsDetails
description: 'List all non-protected fields for a merchant. Other fields are available using their specific requests.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
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: ben@dimepayments.com
primary_name: 'Ben Habeck'
properties:
data:
type: object
properties:
name:
type: string
example: 'Dime Payments'
description: 'The name of the merchant.'
enum: []
sid:
type: string
example: '00001'
description: 'The unique Dime Payments ID for the merchant.'
enum: []
mcc:
type: string
example: '8999'
description: 'The MCC Code assigned to the merchant.'
enum: []
slug:
type: string
example: pay
description: "The unique address for the merchant's pay page. i.e. https://dimepayments.com/{slug}."
enum: []
pub_api_key:
type: string
example: pkapi_prod_B5n2hQhy6uAp1rLjqs
description: "The public API key for the gateway's tokenizer."
enum: []
processor_mid:
type: string
example: '650000012366624'
description: "The unique ID for the processor's merchant account.'"
enum: []
active:
type: boolean
example: true
description: 'If this merchant is active on Dime Payments.'
enum: []
active_at:
type: string
example: null
description: 'date The date the merchant was made active.'
enum: []
g_pay:
type: boolean
example: false
description: 'If this merchant is active on Google Pay.'
enum: []
a_pay:
type: boolean
example: false
description: 'If this merchant is active on Apple Pay.'
enum: []
pci_compliance:
type: boolean
example: true
description: 'If this merchant has an active AoC on file with Dime Payments.'
enum: []
website:
type: string
example: 'https://dimepayments.com'
description: "The merchant's website."
enum: []
addr1:
type: string
example: '53 S. Main St'
description: "The merchant's first address line."
enum: []
addr2:
type: string
example: ''
description: "The merchant's second address line (optional)."
enum: []
city:
type: string
example: Alpharetta
description: "The merchant's city."
enum: []
state:
type: string
example: GA
description: "The merchant's state."
enum: []
zip:
type: string
example: '30009'
description: "The merchant's zip code."
enum: []
phone:
type: string
example: '4049064975'
description: "The merchant's phone number."
enum: []
primary_phone:
type: string
example: '4049064975'
description: "The merchant's primary contact phone number."
enum: []
primary_email:
type: string
example: ben@dimepayments.com
description: "The merchant's primary email address."
enum: []
primary_name:
type: string
example: 'Ben Habeck'
description: "The merchant's primary full name."
enum: []
400:
description: 'Failed validation'
content:
application/json:
schema:
type: object
example:
errors:
filters.start_date:
- 'The filters.start_date field must be a valid date.'
properties:
errors:
type: object
properties:
filters.start_date:
type: array
example:
- 'The filters.start_date field must be a valid date.'
items:
type: string
401:
description: 'Bad API Key Permission'
content:
application/json:
schema:
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Merchant management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: numeric
description: 'ID of a merchant account.'
example: '1234567'
nullable: false
required:
- sid
/api/merchant/create:
post:
summary: 'Create Merchant'
operationId: createMerchant
description: 'Create a merchant record which can be used for generating an application.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
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: ben@dimepayments.com
primary_name: 'Ben Habeck'
properties:
data:
type: object
properties:
name:
type: string
example: 'Dime Payments'
description: 'The name of the merchant.'
enum: []
sid:
type: string
example: '00001'
description: 'The unique Dime Payments ID for the merchant.'
enum: []
mcc:
type: string
example: '8999'
description: 'The MCC Code assigned to the merchant.'
enum: []
slug:
type: string
example: pay
description: "The unique address for the merchant's pay page. i.e. https://dimepayments.com/{slug}."
enum: []
pub_api_key:
type: string
example: pkapi_prod_B5n2hQhy6uAp1rLjqs
description: "The public API key for the gateway's tokenizer."
enum: []
processor_mid:
type: string
example: '650000012366624'
active:
type: boolean
example: true
description: 'If this merchant is active on Dime Payments.'
enum: []
active_at:
type: string
example: null
description: 'date The date the merchant was made active.'
enum: []
g_pay:
type: boolean
example: false
description: 'If this merchant is active on Google Pay.'
enum: []
a_pay:
type: boolean
example: false
description: 'If this merchant is active on Apple Pay.'
enum: []
pci_compliance:
type: boolean
example: true
description: 'If this merchant has an active AoC on file with Dime Payments.'
enum: []
website:
type: string
example: 'https://dimepayments.com'
description: "The merchant's website."
enum: []
addr1:
type: string
example: '53 S. Main St'
description: "The merchant's first address line."
enum: []
addr2:
type: string
example: ''
description: "The merchant's second address line (optional)."
enum: []
city:
type: string
example: Alpharetta
description: "The merchant's city."
enum: []
state:
type: string
example: GA
description: "The merchant's state."
enum: []
zip:
type: string
example: '30009'
description: "The merchant's zip code."
enum: []
phone:
type: string
example: '4049064975'
description: "The merchant's phone number."
enum: []
primary_phone:
type: string
example: '4049064975'
description: "The merchant's primary contact phone number."
enum: []
primary_email:
type: string
example: ben@dimepayments.com
description: "The merchant's primary email address."
enum: []
primary_name:
type: string
example: 'Ben Habeck'
description: "The merchant's primary full name."
enum: []
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Failed validation'
type: object
example:
errors:
data.phone:
- 'The data.phone field is required.'
properties:
errors:
type: object
properties:
data.phone:
type: array
example:
- 'The data.phone field is required.'
items:
type: string
-
description: 'Merchant not created'
type: object
example:
data:
message: 'Something went wrong: contact Dime Payments Rep'
properties:
data:
type: object
properties:
message:
type: string
example: 'Something went wrong: contact Dime Payments Rep'
401:
description: 'Bad API Key Permission'
content:
application/json:
schema:
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Merchant management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
name:
type: string
description: 'The name of the Merchant. Avoid special characters like \ or ''.'
example: 'Acme Inc'
nullable: false
slug:
type: string
description: 'Must be unique and HTML URL Compliant.'
example: acme-inc
nullable: false
mcc:
type: integer
description: 'Must be 4 digits and pre-approved by Dime Payments.'
example: 8661
nullable: false
processor_config_one:
type: string
description: 'Must be on approved list, this is provided by your Dime Payments Rep.'
example: Tier1
nullable: false
website:
type: string
description: 'Must be a valid full URL.'
example: 'https://acme-inc.com'
nullable: false
addr1:
type: string
description: 'Address line 1 of the Merchant.'
example: '123 4th Street'
nullable: false
addr2:
type: string
description: 'optional Address line 2 of the Merchant.'
example: 'Suite 5'
nullable: true
city:
type: string
description: 'The city of the Merchant.'
example: Alpharetta
nullable: false
state:
type: string
description: 'The state abbreviation of teh Merchant.'
example: GA
nullable: false
zip:
type: integer
description: 'The 5-digit zip of the Merchant.'
example: 30009
nullable: false
phone:
type: string
description: 'The main phone number for the Merchant in e164 format.'
example: '+177012345678'
nullable: false
primary_phone:
type: string
description: 'The phone of the main contact for the Merchant in e164 format.'
example: '+140412345678'
nullable: false
primary_name:
type: string
description: 'The full name of the main contact for the Merchant.'
example: 'John Doe'
nullable: false
primary_email:
type: string
description: 'The email of the main contact for the Merchant.'
example: john@acme.com
nullable: false
industry:
type: string
description: 'Must be a supported Industry name, contact Dime Payments Rep for values.'
example: Church
nullable: false
required:
- name
- slug
- mcc
- processor_config_one
- website
- addr1
- city
- state
- zip
- phone
- primary_phone
- primary_name
- primary_email
- industry
/api/merchant/update:
patch:
summary: "Update a specific Merchant's Details"
operationId: updateASpecificMerchantsDetails
description: "Update a Merchant's details."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
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: ben@dimepayments.com
primary_name: 'Ben Habeck'
properties:
data:
type: object
properties:
name:
type: string
example: 'Dime Payments'
description: 'The name of the merchant.'
enum: []
sid:
type: string
example: '00001'
description: 'The unique Dime Payments ID for the merchant.'
enum: []
mcc:
type: string
example: '8999'
description: 'The MCC Code assigned to the merchant.'
enum: []
slug:
type: string
example: pay
description: "The unique address for the merchant's pay page. i.e. https://dimepayments.com/{slug}."
enum: []
pub_api_key:
type: string
example: pkapi_prod_B5n2hQhy6uAp1rLjqs
description: "The public API key for the gateway's tokenizer."
enum: []
processor_mid:
type: string
example: '650000012366624'
active:
type: boolean
example: true
description: 'If this merchant is active on Dime Payments.'
enum: []
active_at:
type: string
example: null
description: 'date The date the merchant was made active.'
enum: []
g_pay:
type: boolean
example: false
description: 'If this merchant is active on Google Pay.'
enum: []
a_pay:
type: boolean
example: false
description: 'If this merchant is active on Apple Pay.'
enum: []
pci_compliance:
type: boolean
example: true
description: 'If this merchant has an active AoC on file with Dime Payments.'
enum: []
website:
type: string
example: 'https://dimepayments.com'
description: "The merchant's website."
enum: []
addr1:
type: string
example: '53 S. Main St'
description: "The merchant's first address line."
enum: []
addr2:
type: string
example: ''
description: "The merchant's second address line (optional)."
enum: []
city:
type: string
example: Alpharetta
description: "The merchant's city."
enum: []
state:
type: string
example: GA
description: "The merchant's state."
enum: []
zip:
type: string
example: '30009'
description: "The merchant's zip code."
enum: []
phone:
type: string
example: '4049064975'
description: "The merchant's phone number."
enum: []
primary_phone:
type: string
example: '4049064975'
description: "The merchant's primary contact phone number."
enum: []
primary_email:
type: string
example: ben@dimepayments.com
description: "The merchant's primary email address."
enum: []
primary_name:
type: string
example: 'Ben Habeck'
description: "The merchant's primary full name."
enum: []
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Failed validation'
type: object
example:
errors:
data.phone:
- 'The data.phone field is required.'
properties:
errors:
type: object
properties:
data.phone:
type: array
example:
- 'The data.phone field is required.'
items:
type: string
-
description: 'Merchant not created'
type: object
example:
data:
message: 'Something went wrong: contact Dime Payments Rep'
properties:
data:
type: object
properties:
message:
type: string
example: 'Something went wrong: contact Dime Payments Rep'
401:
description: 'Bad API Key Permission'
content:
application/json:
schema:
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Merchant management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant to update.'
example: 99
nullable: false
slug:
type: string
description: 'Must be unique and HTML URL Compliant.'
example: acme-inc
nullable: false
name:
type: string
description: 'The name of the Merchant. Avoid special characters like \ or ''.'
example: 'Acme Inc'
nullable: false
mcc:
type: integer
description: 'Must be 4 digits and pre-approved by Dime Payments.'
example: 8661
nullable: false
processor_config_one:
type: string
description: 'Must be on approved list, this is provided by your Dime Payments Rep.'
example: Tier1
nullable: false
website:
type: string
description: 'Must be a valid full URL.'
example: 'https://acme-inc.com'
nullable: false
addr1:
type: string
description: 'Address line 1 of the Merchant.'
example: '123 4th Street'
nullable: false
addr2:
type: string
description: 'optional Address line 2 of the Merchant.'
example: 'Suite 5'
nullable: true
city:
type: string
description: 'The city of the Merchant.'
example: Alpharetta
nullable: false
state:
type: string
description: 'The state abbreviation of teh Merchant.'
example: GA
nullable: false
zip:
type: integer
description: 'The 5-digit zip of the Merchant.'
example: 30009
nullable: false
phone:
type: string
description: 'The main phone number for the Merchant in e164 format.'
example: '+177012345678'
nullable: false
primary_phone:
type: string
description: 'The phone of the main contact for the Merchant in e164 format.'
example: '+140412345678'
nullable: false
primary_name:
type: string
description: 'The full name of the main contact for the Merchant.'
example: 'John Doe'
nullable: false
primary_email:
type: string
description: 'The email of the main contact for the Merchant.'
example: john@acme.com
nullable: false
industry:
type: string
description: 'Must be a supported Industry name, contact Dime Payments Rep for values.'
example: Church
nullable: false
required:
- sid
- slug
- name
- mcc
- processor_config_one
- website
- addr1
- city
- state
- zip
- phone
- primary_phone
- primary_name
- primary_email
- industry
/api/merchant/get-form-link:
get:
summary: 'Get a unique, secure link to the signup application for a Merchant.'
operationId: getAUniqueSecureLinkToTheSignupApplicationForAMerchant
description: "Passed a merchant's ID, returns a full URL to the application for processor\napproval. This link expires in 48 hours."
parameters: []
responses:
200:
description: Success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"link\": \"https://app.dimepayments.com/some/link\",\n }"
400:
description: 'Failed validation'
content:
application/json:
schema:
type: object
example:
errors:
data.sid:
- 'The data.sid field is required.'
properties:
errors:
type: object
properties:
data.sid:
type: array
example:
- 'The data.sid field is required.'
items:
type: string
401:
description: 'Bad API Key Permission'
content:
application/json:
schema:
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Merchant management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: integer
description: 'The unique SID of the Merchant.'
example: 69
nullable: false
required:
- sid
/api/transactions:
get:
summary: 'List Transactions'
operationId: listTransactions
description: 'Retrieves a list of transactions for a given Merchant, filtered by various parameters.'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"transaction_type\": \"CC\",\n \"transaction_status\": \"CC Pending\",\n \"transaction_status_description\": \"A transaction that has not cleared yet\",\n \"transaction_number\": \"1234567890\",\n \"transaction_date\": \"2025-10-28T22:04:22.000000Z\",\n \"fund_date\": \"2025-10-28T22:04:22.000000Z\",\n \"settle_date\": \"2025-10-28T22:04:22.000000Z\",\n \"amount\": \"25.0000\",\n \"description\": \"\",\n \"status_code\": \"\",\n \"status_text\": \"\",\n \"email\": \"\",\n \"phone\": \"\",\n \"customer_uuid\": \"68d9feaa-04a9-4c48-8c00-a0b79c8b2f70\",\n \"multi_use_token\": \"\",\n \"pending\": true,\n \"transaction_info_id\": \"1231321321231\"\n \"parent_transaction_info_id\": \"1231321321231\"\n \"billing_address\": {\n \"first_name\": \"\",\n \"last_name\": \"\",\n \"addr1\": \"\",\n \"addr2\": \"\",\n \"city\": \"\",\n \"state\": \"\",\n \"zip\": \"\"\n },\n \"shipping_address\": {\n \"addr1\": \"123 Main St\",\n \"addr2\": \"apt 1\",\n \"city\": \"Alpharetta\",\n \"state\": \"GA\",\n \"zip\": \"12345\"\n }\n },\n {\n \"transaction_type\": \"CC\",\n \"transaction_status\": \"CC Pending\",\n \"transaction_status_description\": \"A transaction that has not cleared yet\",\n \"transaction_number\": \"\",\n \"transaction_date\": \"2025-10-28T22:04:22.000000Z\",\n \"fund_date\": \"2025-10-28T22:04:22.000000Z\",\n \"settle_date\": \"2025-10-28T22:04:22.000000Z\",\n \"amount\": \"25.0000\",\n \"description\": \"\",\n \"status_code\": \"\",\n \"status_text\": \"\",\n \"email\": \"\",\n \"phone\": \"\",\n \"customer_uuid\": \"68d9feaa-04a9-4c48-8c00-a0b79c8b2f70\",\n \"multi_use_token\": \"\",\n \"pending\": true,\n \"transaction_info_id\": \"1231321321231\"\n \"parent_transaction_info_id\": \"1231321321231\"\n \"billing_address\": {\n \"first_name\": \"\",\n \"last_name\": \"\",\n \"addr1\": \"\",\n \"addr2\": \"\",\n \"city\": \"\",\n \"state\": \"\",\n \"zip\": \"\"\n },\n \"shipping_address\": {\n \"addr1\": \"123 Main St\",\n \"addr2\": \"apt 1\",\n \"city\": \"Alpharetta\",\n \"state\": \"GA\",\n \"zip\": \"12345\"\n }\n }\n ]\n}"
400:
description: 'Failed validation'
content:
application/json:
schema:
type: object
example:
errors:
filters.start_date:
- 'The filters.start_date field must be a valid date.'
properties:
errors:
type: object
properties:
filters.start_date:
type: array
example:
- 'The filters.start_date field must be a valid date.'
items:
type: string
401:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: 'Token unauthorized'
type: string
example: '{"data": { "message": "Permission Denied."}'
-
description: 'Invalid merchant or affiliate authorization'
type: string
example: '{"data": { "message": "Unauthorized"}'
-
description: 'Invalid merchant or affiliate associations'
type: string
example: '{"data": { "message": "Not associated with affiliate"}'
404:
description: 'Invalid sid'
content:
text/plain:
schema:
type: string
example: '{"data": { "message": "No such Merchant"}'
tags:
- 'Transaction management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: string
description: 'The ID of the merchant that processed the transactions.'
example: '12345'
nullable: false
required:
- sid
filters:
type: object
description: ''
example: []
nullable: false
properties:
start_date:
type: date
description: 'The start date for filtering transactions in `Y-m-d H:i:s` format.'
example: '2021-01-01 00:00:00'
nullable: false
end_date:
type: date
description: 'The end date for filtering transactions in `Y-m-d H:i:s` format.'
example: '2021-12-31 23:59:59'
nullable: false
sweep_id:
type: string
description: 'The sweep ID of the transaction.'
example: 'sweep_123*'
nullable: false
customer_uuid:
type: string
description: 'The customer UUID associated with the transaction.'
example: cust_456
nullable: false
/api/transaction/charge-card:
post:
summary: 'Charge a Credit Card'
operationId: chargeACreditCard
description: "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\nrepresenting the card that can be used for transactions as well as the transactionId and the customerUUID if requested.\nIf 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.\nYou 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."
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"transaction_type\": \"Credit Card\",\n \"transaction_status\": \"Success\",\n \"transaction_status_description\": \"Transaction Successful\",\n \"transaction_number\": \"1234567890\",\n \"transaction_date\": \"2020-01-01\",\n \"fund_date\": \"2020-01-01\",\n \"settle_date\": \"2020-01-01\",\n \"amount\": \"100.00\",\n \"description\": \"a memo concerning this transaction\",\n \"status_code\": \"00\",\n \"status_text\": \"APPROVAL\",\n \"email\": \"email@email.com\",\n \"phone\": \"+17701234567\",\n \"customer_uuid\": \"66f1c230-1337-5g59-b43c-1bcb83adfaaa\"\n \"multi_use_token\": \"abcdefg123456790\",\n \"pending\": true,\n \"transaction_info_id\": \"1234567890\",\n \"parent_transaction_info_id\": \"1234567890\",\n \"billing_address\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"addr1\": \"123 Main St\",\n \"addr2\": \"Suite 100\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n}\n \"shipping_address\": {\n \"addr1\": \"12 Street Ave\",\n \"addr2\": \"Suite 123\",\n \"city\": \"Boulder\",\n \"state\": \"CO\",\n \"zip\": \"80302\"\n },\n }\n}"
400:
description: ''
content:
application/json:
schema:
type: object
example:
errors:
sid:
- 'The sid is required.'
properties:
errors:
type: object
properties:
sid:
type: array
example:
- 'The sid is required.'
items:
type: string
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Transaction management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
amount:
type: number
description: ''
example: 4326.41688
nullable: false
sid:
type: numeric
description: 'ID of merchant account processing the charge.'
example: '1234567'
nullable: false
phone:
type: phone
description: 'Must be the phone number in e164 format.'
example: '+177012345678'
nullable: false
customer_uuid:
type: string
description: 'Must be a valid UUID.'
example: a4855dc5-0acb-33c3-b921-f4291f719ca0
nullable: false
email:
type: 'email:rfc'
description: 'The email of a customer. Max: 50.'
example: gbailey@example.net
nullable: true
memo:
type: string
description: 'A string containing memo related information, such as an invoice ID. Max: 120.'
example: architecto
nullable: true
token:
type: string
description: 'An optional token to be used to reference a stored card for processing.'
example: abc123
nullable: false
cardholder_name:
type: string
description: 'The name of the cardholder. Max: 50.'
example: 'John Doe'
nullable: false
card_number:
type: numeric
description: 'The credit card number. Min: 15. Max: 16.'
example: '1231231231231231'
nullable: false
expiration_date:
type: string
description: 'Expiration date of the card, in the form mm/YYYY.'
example: 01/2025
nullable: false
cvv:
type: numeric
description: "optional The card's CVV. Min: 3, Max: 4."
example: '123'
nullable: true
billing_address:
type: object
description: ''
example: []
nullable: false
properties:
first_name:
type: string
description: 'required_without:data.token. Must not be greater than 50 characters.'
example: m
nullable: true
last_name:
type: string
description: 'Must not be greater than 50 characters.'
example: i
nullable: true
addr1:
type: string
description: "The cardholder's address line 1. Max: 55."
example: '1234 Main St'
nullable: true
addr2:
type: string
description: "The cardholder's address line 2. Max: 55."
example: 'Suite 100'
nullable: true
city:
type: string
description: "The cardholder's city. Max: 55."
example: Atlanta
nullable: true
state:
type: string
description: "The cardholder's state. Max: 2."
example: NY
nullable: true
zip:
type: numeric
description: "The cardholder's ZIP code. Digits: 5."
example: '10001'
nullable: false
required:
- zip
shipping_address:
type: object
description: ''
example: []
nullable: false
properties:
addr1:
type: string
description: 'optional The first address line. Max: 50.'
example: '123 A Street'
nullable: true
addr2:
type: string
description: 'optional The second address line. Max: 50.'
example: 'Suite 123'
nullable: true
city:
type: string
description: 'optional The city. Max: 50.'
example: Alpharetta
nullable: false
state:
type: string
description: 'optional The state. Max: 2.'
example: GA
nullable: false
zip:
type: integer
description: 'optional The state. Max: 5.'
example: 0
nullable: false
uuid:
type: string
description: 'The UUID of the customer record.'
example: 60dac128-28da-41ae-8632-aee299de13fd
nullable: false
required:
- amount
- sid
- customer_uuid
- cardholder_name
/api/transaction/charge-ach:
post:
summary: 'Charge a Bank Account'
operationId: chargeABankAccount
description: ''
parameters: []
responses:
200:
description: 'Successful Transaction'
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"transaction_type\": \"ACH\",\n \"transaction_status\": \"Success\",\n \"transaction_status_description\": \"Success\",\n \"transaction_number\": \"130\",\n \"transaction_date\": \"2021-01-01\",\n \"fund_date\": \"2021-01-01\",\n \"settle_date\": \"2021-01-01\",\n \"amount\": \"25\",\n \"description\": \"\",\n \"status_code\": \"00\",\n \"status_text\": \"Success\",\n \"email\": \"test@test.com\",\n \"phone\": \"\",\n \"customer_uuid\": \"\",\n \"multi_use_token\": \"\",\n \"pending\": false,\n \"transaction_info_id\": \"1234567890\",\n \"parent_transaction_info_id\": \"1234567890\",\n \"billing_address\": {\n \"first_name\": \"First\",\n \"last_name\": \"Last\",\n \"addr1\": \"12 Street Ave\",\n \"addr2\": \"Suite 123\",\n \"city\": \"Boulder\",\n \"state\": \"CO\",\n \"zip\": \"80302\"\n },\n \"shipping_address\": {\n \"addr1\": \"12 Street Ave\",\n \"addr2\": \"Suite 123\",\n \"city\": \"Boulder\",\n \"state\": \"CO\",\n \"zip\": \"80302\"\n },\n }\n}"
400:
description: 'Failed validation'
content:
application/json:
schema:
type: object
example:
errors:
data.amount:
- 'The data.amount field is required.'
data.account_type:
- 'The selected data.account_type is invalid.'
properties:
errors:
type: object
properties:
data.amount:
type: array
example:
- 'The data.amount field is required.'
items:
type: string
data.account_type:
type: array
example:
- 'The selected data.account_type is invalid.'
items:
type: string
401:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: 'Token unauthorized'
type: string
example: '{"data": { "message": "Permission Denied."}'
-
description: 'Invalid merchant or affiliate authorization'
type: string
example: '{"data": { "message": "Unauthorized"}'
-
description: 'Invalid merchant or affiliate association'
type: string
example: '{"data": { "message": "Not associated with affiliate"}'
404:
description: 'Invalid sid'
content:
text/plain:
schema:
type: string
example: '{"data": { "message": "No such Merchant"}'
tags:
- 'Transaction management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: numeric
description: 'The ID of merchant account processing the charge.'
example: '1234567'
nullable: false
routing_number:
type: string
description: 'The bank account routing number. Max: 9.'
example: '123456789'
nullable: false
account_number:
type: string
description: 'The bank account number. Max: 50.'
example: '91828382'
nullable: false
account_type:
type: string
description: 'Must be Checking or Savings.'
example: Checking
nullable: false
account_name:
type: string
description: 'The name on the bank account. Max: 50.'
example: 'Acme Inc.'
nullable: false
amount:
type: number
description: 'The transaction amount.'
example: 99.19
nullable: false
phone:
type: string
description: 'The phone number.'
example: '7701234567'
nullable: false
customer_uuid:
type: string
description: "optional The unique UUID of the merchant's customer."
example: 12312312-123123123-1231231231
nullable: false
email:
type: string
description: 'Must be a valid email address. Must not be greater than 50 characters.'
example: rowan.gulgowski@example.com
nullable: true
memo:
type: string
description: 'optional The memo field. Max: 120.'
example: 'payment for something'
nullable: true
billing_address:
type: object
description: ''
example: []
nullable: false
properties:
first_name:
type: string
description: 'The first name. Max: 50.'
example: Ryan
nullable: true
last_name:
type: string
description: 'The first name. Max: 50.'
example: Taylor
nullable: true
addr1:
type: string
description: 'optional The first address line. Max: 31.'
example: '123 A Street'
nullable: true
addr2:
type: string
description: 'optional The second address line. Max: 31.'
example: 'Suite 123'
nullable: true
city:
type: string
description: 'optional The city. Max: 52.'
example: Alpharetta
nullable: true
state:
type: string
description: 'optional The state. Max: 2.'
example: GA
nullable: true
zip:
type: integer
description: 'optional The zip code. Max: 5.'
example: 30009
nullable: true
shipping_address:
type: object
description: ''
example: []
nullable: false
properties:
addr1:
type: string
description: 'optional The first address line. Max: 50.'
example: '123 A Street'
nullable: true
addr2:
type: string
description: 'optional The second address line. Max: 50.'
example: 'Suite 123'
nullable: true
city:
type: string
description: 'optional The city. Max: 50.'
example: Alpharetta
nullable: true
state:
type: string
description: 'optional The state. Max: 2.'
example: GA
nullable: true
zip:
type: integer
description: 'optional The state. Max: 5.'
example: 12345
nullable: true
required:
- sid
- routing_number
- account_number
- account_type
- account_name
- amount
/api/transaction/tokenize-card:
post:
summary: 'Tokenize a Credit Card'
operationId: tokenizeACreditCard
description: '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.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
token: abcd1234
properties:
data:
type: object
properties:
token:
type: string
example: abcd1234
description: 'The token representing the card. Example: abcd1234'
enum: []
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
errors:
card_number:
- 'The card number must be a number.'
properties:
errors:
type: object
properties:
card_number:
type: array
example:
- 'The card number must be a number.'
items:
type: string
-
description: ''
type: object
example:
data:
message: 'Validation of card failed.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Validation of card failed.'
401:
description: ''
content:
application/json:
schema:
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
tags:
- 'Transaction management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: numeric
description: 'The ID of the merchant account processing the charge.'
example: '1234567'
nullable: false
cardholder_name:
type: string
description: 'The name of the cardholder. Max: 50.'
example: 'John Doe'
nullable: false
card_number:
type: numeric
description: 'The 15/16-digit credit card number.'
example: '1234567812345678'
nullable: false
expiration_date:
type: string
description: 'Expiry date of the card, in the form mm/YYYY.'
example: 01/2025
nullable: false
cvv:
type: numeric
description: "optional The card's CVV. Min: 3, Max: 4."
example: '123'
nullable: true
billing_address:
type: object
description: ''
example: []
nullable: false
properties:
addr1:
type: string
description: "The cardholder's address line 1. Can be empty string Max: 55."
example: '1234 Main St'
nullable: true
addr2:
type: string
description: "The cardholder's address line 2. Max: 55."
example: 'Suite 100'
nullable: true
city:
type: string
description: "The cardholder's city. Can be empty string Max: 55."
example: 'New York'
nullable: true
state:
type: string
description: "The cardholder's state. Can be empty string Max: 2."
example: NY
nullable: true
zip:
type: numeric
description: "The cardholder's ZIP code. Digits: 5."
example: '10001'
nullable: false
required:
- addr1
- city
- state
- zip
required:
- sid
- cardholder_name
- card_number
- expiration_date
/api/transaction:
get:
summary: 'Show Transaction'
operationId: showTransaction
description: ''
parameters: []
responses:
200:
description: 'Successful Show'
content:
application/json:
schema:
type: object
example:
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'
properties:
data:
type: object
properties:
transaction_type:
type: string
example: CC
description: 'Transaction type. Example: Checking'
enum: []
transaction_status:
type: string
example: 'CC Pending'
description: 'Transaction Status. Example: CC Pending'
enum: []
transaction_status_description:
type: string
example: 'A cc transaction that is pending'
description: 'Transaction Status Description explaining the status. Example: A credit card transaction that has not settled yet.'
enum: []
transaction_number:
type: string
example: '1231'
transaction_date:
type: string
example: '2021-01-01'
description: 'Transaction Date. Example: 2024-01-17T12:44:28.000000Z'
enum: []
fund_date:
type: string
example: '2021-01-01'
description: 'Fund Date. Example: 2024-01-18T21:05:21.000000Z'
enum: []
settle_date:
type: string
example: '2021-01-01'
description: 'Settle Date. Example: 2024-01-17T18:35:00.000000Z'
enum: []
amount:
type: string
example: '25.0000'
description: 'Transaction amount. Example: $120.00'
enum: []
description:
type: string
example: ''
description: 'Transaction type. Example: Checking'
enum: []
status_code:
type: string
example: ''
description: 'The status code of the transaction.'
enum: []
status_text:
type: string
example: ''
description: 'The status text of the transaction.'
enum: []
email:
type: string
example: ''
description: 'The email of the transaction.'
enum: []
phone:
type: string
example: ''
description: 'The phone of the transaction.'
enum: []
customer_uuid:
type: string
example: 68d9feaa-04a9-4c48-8c00-a0b79c8b2f70
description: 'The customer uuid of the transaction.'
enum: []
multi_use_token:
type: string
example: ''
description: 'The multi use token of the transaction.'
enum: []
pending:
type: boolean
example: true
description: 'The pending status of the transaction.'
enum: []
transaction_info_id:
type: string
example: '1231321'
description: "The transaction's info id that can be used in requests to other API endpoints to look up a specific transaction."
enum: []
parent_transaction_info_id:
type: string
example: '12313244444'
description: "The transaction's parent's info id that can be used in requests to other API endpoints to look up a specific transaction."
enum: []
billing_address:
type: object
properties:
first_name:
type: string
example: ''
description: 'The first name field.'
enum: []
last_name:
type: string
example: ''
description: 'The last name field.'
enum: []
addr1:
type: string
example: ''
description: 'The first address line.'
enum: []
addr2:
type: string
example: ''
description: 'The second address line.'
enum: []
city:
type: string
example: ''
description: 'The city field.'
enum: []
state:
type: string
example: ''
description: 'The state field.'
enum: []
zip:
type: string
example: ''
description: 'The zip field.'
enum: []
shipping_address:
type: object
properties:
addr1:
type: string
example: '123 Main St'
description: 'The first address line.'
enum: []
addr2:
type: string
example: 'apt 1'
description: 'The second address line.'
enum: []
city:
type: string
example: Alpharetta
description: 'The city field.'
enum: []
state:
type: string
example: GA
description: 'The state field.'
enum: []
zip:
type: string
example: '12345'
description: 'The zip field.'
enum: []
400:
description: 'Field Validation Failed'
content:
text/plain:
schema:
type: string
example: '{"errors": {"data.sid": ["The data.sid is not the correct format."]}'
401:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: 'Invalid API Key Permission'
type: string
example: '{"data": "message": "Permission Denied."}}'
-
description: 'User perm issue'
type: string
example: '{"data": "message": "User not associated with the affiliate."}}'
404:
description: 'No transaction found'
content:
application/json:
schema:
type: object
example:
data:
message: 'No transaction found'
properties:
data:
type: object
properties:
message:
type: string
example: 'No transaction found'
tags:
- 'Transaction management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: numeric
description: 'The ID of the merchant that processed the transaction.'
example: '1234567'
nullable: false
transaction_info_id:
type: numeric
description: 'The transaction info id which is unique only against the SID of the merchant, and ties across all other reporting objects such as transactions.'
example: '6789131231'
nullable: false
transaction_type:
type: string
description: 'Must be either "CC" or "ACH". This field is required with data.transaction_id when transaction_info_id is not provided.'
example: ACH
nullable: false
transaction_id:
type: numeric
description: 'The ID of a transaction. This field is required with data.transaction_type when transaction info_id is not provided.'
example: '123'
nullable: false
required:
- sid
- transaction_type
/api/transaction/refund:
post:
summary: 'Refund Transaction'
operationId: refundTransaction
description: 'Processes a refund for a transaction based on the provided data.'
parameters: []
responses:
200:
description: 'Successful Refund'
content:
text/plain:
schema:
type: string
example: '{"data": { "message" : "refund"}'
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
errors:
data.sid:
- 'The sid field is required.'
data.transaction_info_id:
- 'The selected transaction_info_id is invalid.'
properties:
errors:
type: object
properties:
data.sid:
type: array
example:
- 'The sid field is required.'
items:
type: string
data.transaction_info_id:
type: array
example:
- 'The selected transaction_info_id is invalid.'
items:
type: string
-
description: ''
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
description: 'The message returned from the refund. Example: refund'
enum: []
-
description: ''
type: object
example:
data:
message: 'Error processing refund'
properties:
data:
type: object
properties:
message:
type: string
example: 'Error processing refund'
description: 'The message returned from the refund. Example: refund'
enum: []
-
description: ''
type: object
example:
data:
message: 'Unsupported processor.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Unsupported processor.'
description: 'The message returned from the refund. Example: refund'
enum: []
401:
description: 'Bad API Key Permission'
content:
application/json:
schema:
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
description: 'The message returned from the refund. Example: refund'
enum: []
tags:
- 'Transaction management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: numeric
description: 'The ID of merchant that processed the transaction.'
example: '1234567'
nullable: false
amount:
type: numeric
description: 'The amount to be refunded. Must be greater than 0 and less than the total amount of transaction.'
example: '100.50'
nullable: false
transaction_info_id:
type: numeric
description: 'The transaction info id which is unique only against the SID of the merchant, and ties across all other reporting objects such as transactions.'
example: '6789131231'
nullable: false
transaction_type:
type: string
description: 'Only required if not passing transaction_info_id. The transaction type which should be either CC or ACH.'
example: CC
nullable: false
transaction_id:
type: numeric
description: 'Only required if not passing transaction_info_id. For credit card transactions this is the gateway transaction id, and for ach transactions this is the att number.'
example: '6789131231'
nullable: false
required:
- sid
- amount
- transaction_info_id
- transaction_type
- transaction_id
/api/transaction/void:
patch:
summary: 'Void Transaction'
operationId: voidTransaction
description: 'Void a transaction'
parameters: []
responses:
200:
description: 'Successful Void'
content:
text/plain:
schema:
type: string
example: '{"data": "message" : "Transaction voided successfully"}}'
400:
description: 'Field Validation Failed'
content:
text/plain:
schema:
type: string
example: '{"errors": {"data.sid": ["The data.sid is not the correct format."]}'
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Bad API Key Permission'
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
description: 'The message returned from the void. Example: Transaction voided successfully'
enum: []
-
description: 'User perm issue'
type: object
example:
data:
message: 'User not associated with the affiliate.'
properties:
data:
type: object
properties:
message:
type: string
example: 'User not associated with the affiliate.'
description: 'The message returned from the void. Example: Transaction voided successfully'
enum: []
tags:
- 'Transaction management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: string
description: 'Must be unique to the Merchant and less than 150 digits.'
example: '91828382'
nullable: false
transaction_type:
type: string
description: 'Must be either "CC" or "ACH".'
example: ACH
nullable: false
transaction_id:
type: numeric
description: 'Must be unique to the transaction. For credit card transactions this is the gateway transaction id, and for ach transactions this is the att number.'
example: '123'
nullable: false
required:
- sid
- transaction_type
- transaction_id
required:
- data
/api/customer/list:
get:
summary: 'List Customers'
operationId: listCustomers
description: 'Retrieves a list of customers for a given company, filtered by various parameters.'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
application/json:
schema:
type: object
example:
data:
-
id: 1
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: John
last_name: Doe
company_name: 'Acme Inc.'
phone: '+17707892222'
email: an-email@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
last_login_at: '2024-08-30T13:08:19.000000Z'
last_login_ip: 127.0.0.1
-
id: 2
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: Jane
last_name: Doe
company_name: ''
phone: '+17707893333'
email: another@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
last_login_at: '2024-08-30T13:08:19.000000Z'
last_login_ip: 127.0.0.1
links:
prev: null
next: null
meta:
path: 'http://relictum.test/api/customers'
per_page: 500
next_cursor: null
prev_cursor: null
properties:
data:
type: array
example:
-
id: 1
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: John
last_name: Doe
company_name: 'Acme Inc.'
phone: '+17707892222'
email: an-email@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
last_login_at: '2024-08-30T13:08:19.000000Z'
last_login_ip: 127.0.0.1
-
id: 2
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: Jane
last_name: Doe
company_name: ''
phone: '+17707893333'
email: another@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
last_login_at: '2024-08-30T13:08:19.000000Z'
last_login_ip: 127.0.0.1
items:
type: object
properties:
id:
type: integer
example: 1
description: 'Unique field that is not used anywhere else. Can be ignored.'
enum: []
uuid:
type: string
example: 60dac128-28da-41ae-8632-aee299de13fd
description: 'The UUID of the customer.'
enum: []
first_name:
type: string
example: John
description: 'The first name of the customer.'
enum: []
last_name:
type: string
example: Doe
description: 'The last name of the customer.'
enum: []
company_name:
type: string
example: 'Acme Inc.'
description: 'Merchant name of customer'
enum: []
phone:
type: string
example: '+17707892222'
description: 'Unique phone number of customer'
enum: []
email:
type: string
example: an-email@gmail.com
description: 'Email address of customer'
enum: []
addr1:
type: string
example: ''
description: 'Address line 1 of customer'
enum: []
addr2:
type: string
example: ''
description: 'Address line 2 of customer'
enum: []
addr3:
type: string
example: ''
description: 'Address line 3 of customer'
enum: []
city:
type: string
example: ''
description: "Customer's"
enum: []
state:
type: string
example: ''
description: "Customer's"
enum: []
zip:
type: string
example: ''
description: "Customer's"
enum: []
country:
type: string
example: USA
description: "Customer's"
enum: []
last_login_at:
type: string
example: '2024-08-30T13:08:19.000000Z'
description: 'Date string showing when this customer logged into Dime Payments last'
enum: []
last_login_ip:
type: string
example: 127.0.0.1
description: 'The IP address the customer last logged into Dime Payments from'
enum: []
links:
type: object
properties:
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
path:
type: string
example: 'http://relictum.test/api/customers'
per_page:
type: integer
example: 500
next_cursor:
type: string
example: null
prev_cursor:
type: string
example: null
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: 'Validation errors'
properties:
message:
type: string
example: 'Validation errors'
-
description: ''
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
-
description: ''
type: object
example:
data:
message: 'Merchant or Affiliate check failed'
properties:
data:
type: object
properties:
message:
type: string
example: 'Merchant or Affiliate check failed'
tags:
- 'Customer management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
required:
- sid
filters:
type: object
description: ''
example: []
nullable: false
properties:
start_date:
type: date
description: 'required_with:filters.end_date The start date for filtering customers in `Y-m-d H:i:s` format. Must be before or equal to filters.end_date.'
example: '2024-01-01 00:00:00'
nullable: false
end_date:
type: date
description: 'required_with:filters.start_date The end date for filtering customers in `Y-m-d H:i:s` format. Must be after or equal to filters.start_date.'
example: '2024-12-31 23:59:59'
nullable: false
phone:
type: string
description: 'A phone number to filter customers by. Must be in the US format e164.'
example: '+15555555555'
nullable: false
email:
type: string
description: 'An email address to filter customers by. Must comply with RFC email format.'
example: example@example.com
nullable: false
/api/customer/show:
get:
summary: 'Show Customer'
operationId: showCustomer
description: "Show a specific customer's details"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
uuid: 66f1c230-68cf-4d58-b47c-1bcb83adfddd
first_name: Ryan
last_name: Taylor
phone: '+17707892072'
email: rtaylor82@gmail.com
addr1: ''
addr2: ''
addr3: null
city: ''
state: ''
zip: ''
country: USA
properties:
data:
type: object
properties:
uuid:
type: string
example: 66f1c230-68cf-4d58-b47c-1bcb83adfddd
description: 'Unique User ID of customer'
enum: []
first_name:
type: string
example: Ryan
description: 'First name of customer'
enum: []
last_name:
type: string
example: Taylor
description: 'Last name of customer'
enum: []
phone:
type: string
example: '+17707892072'
description: 'Unique phone number of customer'
enum: []
email:
type: string
example: rtaylor82@gmail.com
description: 'Email address of customer'
enum: []
addr1:
type: string
example: ''
description: 'Address line 1 of customer'
enum: []
addr2:
type: string
example: ''
description: 'Address line 2 of customer'
enum: []
addr3:
type: string
example: null
description: 'Address line 3 of customer'
enum: []
city:
type: string
example: ''
description: "Customer's"
enum: []
state:
type: string
example: ''
description: "Customer's"
enum: []
zip:
type: string
example: ''
description: "Customer's"
enum: []
country:
type: string
example: USA
description: "Customer's"
enum: []
-
description: 'Successful Show'
type: object
example:
data:
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: ''
last_name: ''
phone: '+17707892222'
email: an-email@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
properties:
data:
type: object
properties:
uuid:
type: string
example: 60dac128-28da-41ae-8632-aee299de13fd
description: 'Unique User ID of customer'
enum: []
first_name:
type: string
example: ''
description: 'First name of customer'
enum: []
last_name:
type: string
example: ''
description: 'Last name of customer'
enum: []
phone:
type: string
example: '+17707892222'
description: 'Unique phone number of customer'
enum: []
email:
type: string
example: an-email@gmail.com
description: 'Email address of customer'
enum: []
addr1:
type: string
example: ''
description: 'Address line 1 of customer'
enum: []
addr2:
type: string
example: ''
description: 'Address line 2 of customer'
enum: []
addr3:
type: string
example: ''
description: 'Address line 3 of customer'
enum: []
city:
type: string
example: ''
description: "Customer's"
enum: []
state:
type: string
example: ''
description: "Customer's"
enum: []
zip:
type: string
example: ''
description: "Customer's"
enum: []
country:
type: string
example: USA
description: "Customer's"
enum: []
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: 'Validation errors'
properties:
message:
type: string
example: 'Validation errors'
-
description: ''
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
-
description: ''
type: object
example:
data:
message: 'Merchant or Affiliate check failed'
properties:
data:
type: object
properties:
message:
type: string
example: 'Merchant or Affiliate check failed'
tags:
- 'Customer management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
required:
- sid
filters:
type: object
description: ''
example: []
nullable: false
properties:
phone:
type: string
description: 'A phone number to filter customers by. Must be in the US format e164.'
example: '+15555555555'
nullable: false
email:
type: string
description: 'An email address to filter customers by. Must comply with RFC email format.'
example: example@example.com
nullable: false
uuid:
type: string
description: 'A UUID to filter customers by. Must comply with UUID format.'
example: 60dac128-28da-41ae-8632-aee299de13fd
nullable: false
/api/customer/create:
post:
summary: 'Create Customer'
operationId: createCustomer
description: 'Create a customer record linked to your Company/Merchant.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
uuid: 66f1c230-68cf-4d58-b47c-1bcb83adfddd
first_name: Ryan
last_name: Taylor
phone: '+17707892072'
email: rtaylor82@gmail.com
addr1: ''
addr2: ''
addr3: null
city: ''
state: ''
zip: ''
country: USA
properties:
data:
type: object
properties:
uuid:
type: string
example: 66f1c230-68cf-4d58-b47c-1bcb83adfddd
description: 'The uuid of the customer.'
enum: []
first_name:
type: string
example: Ryan
description: 'required The first name of the customer.'
enum: []
last_name:
type: string
example: Taylor
description: 'required The last name of the customer.'
enum: []
phone:
type: string
example: '+17707892072'
description: 'required The phone number of the customer.'
enum: []
email:
type: string
example: rtaylor82@gmail.com
description: "required Customer's email."
enum: []
addr1:
type: string
example: ''
description: "Customer's address line 1"
enum: []
addr2:
type: string
example: ''
description: "Customer's address line 2"
enum: []
addr3:
type: string
example: null
description: "Customer's address line 3"
enum: []
city:
type: string
example: ''
description: "Customer's"
enum: []
state:
type: string
example: ''
description: "Customer's"
enum: []
zip:
type: string
example: ''
description: "Customer's"
enum: []
country:
type: string
example: USA
description: "Customer's"
enum: []
-
description: 'Successful Creation'
type: object
example:
data:
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: John
last_name: Doe
phone: '+17707892222'
email: an-email@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
properties:
data:
type: object
properties:
uuid:
type: string
example: 60dac128-28da-41ae-8632-aee299de13fd
description: 'The uuid of the customer.'
enum: []
first_name:
type: string
example: John
description: 'required The first name of the customer.'
enum: []
last_name:
type: string
example: Doe
description: 'required The last name of the customer.'
enum: []
phone:
type: string
example: '+17707892222'
description: 'required The phone number of the customer.'
enum: []
email:
type: string
example: an-email@gmail.com
description: "required Customer's email."
enum: []
addr1:
type: string
example: ''
description: "Customer's address line 1"
enum: []
addr2:
type: string
example: ''
description: "Customer's address line 2"
enum: []
addr3:
type: string
example: ''
description: "Customer's address line 3"
enum: []
city:
type: string
example: ''
description: "Customer's"
enum: []
state:
type: string
example: ''
description: "Customer's"
enum: []
zip:
type: string
example: ''
description: "Customer's"
enum: []
country:
type: string
example: USA
description: "Customer's"
enum: []
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: 'Validation errors'
properties:
message:
type: string
example: 'Validation errors'
-
description: ''
type: object
example:
message: 'Failed to create Customer'
properties:
message:
type: string
example: 'Failed to create Customer'
-
description: ''
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
-
description: ''
type: object
example:
data:
message: 'Merchant or Affiliate check failed'
properties:
data:
type: object
properties:
message:
type: string
example: 'Merchant or Affiliate check failed'
tags:
- 'Customer management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
first_name:
type: string
description: "Customer's first name"
example: architecto
nullable: false
last_name:
type: string
description: "Customer's last name"
example: architecto
nullable: false
company_name:
type: string
description: 'optional Name of Merchant that customer interacts with'
example: architecto
nullable: true
phone:
type: required
description: "Customer's unique phone number"
example: architecto
nullable: false
email:
type: required
description: "Customer's unique email"
example: gbailey@example.net
nullable: false
addr1:
type: optional
description: "Customer's address line 1"
example: architecto
nullable: true
addr2:
type: optional
description: "Customer's address line 2"
example: architecto
nullable: true
addr3:
type: optional
description: "Customer's address line 3"
example: architecto
nullable: true
city:
type: optional
description: "Customer's city"
example: architecto
nullable: true
state:
type: optional
description: "Customer's state"
example: architecto
nullable: true
zip:
type: optional
description: "Customer's zip code"
example: architecto
nullable: true
country:
type: string
description: 'Must not be greater than 3 characters.'
example: 'n'
nullable: true
required:
- sid
- first_name
- last_name
required:
- data
/api/customer/update:
patch:
summary: 'Update Customer'
operationId: updateCustomer
description: "Update a customer record. Make changes to the customer referenced by UUID, phone number, or email. One of the\nfilters is required to be provided to select a unique customer. Only pass the fields that require updating in\nthe data object."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
uuid: 66f1c230-68cf-4d58-b47c-1bcb83adfddd
first_name: Ryan
last_name: Taylor
phone: '+17707892072'
email: rtaylor82@gmail.com
addr1: ''
addr2: ''
addr3: null
city: ''
state: ''
zip: ''
country: USA
properties:
data:
type: object
properties:
uuid:
type: string
example: 66f1c230-68cf-4d58-b47c-1bcb83adfddd
description: 'The UUID of the customer.'
enum: []
first_name:
type: string
example: Ryan
description: 'The first name of the customer.'
enum: []
last_name:
type: string
example: Taylor
description: 'The last name of the customer.'
enum: []
phone:
type: string
example: '+17707892072'
description: 'Unique phone number of customer'
enum: []
email:
type: string
example: rtaylor82@gmail.com
description: 'Email address of customer'
enum: []
addr1:
type: string
example: ''
description: 'Address line 1 of customer'
enum: []
addr2:
type: string
example: ''
description: 'Address line 2 of customer'
enum: []
addr3:
type: string
example: null
description: 'Address line 3 of customer'
enum: []
city:
type: string
example: ''
description: "Customer's"
enum: []
state:
type: string
example: ''
description: "Customer's"
enum: []
zip:
type: string
example: ''
description: "Customer's"
enum: []
country:
type: string
example: USA
description: "Customer's"
enum: []
-
description: 'Successful Update'
type: object
example:
data:
uuid: 60dac128-28da-41ae-8632-aee299de13fd
first_name: ''
last_name: ''
phone: '+17707892222'
email: an-email@gmail.com
addr1: ''
addr2: ''
addr3: ''
city: ''
state: ''
zip: ''
country: USA
properties:
data:
type: object
properties:
uuid:
type: string
example: 60dac128-28da-41ae-8632-aee299de13fd
description: 'The UUID of the customer.'
enum: []
first_name:
type: string
example: ''
description: 'The first name of the customer.'
enum: []
last_name:
type: string
example: ''
description: 'The last name of the customer.'
enum: []
phone:
type: string
example: '+17707892222'
description: 'Unique phone number of customer'
enum: []
email:
type: string
example: an-email@gmail.com
description: 'Email address of customer'
enum: []
addr1:
type: string
example: ''
description: 'Address line 1 of customer'
enum: []
addr2:
type: string
example: ''
description: 'Address line 2 of customer'
enum: []
addr3:
type: string
example: ''
description: 'Address line 3 of customer'
enum: []
city:
type: string
example: ''
description: "Customer's"
enum: []
state:
type: string
example: ''
description: "Customer's"
enum: []
zip:
type: string
example: ''
description: "Customer's"
enum: []
country:
type: string
example: USA
description: "Customer's"
enum: []
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: 'Validation errors'
properties:
message:
type: string
example: 'Validation errors'
-
description: ''
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
-
description: ''
type: object
example:
data:
message: 'Merchant or Affiliate check failed'
properties:
data:
type: object
properties:
message:
type: string
example: 'Merchant or Affiliate check failed'
tags:
- 'Customer management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
filters:
type: object
description: 'One of the filters is required to select a unique customer'
example: []
nullable: false
properties:
phone:
type: string
description: 'A phone number to filter customers by. Must be in the US format e164.'
example: '+15555555555'
nullable: false
uuid:
type: string
description: 'A UUID to filter customers by. Must comply with UUID format.'
example: 60dac128-28da-41ae-8632-aee299de13fd
nullable: false
email:
type: string
description: 'An email address to filter customers by. Must comply with RFC email format.'
example: example@example.com
nullable: false
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
first_name:
type: optional
description: "Customer's first name"
example: architecto
nullable: true
last_name:
type: optional
description: "Customer's last name"
example: architecto
nullable: true
company_name:
type: optional
description: 'Name of Merchant that customer interacts with'
example: architecto
nullable: true
phone:
type: optional
description: "Customer's unique phone number"
example: architecto
nullable: true
email:
type: optional
description: "Customer's unique email"
example: gbailey@example.net
nullable: true
addr1:
type: optional
description: "Customer's address line 1"
example: architecto
nullable: true
addr2:
type: optional
description: "Customer's address line 2"
example: architecto
nullable: true
addr3:
type: optional
description: "Customer's address line 3"
example: architecto
nullable: true
city:
type: optional
description: "Customer's city"
example: architecto
nullable: true
state:
type: optional
description: "Customer's state"
example: architecto
nullable: true
zip:
type: optional
description: "Customer's zip code"
example: architecto
nullable: true
country:
type: string
description: 'Must not be greater than 3 characters.'
example: 'n'
nullable: true
required:
- sid
required:
- filters
- data
/api/customer/delete:
post:
summary: 'Delete Customer'
operationId: deleteCustomer
description: 'Delete a customer record from the selected Merchant. One of the filters is required to select a unique customer'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
uuid: 66f1c230-68cf-4d58-b47c-1bcb83adfddd
first_name: Ryan
last_name: Taylor
phone: '+17707892072'
email: rtaylor82@gmail.com
addr1: ''
addr2: ''
addr3: null
city: ''
state: ''
zip: ''
country: USA
properties:
data:
type: object
properties:
uuid:
type: string
example: 66f1c230-68cf-4d58-b47c-1bcb83adfddd
first_name:
type: string
example: Ryan
last_name:
type: string
example: Taylor
phone:
type: string
example: '+17707892072'
email:
type: string
example: rtaylor82@gmail.com
addr1:
type: string
example: ''
addr2:
type: string
example: ''
addr3:
type: string
example: null
city:
type: string
example: ''
state:
type: string
example: ''
zip:
type: string
example: ''
country:
type: string
example: USA
-
description: 'Successful Deletion'
type: object
example:
data:
message: 'Customer removed successfully'
properties:
data:
type: object
properties:
message:
type: string
example: 'Customer removed successfully'
description: 'The message returned from the delete operation.'
enum: []
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: 'Validation errors'
properties:
message:
type: string
example: 'Validation errors'
-
description: ''
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
description: 'The message returned from the delete operation.'
enum: []
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
data:
message: 'Permission Denied.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission Denied.'
description: 'The message returned from the delete operation.'
enum: []
-
description: ''
type: object
example:
data:
message: 'Merchant or Affiliate check failed'
properties:
data:
type: object
properties:
message:
type: string
example: 'Merchant or Affiliate check failed'
description: 'The message returned from the delete operation.'
enum: []
tags:
- 'Customer management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
filters:
type: object
description: ''
example: []
nullable: false
properties:
phone:
type: string
description: 'A phone number to filter customers by. Must be in the US format e164.'
example: '+15555555555'
nullable: false
uuid:
type: string
description: 'A UUID to filter customers by. Must comply with UUID format.'
example: 60dac128-28da-41ae-8632-aee299de13fd
nullable: false
email:
type: string
description: 'An email address to filter customers by. Must comply with RFC email format.'
example: example@example.com
nullable: false
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: integer
description: 'The SID of the merchant.'
example: 12345
nullable: false
required:
- sid
required:
- data
/api/deposit/list:
get:
summary: 'List Deposits'
operationId: listDeposits
description: 'Get Deposits from Merchant Account with supporting transactions'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
application/json:
schema:
type: object
example:
data:
-
transaction_date: '2023-02-17 02:41:04'
fund_date: '2023-02-17 02:41:04'
transaction_info_id: '789846193'
transaction_id: '3'
transaction_detail_account: 0089..9845
authorization_amount: '0.7100'
net_amount: '0.7200'
sweep_id: '125068038'
properties:
data:
type: array
example:
-
transaction_date: '2023-02-17 02:41:04'
fund_date: '2023-02-17 02:41:04'
transaction_info_id: '789846193'
transaction_id: '3'
transaction_detail_account: 0089..9845
authorization_amount: '0.7100'
net_amount: '0.7200'
sweep_id: '125068038'
items:
type: object
properties:
transaction_date:
type: string
example: '2023-02-17 02:41:04'
description: 'The datetime stamp of when the transaction was initiated.'
enum: []
fund_date:
type: string
example: '2023-02-17 02:41:04'
description: 'The datetime stamp of when the funds for the deposit were made available to the merchant.'
enum: []
transaction_info_id:
type: string
example: '789846193'
description: 'The transaction info ID which is unique only against the SID for the merchant and ties across all reporting objects.'
enum: []
transaction_id:
type: string
example: '3'
description: 'The transaction ID, unique only to the SID for the merchant.'
enum: []
transaction_detail_account:
type: string
example: 0089..9845
description: 'The masked first four digits of the routing number and last four digits of the bank account where funds were deposited.'
enum: []
authorization_amount:
type: string
example: '0.7100'
description: 'The amount the transaction was authorized for.'
enum: []
net_amount:
type: string
example: '0.7200'
description: 'The amount the merchant will receive from the transaction after transaction fees.'
enum: []
sweep_id:
type: string
example: '125068038'
description: 'The ID of the sweep the deposit was associated with, which is associated with single transactions and can be used for referencing transactions included in a deposit.'
enum: []
400:
description: 'Malformed Request'
content:
application/json:
schema:
type: object
example:
errors:
filters.start_date:
- 'The filters.start_date field must be a valid date.'
- 'The filters.start_date field must match the format Y-m-d H:i:s.'
properties:
errors:
type: object
properties:
filters.start_date:
type: array
example:
- 'The filters.start_date field must be a valid date.'
- 'The filters.start_date field must match the format Y-m-d H:i:s.'
items:
type: string
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Incorrect API Key Permission'
type: object
example:
message: 'Permission Denied.'
properties:
message:
type: string
example: 'Permission Denied.'
-
description: 'Not associated with Affiliate'
type: object
example:
message: 'Not associated with Affiliate'
properties:
message:
type: string
example: 'Not associated with Affiliate'
-
description: 'Incorrect SID'
type: object
example:
message: 'The selected data.sid is invalid'
properties:
message:
type: string
example: 'The selected data.sid is invalid'
403:
description: Unauthorized
content:
application/json:
schema:
type: object
example:
message: Unauthorized
properties:
message:
type: string
example: Unauthorized
404:
description: 'No deposits found'
content:
application/json:
schema:
type: object
example:
message: 'No deposits found'
properties:
message:
type: string
example: 'No deposits found'
tags:
- 'Deposit management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: string
description: 'The ID of the merchant.'
example: '91828382'
nullable: false
required:
- sid
filters:
type: object
description: ''
example: []
nullable: false
properties:
start_date:
type: datetime
description: 'The deposit start date, in UTC, with format: "YYYY-mm-dd 00:00:00"'
example: '"2024-04-01 00:00:00"'
nullable: false
end_date:
type: datetime
description: 'The deposit end date, in UTC, with format: "YYYY-mm-dd 00:00:00"'
example: '"2024-04-01 23:59:59"'
nullable: false
/api/deposit/list-with-trans:
get:
summary: 'List Deposits with Supporting Trans'
operationId: listDepositsWithSupportingTrans
description: 'Get Deposits from Merchant Account with supporting transactions. Could result in large datasets if range is too large.'
parameters: []
responses:
200:
description: 'Successful Transaction'
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"sid\": \"XXXXX\",\n \"count\": 1,\n \"deposits\": {\n \"128298672\": {\n \"sid\": \"XXXXX\",\n \"transaction_info_id\": \"983999999\",\n \"transaction_id\": \"382\",\n \"transaction_date\": \"2024-05-01T04:00:00.000000Z\",\n \"fund_date\": \"2024-05-01 02:20:35\",\n \"countOfTransactions\": 3,\n \"transTotal\": \"545.98\",\n \"transactions\": [\n {\n \"transaction_type\": \"ACH\",\n \"transaction_status\": \"ACH_PAYMENT_CREDIT\",\n \"transaction_status_description\": \"Successfully completed ACH Payment that has been posted to the Escrow Account.\",\n \"transaction_number\": \"369\",\n \"transaction_date\": \"2024-04-29T08:30:25.000000Z\",\n \"fund_date\": \"2024-04-30T20:05:21.000000Z\",\n \"settle_date\": \"2024-04-29T17:51:02.000000Z\",\n \"amount\": \"369.0000\",\n \"description\": \"\",\n \"status_code\": \"\",\n \"status_text\": \"\",\n \"email\": \"\",\n \"phone\": \"\",\n \"customer_uuid\": \"\",\n \"multi_use_token\": \"\",\n \"pending\": false,\n \"transaction_info_id\": \"123123123123\"\n \"parent_transaction_info_id\": \"123123123124\"\n \"billing_address\": {\n \"first_name\": null,\n \"last_name\": null,\n \"addr1\": null,\n \"addr2\": null,\n \"city\": null,\n \"state\": null,\n \"zip\": null\n }\n },\n {\n \"transaction_type\": \"CC\",\n \"transaction_status\": \"CC_CREDIT\",\n \"transaction_status_description\": \"Successful credit/debit card transaction that brings funds into the ProPay Account.\",\n \"transaction_number\": \"1919162951\",\n \"transaction_date\": \"2024-04-29T08:37:29.000000Z\",\n \"fund_date\": \"2024-04-30T20:05:22.000000Z\",\n \"settle_date\": \"2024-05-07T11:30:03.000000Z\",\n \"amount\": \"103.0800\",\n \"description\": \"\",\n \"status_code\": \"\",\n \"status_text\": \"\",\n \"email\": \"\",\n \"phone\": \"\",\n \"customer_uuid\": \"\",\n \"multi_use_token\": \"\",\n \"pending\": false,\n \"transaction_info_id\": \"123123123123\"\n \"parent_transaction_info_id\": \"123123123124\"\n \"billing_address\": {\n \"first_name\": null,\n \"last_name\": null,\n \"addr1\": null,\n \"addr2\": null,\n \"city\": null,\n \"state\": null,\n \"zip\": null\n }\n },\n {\n \"transaction_type\": \"CC\",\n \"transaction_status\": \"CC_CREDIT\",\n \"transaction_status_description\": \"Successful credit/debit card transaction that brings funds into the ProPay Account.\",\n \"transaction_number\": \"1920383851\",\n \"transaction_date\": \"2024-04-29T11:52:43.000000Z\",\n \"fund_date\": \"2024-04-30T20:05:22.000000Z\",\n \"settle_date\": \"2024-05-07T11:30:03.000000Z\",\n \"amount\": \"82.5200\",\n \"description\": \"\",\n \"status_code\": \"\",\n \"status_text\": \"\",\n \"email\": \"\",\n \"phone\": \"\",\n \"customer_uuid\": \"\",\n \"multi_use_token\": \"\",\n \"pending\": false,\n \"transaction_info_id\": \"123123123123\"\n \"parent_transaction_info_id\": \"123123123124\"\n \"billing_address\": {\n \"first_name\": null,\n \"last_name\": null,\n \"addr1\": null,\n \"addr2\": null,\n \"city\": null,\n \"state\": null,\n \"zip\": null\n }\n }\n ]\n ]\n }\n}"
400:
description: 'Field Validation Failed'
content:
text/plain:
schema:
type: string
example: '{"errors": {"data.sid": ["The data.sid is not the correct format."]}'
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Bad API Key Permission'
type: object
example:
data.message: 'Permission Denied.'
properties:
data.message:
type: string
example: 'Permission Denied.'
-
description: 'No such Merchant'
type: object
example:
data.message: 'No Merchant found with SID provided.'
properties:
data.message:
type: string
example: 'No Merchant found with SID provided.'
-
description: 'User perm issue'
type: object
example:
data.message: 'User not associated with the affiliate.'
properties:
data.message:
type: string
example: 'User not associated with the affiliate.'
-
description: 'Merchant not associated'
type: object
example:
data.message: 'Merchant not associated with affiliate.'
properties:
data.message:
type: string
example: 'Merchant not associated with affiliate.'
tags:
- 'Deposit management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: string
description: 'Must be unique to the Merchant and less than 150 digits.'
example: '91828382'
nullable: false
required:
- sid
filters:
type: object
description: ''
example: []
nullable: false
properties:
start_date:
type: string
description: 'The start date of the date range.'
example: '2024-05-01 00:00:00'
nullable: false
end_date:
type: string
description: 'The end date of the date range.'
example: '2024-05-01 00:00:00'
nullable: false
required:
- data
/api/deposit/show:
get:
summary: 'Show Deposit with Supporting Trans'
operationId: showDepositWithSupportingTrans
description: 'Show a Deposit from Merchant Account with supporting transactions'
parameters: []
responses:
200:
description: 'Successful Transaction'
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"sid\": \"XXXXX\",\n \"transaction_info_id\": \"983999999\",\n \"transaction_id\": \"382\",\n \"transaction_date\": \"2024-05-01T04:00:00.000000Z\",\n \"fund_date\": \"2024-05-01 02:20:35\",\n \"countOfTransactions\": 3,\n \"transTotal\": \"545.98\",\n \"transactions\": [\n {\n \"transaction_type\": \"ACH\",\n \"transaction_status\": \"ACH_PAYMENT_CREDIT\",\n \"transaction_status_description\": \"Successfully completed ACH Payment that has been posted to the Escrow Account.\",\n \"transaction_number\": \"369\",\n \"transaction_date\": \"2024-04-29T08:30:25.000000Z\",\n \"fund_date\": \"2024-04-30T20:05:21.000000Z\",\n \"settle_date\": \"2024-04-29T17:51:02.000000Z\",\n \"amount\": \"369.0000\",\n \"description\": \"\",\n \"status_code\": \"\",\n \"status_text\": \"\",\n \"email\": \"\",\n \"phone\": \"\",\n \"customer_uuid\": \"\",\n \"multi_use_token\": \"\",\n \"pending\": false,\n \"transaction_info_id\": \"123123212312\"\n \"parent_transaction_info_id\": \"123123212314\"\n \"billing_address\": {\n \"first_name\": null,\n \"last_name\": null,\n \"addr1\": null,\n \"addr2\": null,\n \"city\": null,\n \"state\": null,\n \"zip\": null\n }\n },\n {\n \"transaction_type\": \"CC\",\n \"transaction_status\": \"CC_CREDIT\",\n \"transaction_status_description\": \"Successful credit/debit card transaction that brings funds into the ProPay Account.\",\n \"transaction_number\": \"1919162951\",\n \"transaction_date\": \"2024-04-29T08:37:29.000000Z\",\n \"fund_date\": \"2024-04-30T20:05:22.000000Z\",\n \"settle_date\": \"2024-05-07T11:30:03.000000Z\",\n \"amount\": \"103.0800\",\n \"description\": \"\",\n \"status_code\": \"\",\n \"status_text\": \"\",\n \"email\": \"\",\n \"phone\": \"\",\n \"customer_uuid\": \"\",\n \"multi_use_token\": \"\",\n \"pending\": false,\n \"transaction_info_id\": \"123123212312\"\n \"transaction_info_id\": \"123123212314\"\n \"billing_address\": {\n \"first_name\": null,\n \"last_name\": null,\n \"addr1\": null,\n \"addr2\": null,\n \"city\": null,\n \"state\": null,\n \"zip\": null\n }\n },\n {\n \"transaction_type\": \"CC\",\n \"transaction_status\": \"CC_CREDIT\",\n \"transaction_status_description\": \"Successful credit/debit card transaction that brings funds into the ProPay Account.\",\n \"transaction_number\": \"1920383851\",\n \"transaction_date\": \"2024-04-29T11:52:43.000000Z\",\n \"fund_date\": \"2024-04-30T20:05:22.000000Z\",\n \"settle_date\": \"2024-05-07T11:30:03.000000Z\",\n \"amount\": \"82.5200\",\n \"description\": \"\",\n \"status_code\": \"\",\n \"status_text\": \"\",\n \"email\": \"\",\n \"phone\": \"\",\n \"customer_uuid\": \"\",\n \"multi_use_token\": \"\",\n \"pending\": false,\n \"transaction_info_id\": \"123123212314\"\n \"billing_address\": {\n \"first_name\": null,\n \"last_name\": null,\n \"addr1\": null,\n \"addr2\": null,\n \"city\": null,\n \"state\": null,\n \"zip\": null\n }\n }\n ]\n }\n}"
400:
description: 'Field Validation Failed'
content:
text/plain:
schema:
type: string
example: '{"errors": {"data.sid": ["The data.sid is not the correct format."]}'
401:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Bad API Key Permission'
type: object
example:
data.message: 'Permission Denied.'
properties:
data.message:
type: string
example: 'Permission Denied.'
-
description: 'No such Merchant'
type: object
example:
data.message: 'No Merchant found with SID provided.'
properties:
data.message:
type: string
example: 'No Merchant found with SID provided.'
-
description: 'User perm issue'
type: object
example:
data.message: 'User not associated with the affiliate.'
properties:
data.message:
type: string
example: 'User not associated with the affiliate.'
-
description: 'Merchant not associated'
type: object
example:
data.message: 'Merchant not associated with affiliate.'
properties:
data.message:
type: string
example: 'Merchant not associated with affiliate.'
tags:
- 'Deposit management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: number
description: 'The sid of an existing record in the companies table.'
example: 4326.41688
nullable: false
transaction_info_id:
type: string
description: 'Required if not passing sweep_id. Must be unique to the Merchant and less than 150 digits.'
example: '91828382'
nullable: false
sweep_id:
type: string
description: 'Required if not passing transaction_info_id. Must be in format: "YYYY-mm-dd 00:00:00"'
example: '"2024-04-01 00:00:00"'
nullable: false
required:
- sid
- transaction_info_id
required:
- data
/api/payment-method/list:
get:
summary: 'List payment methods for a customer'
operationId: listPaymentMethodsForACustomer
description: "This endpoint shows all payment methods for a customer. Must pass at least one filter to select\n a specific customer"
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: "{\n \"data\":[\n{\n \"id\": 1,\n \"type\": \"cc\",\n \"token\": \"xxxxxxxx\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"cc_name_on_card\": \"Johnny Doe\",\n \"cc_last_four\": \"1234\",\n \"cc_expiration_date\": \"01/2027\",\n \"cc_brand\": \"Visa\",\n \"status\": \"New\",\n \"status_date\": \"2024-12-08 05:00:04\",\n \"enabled\": true,\n \"default\": true,\n \"addr1\": \"123 My Street\",\n \"addr2\": \"Suite 123\",\n \"addr3\": \"\",\n \"city\": \"Alpharetta\",\n \"state\": \"GA\",\n \"zip\": \"30009\",\n },\n\"id\": 3,\n\"type\": \"ach\",\n\"first_name\": \"John\",\n\"last_name\": \"Doe\",\n\"ach_bank_account_name\": \"My savings\",\n\"ach_routing_number\": \"12345\",\n\"ach_account_number\": \"12345\",\n\"ach_ownership_type\": Personal,\n\"ach_account_type\": \"Checking\",\n\"ach_bank_name\": Wells Fargo,\n\"status\": \"New\",\n\"status_date\": \"2025-01-01 00:00:00\",\n\"enabled\": true,\n\"default\": false,\n\"addr1\": \"\",\n\"addr2\": \"\",\n\"addr3\": null,\n\"city\": \"\",\n\"state\": \"\",\n\"zip\": \"\"\n]\n}"
401:
description: 'Token permission error'
content:
application/json:
schema:
type: object
example:
data:
message: 'Permission denied'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission denied'
404:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Customer not found'
type: object
example:
data:
message: 'Customer not found.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Customer not found.'
-
description: 'No such Merchant'
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
tags:
- 'Payment Method management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
required:
- sid
filters:
type: object
description: ''
example: []
nullable: false
properties:
phone:
type: string
description: 'Phone number of the customer. Must be in e.164 format.'
example: '+15551237890'
nullable: false
uuid:
type: string
description: 'UUID of the customer. Must be in uuid format.'
example: 3c37db03-dc71-4e8b-90e7-6668290b7c3d
nullable: false
email:
type: string
description: 'Email of the customer. Must be in rfc compliant.'
example: an-email@domain.com
nullable: false
/api/payment-method/show:
get:
summary: 'Show a Payment Method for a customer'
operationId: showAPaymentMethodForACustomer
description: "This endpoint shows a specific payment method for a customer. Must pass at least one filter to select\n a specific customer"
parameters: []
responses:
200:
description: 'Successful Creation'
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"id\": 1,\n \"type\": \"cc\",\n \"token\": \"xxxxxxxx\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"cc_name_on_card\": \"Johnny Doe\",\n \"cc_last_four\": \"1234\",\n \"cc_expiration_date\": \"01/2027\",\n \"cc_brand\": \"Visa\",\n \"status\": \"New\",\n \"status_date\": \"2024-12-08 05:00:04\",\n \"enabled\": true,\n \"default\": true,\n \"addr1\": \"123 My Street\",\n \"addr2\": \"Suite 123\",\n \"addr3\": \"\",\n \"city\": \"Alpharetta\",\n \"state\": \"GA\",\n \"zip\": \"30009\",\n }\n}"
401:
description: 'Token permission error'
content:
application/json:
schema:
type: object
example:
data:
message: 'Permission denied'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission denied'
404:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Customer not found'
type: object
example:
data:
message: 'Customer not found.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Customer not found.'
-
description: 'Payment Method not found'
type: object
example:
data:
message: 'Payment Method not found.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Payment Method not found.'
-
description: 'No such Merchant'
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
tags:
- 'Payment Method management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
payment_method_id:
type: integer
description: 'The ID of the Payment Method.'
example: 12345
nullable: false
required:
- sid
- payment_method_id
filters:
type: object
description: ''
example: []
nullable: false
properties:
phone:
type: string
description: 'Phone number of the customer. Must be in e.164 format.'
example: '+15551237890'
nullable: false
uuid:
type: string
description: 'UUID of the customer. Must be in uuid format.'
example: 3c37db03-dc71-4e8b-90e7-6668290b7c3d
nullable: false
email:
type: string
description: 'Email of the customer. Must be in rfc compliant.'
example: an-email@domain.com
nullable: false
/api/payment-method/create:
post:
summary: 'Create a Payment Method for a customer'
operationId: createAPaymentMethodForACustomer
description: "This endpoint creates a new payment method for a customer. Must pass at least one filter to select\n a specific customer"
parameters: []
responses:
200:
description: 'Successful Creation'
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"id\": 1,\n \"type\": \"cc\",\n \"token\": \"xxxxxxxx\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"cc_name_on_card\": \"Johnny Doe\",\n \"cc_last_four\": \"1234\",\n \"cc_expiration_date\": \"01/2027\",\n \"cc_brand\": \"Visa\",\n \"status\": \"New\",\n \"status_date\": \"2024-12-08 05:00:04\",\n \"enabled\": true,\n \"default\": true,\n \"addr1\": \"123 My Street\",\n \"addr2\": \"Suite 123\",\n \"addr3\": \"\",\n \"city\": \"Alpharetta\",\n \"state\": \"GA\",\n \"zip\": \"30009\",\n }\n}"
401:
description: 'Token permission error'
content:
application/json:
schema:
type: object
example:
data:
message: 'Permission denied'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission denied'
404:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Customer not found'
type: object
example:
data:
message: 'Customer not found.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Customer not found.'
-
description: 'No such Merchant'
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
tags:
- 'Payment Method management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
uuid:
type: string
description: 'UUID of the customer. Must be in uuid format.'
example: 3c37db03-dc71-4e8b-90e7-6668290b7c3d
nullable: false
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
type:
type: string
description: "Type of payment method 'cc' for credit card or 'ach' for bank accounts."
example: cc
nullable: false
cc_name_on_card:
type: string
description: "The name on the card. Required IF type is 'cc' Max: 255."
example: 'John Doe'
nullable: false
cc_number:
type: string
description: "The card number. Required IF type is 'cc' Max: 255."
example: '7890'
nullable: false
cc_expiration_date:
type: string
description: "The expiration date of card. Required IF type is 'cc' Max: 7."
example: 01/2025
nullable: false
cc_cvv:
type: string
description: "The CVV of card. Required IF type is 'cc' Max: 4."
example: '1234'
nullable: false
cc_brand:
type: string
description: "The brand of the card. Must be Visa, MasterCard, or Amex. Required IF type is 'cc' Max: 10."
example: Visa
nullable: false
ach_bank_account_name:
type: string
description: "The name on the bank account. Required IF type is 'ach' Max: 50."
example: 'Acme Inc.'
nullable: false
ach_routing_number:
type: string
description: "Routing number for ach type. Required IF type is 'ach' Digits: 9."
example: '123456789'
nullable: false
ach_account_number:
type: string
description: "Account number for ach type. Required IF type is 'ach' Max: 35."
example: '123456789'
nullable: false
ach_ownership_type:
type: string
description: "Ownership type of the account. Must be Personal or Business. Required IF type is 'ach' Max: 35."
example: Personal
nullable: false
ach_account_type:
type: string
description: "Type of the account. Must be Checking or Savings. Required IF type is 'ach' Max: 35."
example: Checking
nullable: false
ach_bank_name:
type: string
description: "The name of the bank. Required IF type is 'ach' Max: 50."
example: 'Wells Fargo'
nullable: false
default:
type: boolean
description: 'Should this be default payment method.'
example: true
nullable: false
addr1:
type: string
description: 'Address Line One. Max: 75.'
example: '123 First St.'
nullable: false
addr2:
type: string
description: 'Address Line Two. Max: 50.'
example: 'Suite 111'
nullable: true
city:
type: string
description: 'City name. Max: 75.'
example: Alpharetta
nullable: false
state:
type: string
description: 'Two character State. Max: 2.'
example: GA
nullable: false
zip:
type: string
description: 'Zip code. Digits: 5.'
example: '30009'
nullable: false
required:
- sid
- type
- cc_name_on_card
- cc_number
- cc_expiration_date
- cc_cvv
- cc_brand
- ach_bank_account_name
- ach_routing_number
- ach_account_number
- ach_ownership_type
- ach_account_type
- ach_bank_name
/api/payment-method/update:
patch:
summary: 'Update a Payment Method for a customer'
operationId: updateAPaymentMethodForACustomer
description: "This endpoint updates a payment method for a customer. Must pass at least one filter to select\n a specific customer"
parameters: []
responses:
200:
description: 'Successful Update'
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"id\": 1,\n \"type\": \"cc\",\n \"token\": \"xxxxxxxx\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"cc_name_on_card\": \"Johnny Doe\",\n \"cc_last_four\": \"1234\",\n \"cc_expiration_date\": \"01/2027\",\n \"cc_brand\": \"Visa\",\n \"status\": \"New\",\n \"status_date\": \"2024-12-08 05:00:04\",\n \"enabled\": true,\n \"default\": true,\n \"addr1\": \"123 My Street\",\n \"addr2\": \"Suite 123\",\n \"addr3\": \"\",\n \"city\": \"Alpharetta\",\n \"state\": \"GA\",\n \"zip\": \"30009\",\n }\n}"
401:
description: 'Token permission error'
content:
application/json:
schema:
type: object
example:
data:
message: 'Permission denied'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission denied'
404:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Customer not found'
type: object
example:
data:
message: 'Customer not found.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Customer not found.'
-
description: 'Merchant not found'
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
tags:
- 'Payment Method management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
uuid:
type: string
description: 'Must be a valid UUID. The uuid of an existing record in the customers table.'
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
nullable: false
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
payment_method_id:
type: number
description: 'The id of an existing record in the payment_methods table.'
example: 4326.41688
nullable: false
type:
type: string
description: "Type of payment method 'cc' for credit card or 'ach' for bank accounts."
example: cc
nullable: false
cc_name_on_card:
type: string
description: "The name on the card. Required IF type is 'cc' Max: 255."
example: 'John Doe'
nullable: false
cc_number:
type: string
description: "The card number. Required IF type is 'cc' Max: 255."
example: '7890'
nullable: false
cc_expiration_date:
type: string
description: "The expiration date of card. Required IF type is 'cc' Max: 7."
example: 01/2025
nullable: false
cc_cvv:
type: string
description: "The CVV of card. Required IF type is 'cc' Max: 4."
example: '1234'
nullable: false
cc_brand:
type: string
description: "The brand of the card. Must be Visa, MasterCard, or Amex. Required IF type is 'cc' Max: 10."
example: Visa
nullable: false
ach_bank_account_name:
type: string
description: "The name on the bank account. Required IF type is 'ach' Max: 50."
example: 'Acme Inc.'
nullable: false
ach_routing_number:
type: string
description: "Routing number for ach type. Required IF type is 'ach' Digits: 9."
example: '123456789'
nullable: false
ach_account_number:
type: string
description: "Account number for ach type. Required IF type is 'ach' Max: 35."
example: '123456789'
nullable: false
ach_ownership_type:
type: string
description: "Ownership type of the account. Must be Personal or Business. Required IF type is 'ach' Max: 35."
example: Personal
nullable: false
ach_account_type:
type: string
description: "Type of the account. Must be Checking or Savings. Required IF type is 'ach' Max: 35."
example: Checking
nullable: false
ach_bank_name:
type: string
description: "The name of the bank. Required IF type is 'ach' Max: 50."
example: 'Wells Fargo'
nullable: false
default:
type: boolean
description: 'Should this be default payment method.'
example: true
nullable: false
addr1:
type: string
description: 'Address Line One. Max: 75.'
example: '123 First St.'
nullable: false
addr2:
type: string
description: 'Address Line Two. Max: 50.'
example: 'Suite 111'
nullable: true
city:
type: string
description: 'City name. Max: 75.'
example: Alpharetta
nullable: false
state:
type: string
description: 'Two character State. Max: 2.'
example: GA
nullable: false
zip:
type: string
description: 'Zip code. Digits: 5.'
example: '30009'
nullable: false
required:
- uuid
- sid
- payment_method_id
- type
- cc_name_on_card
- cc_number
- cc_expiration_date
- cc_cvv
- cc_brand
- ach_bank_account_name
- ach_routing_number
- ach_account_number
- ach_ownership_type
- ach_account_type
- ach_bank_name
- addr1
- city
- state
- zip
filters:
type: object
description: ''
example:
phone: '+15551237890'
nullable: false
properties:
phone:
type: string
description: 'Phone number of the customer. Must be in e.164 format.'
example: '+15551237890'
nullable: false
email:
type: string
description: 'Email of the customer. Must be in rfc compliant.'
example: an-email@domain.com
nullable: false
uuid:
type: string
description: 'UUID of the customer. Must be in uuid format.'
example: 3c37db03-dc71-4e8b-90e7-6668290b7c3d
nullable: false
/api/payment-method/delete:
post:
summary: 'Delete a Payment Method for a customer'
operationId: deleteAPaymentMethodForACustomer
description: "This endpoint deletes a payment method for a customer. Must pass at least one filter to select\n a specific customer"
parameters: []
responses:
200:
description: 'Successful Deletion'
content:
application/json:
schema:
type: object
example:
data:
message: 'Payment Method deleted successfully.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Payment Method deleted successfully.'
description: 'The message of the response. Example: Payment Method deleted successfully.'
enum: []
401:
description: 'Token permission error'
content:
application/json:
schema:
type: object
example:
data:
message: 'Permission denied'
properties:
data:
type: object
properties:
message:
type: string
example: 'Permission denied'
description: 'The message of the response. Example: Payment Method deleted successfully.'
enum: []
404:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Customer not found'
type: object
example:
data:
message: 'Customer not found.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Customer not found.'
description: 'The message of the response. Example: Payment Method deleted successfully.'
enum: []
-
description: 'Merchant not found'
type: object
example:
data:
message: 'No such Merchant'
properties:
data:
type: object
properties:
message:
type: string
example: 'No such Merchant'
description: 'The message of the response. Example: Payment Method deleted successfully.'
enum: []
-
description: 'Payment Method not found'
type: object
example:
data:
message: 'Payment Method not found'
properties:
data:
type: object
properties:
message:
type: string
example: 'Payment Method not found'
description: 'The message of the response. Example: Payment Method deleted successfully.'
enum: []
409:
description: 'Payment method has active recurring payments'
content:
application/json:
schema:
type: object
example:
data:
message: 'Cannot delete payment method with active recurring payments.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Cannot delete payment method with active recurring payments.'
description: 'The message of the response. Example: Payment Method deleted successfully.'
enum: []
tags:
- 'Payment Method management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
payment_method_id:
type: integer
description: 'The ID of the payment method.'
example: 12345
nullable: false
uuid:
type: string
description: 'UUID of the customer. Must be in uuid format.'
example: 3c37db03-dc71-4e8b-90e7-6668290b7c3d
nullable: false
required:
- sid
- payment_method_id
/api/recurring-payment/list:
get:
summary: 'List Recurring Payments'
operationId: listRecurringPayments
description: 'Retrieves a list of recurring payments for a given Merchant, filtered by various parameters.'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: "{\n\"data\": {\n\"id\": \"12345\",\n\"name\": \"A Smith\",\n\"amount\": \"1819.16\",\n\"start_date\": \"2025-04-04T04:00:00.000000Z\",\n\"end_date\": null,\n\"recurrence_schedule\": \"Monthly\",\n\"last_run_date\": \"2025-05-06T04:00:00.000000Z\",\n\"last_run_status\": \"Failed\",\n\"last_run_failed_count\": 3,\n\"next_run_date\": null,\n\"status\": \"Failed\",\n\"paused_until_date\": null,\n\"customer_uuid\": \"941d46d5-ad8e-4737-8dda-cec4a5116cde\",\n\"cancelled_at\": null,\n\"error\": \"EXPIRED CARD\",\n\"payment_method\": {\n\"id\": 22,\n\"type\": \"cc\",\n\"last_four\": \"8747\",\n\"expiration\": \"08/2029\",\n\"zip\": \"30115\",\n\"name_on_card\": \"Kody Smith\"\n}\n}\n],\n\"links\": {\n\"prev\": null,\n\"next\": null\n},\n\"meta\": {\n\"path\": \"https://app.dimepayments.com/api/recurring-payment/list\",\n\"per_page\": 500,\n\"next_cursor\": null,\n\"prev_cursor\": null\n}\n}"
400:
description: 'Failed validation'
content:
application/json:
schema:
type: object
example:
errors:
filters.status:
- 'The filters.status field is not valid.'
properties:
errors:
type: object
properties:
filters.status:
type: array
example:
- 'The filters.status field is not valid.'
items:
type: string
401:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: 'Token unauthorized'
type: string
example: '{"data": { "message": "Permission Denied."}'
-
description: 'Invalid merchant or affiliate authorization'
type: string
example: '{"data": { "message": "Unauthorized"}'
-
description: 'Invalid merchant or affiliate associations'
type: string
example: '{"data": { "message": "Not associated with affiliate"}'
404:
description: 'Invalid sid'
content:
text/plain:
schema:
type: string
example: '{"data": { "message": "No such Merchant"}'
tags:
- 'Recurring Payments management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: string
description: 'The ID of the merchant that processed the transactions.'
example: '12345'
nullable: false
required:
- sid
filters:
type: object
description: ''
example: []
nullable: false
properties:
status:
type: string
description: 'The status of the recurring payment.'
example: 'Active, Failed, Paused, Canceled'
nullable: false
customer_uuid:
type: string
description: 'The customer UUID associated with the transaction.'
example: cust_456
nullable: false
/api/recurring-payment/pause:
patch:
summary: 'Pause Recurring Payment'
operationId: pauseRecurringPayment
description: 'Pauses a scheduled recurring payment. If pause_until_date is not passed, it will be set to 2099-12-31'
parameters: []
responses:
200:
description: 'Successful Pause'
content:
text/plain:
schema:
type: string
example: "{\n\"data\": {\n\"id\": \"12345\",\n\"name\": \"A Smith\",\n\"amount\": \"1819.16\",\n\"start_date\": \"2025-04-04T04:00:00.000000Z\",\n\"end_date\": null,\n\"recurrence_schedule\": \"Monthly\",\n\"last_run_date\": \"2025-05-06T04:00:00.000000Z\",\n\"last_run_status\": \"Failed\",\n\"last_run_failed_count\": 3,\n\"next_run_date\": null,\n\"status\": \"Paused\",\n\"paused_until_date\": \"2027-05-06T04:00:00.000000Z\",\n\"customer_uuid\": \"941d46d5-ad8e-4737-8dda-cec4a5116cde\",\n\"cancelled_at\": null,\n\"error\": \"EXPIRED CARD\",\n\"payment_method\": {\n\"id\": 22,\n\"type\": \"cc\",\n\"last_four\": \"8747\",\n\"expiration\": \"08/2029\",\n\"zip\": \"30115\",\n\"name_on_card\": \"Kody Smith\"\n},\n\"shipping_address\": {\n \"addr1\": \"123 Main St\",\n \"addr2\": \"apt 1\",\n \"city\": \"Alpharetta\",\n \"state\": \"GA\",\n \"zip\": \"12345\"\n}\n}\n],\n\"links\": {\n\"prev\": null,\n\"next\": null\n},\n\"meta\": {\n\"path\": \"https://app.dimepayments.com/api/recurring-payment/list\",\n\"per_page\": 500,\n\"next_cursor\": null,\n\"prev_cursor\": null\n}\n}"
400:
description: 'Failed validation'
content:
application/json:
schema:
type: object
example:
errors:
data.pause_until_date:
- 'Invalid date format.'
properties:
errors:
type: object
properties:
data.pause_until_date:
type: array
example:
- 'Invalid date format.'
items:
type: string
401:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: 'Token unauthorized'
type: string
example: '{"data": { "message": "Permission Denied."}'
-
description: 'Invalid merchant or affiliate authorization'
type: string
example: '{"data": { "message": "Unauthorized"}'
-
description: 'Invalid merchant or affiliate associations'
type: string
example: '{"data": { "message": "Not associated with affiliate"}'
404:
description: 'Invalid sid'
content:
text/plain:
schema:
type: string
example: '{"data": { "message": "No such Merchant"}'
tags:
- 'Recurring Payments management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: string
description: 'The ID of the merchant that processed the transactions.'
example: '12345'
nullable: false
recurring_payment_id:
type: integer
description: 'The ID of the recurring payment to pause.'
example: 12345
nullable: false
pause_until_date:
type: date
description: 'optional The date to pause until in `Y-m-d H:i:s` format.'
example: '2021-01-01 00:00:00'
nullable: false
required:
- sid
- recurring_payment_id
/api/recurring-payment/cancel:
patch:
summary: 'Cancel Recurring Payment'
operationId: cancelRecurringPayment
description: 'Cancels a scheduled recurring payment.'
parameters: []
responses:
200:
description: 'Successful Pause'
content:
text/plain:
schema:
type: string
example: "{\n\"data\": {\n\"id\": \"12345\",\n\"name\": \"A Smith\",\n\"amount\": \"1819.1600\",\n\"start_date\": \"2025-04-04T04:00:00.000000Z\",\n\"end_date\": null,\n\"recurrence_schedule\": \"Monthly\",\n\"last_run_date\": \"2025-05-06T04:00:00.000000Z\",\n\"last_run_status\": \"Failed\",\n\"last_run_failed_count\": 3,\n\"next_run_date\": null,\n\"status\": \"Cancelled\",\n\"paused_until_date\": null,\n\"customer_uuid\": \"941d46d5-ad8e-4737-8dda-cec4a5116cde\",\n\"cancelled_at\": \"2027-05-06T04:00:00.000000Z\",\n\"error\": \"EXPIRED CARD\",\n\"payment_method\": {\n\"id\": 22,\n\"type\": \"cc\",\n\"last_four\": \"8747\",\n\"expiration\": \"08/2029\",\n\"zip\": \"30115\",\n\"name_on_card\": \"Kody Smith\",\n \"shipping_address\": {\n \"addr1\": \"123 Main St\",\n \"addr2\": \"apt 1\",\n \"city\": \"Alpharetta\",\n \"state\": \"GA\",\n \"zip\": \"12345\"\n },\n \"shipping_address\": {\n \"addr1\": \"123 Main St\",\n \"addr2\": \"apt 1\",\n \"city\": \"Alpharetta\",\n \"state\": \"GA\",\n \"zip\": \"12345\"\n }\n}\n}"
401:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: 'Token unauthorized'
type: string
example: '{"data": { "message": "Permission Denied."}'
-
description: 'Invalid merchant or affiliate authorization'
type: string
example: '{"data": { "message": "Unauthorized"}'
-
description: 'Invalid merchant or affiliate associations'
type: string
example: '{"data": { "message": "Not associated with affiliate"}'
404:
description: 'Invalid sid'
content:
text/plain:
schema:
type: string
example: '{"data": { "message": "No such Merchant"}'
tags:
- 'Recurring Payments management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: string
description: 'The ID of the merchant that processed the transactions.'
example: '12345'
nullable: false
recurring_payment_id:
type: integer
description: 'The ID of the recurring payment to pause.'
example: 12345
nullable: false
required:
- sid
- recurring_payment_id
/api/recurring-payment/activate:
patch:
summary: 'Activate Recurring Payment'
operationId: activateRecurringPayment
description: 'Activates a scheduled recurring payment. Set to status of Active and calculates next run date.'
parameters: []
responses:
200:
description: 'Successful Pause'
content:
text/plain:
schema:
type: string
example: "{\n\"data\": {\n\"id\": \"12345\",\n\"name\": \"A Smith\",\n\"amount\": \"1819.16\",\n\"start_date\": \"2025-04-04T04:00:00.000000Z\",\n\"end_date\": null,\n\"recurrence_schedule\": \"Monthly\",\n\"last_run_date\": \"2025-05-06T04:00:00.000000Z\",\n\"last_run_status\": \"Failed\",\n\"last_run_failed_count\": 3,\n\"next_run_date\": \"2027-06-06T04:00:00.000000Z\",\n\"status\": \"Active\",\n\"paused_until_date\": null,\n\"customer_uuid\": \"941d46d5-ad8e-4737-8dda-cec4a5116cde\",\n\"cancelled_at\": null,\n\"error\": \"EXPIRED CARD\",\n\"payment_method\": {\n\"id\": 22,\n\"type\": \"cc\",\n\"last_four\": \"8747\",\n\"expiration\": \"08/2029\",\n\"zip\": \"30115\",\n\"name_on_card\": \"Kody Smith\"\n},\n \"shipping_address\": {\n \"addr1\": \"123 Main St\",\n \"addr2\": \"apt 1\",\n \"city\": \"Alpharetta\",\n \"state\": \"GA\",\n \"zip\": \"12345\"\n }\n}"
401:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: 'Token unauthorized'
type: string
example: '{"data": { "message": "Permission Denied."}'
-
description: 'Invalid merchant or affiliate authorization'
type: string
example: '{"data": { "message": "Unauthorized"}'
-
description: 'Invalid merchant or affiliate associations'
type: string
example: '{"data": { "message": "Not associated with affiliate"}'
404:
description: 'Invalid sid'
content:
text/plain:
schema:
type: string
example: '{"data": { "message": "No such Merchant"}'
tags:
- 'Recurring Payments management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: string
description: 'The ID of the merchant that processed the transactions.'
example: '12345'
nullable: false
recurring_payment_id:
type: integer
description: 'The ID of the recurring payment to pause.'
example: 12345
nullable: false
required:
- sid
- recurring_payment_id
/api/recurring-payment/create:
post:
summary: 'Create Recurring Payment'
operationId: createRecurringPayment
description: "Creates a scheduled recurring payment. The payment will run on the next date based on schedule and start date. So\nif 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\nRecurring Payments run around 0500 EST."
parameters: []
responses:
200:
description: 'Successful Creation'
content:
text/plain:
schema:
type: string
example: "{\n\"data\": {\n\"id\": \"12345\",\n\"name\": \"Rent\",\n\"amount\": \"1819.16\",\n\"start_date\": \"2025-04-04T04:00:00.000000Z\",\n\"end_date\": null,\n\"recurrence_schedule\": \"Monthly\",\n\"last_run_date\": \"\",\n\"last_run_status\": \"\",\n\"last_run_failed_count\": 3,\n\"next_run_date\": \"2027-06-06T04:00:00.000000Z\",\n\"status\": \"Active\",\n\"paused_until_date\": null,\n\"customer_uuid\": \"941d46d5-ad8e-4737-8dda-cec4a5116cde\",\n\"cancelled_at\": null,\n\"error\": \"\",\n\"payment_method\": {\n\"id\": 22,\n\"type\": \"cc\",\n\"last_four\": \"8247\",\n\"expiration\": \"08/2030\",\n\"zip\": \"30111\",\n\"name_on_card\": \"John Doe\"\n}\n \"shipping_address\": {\n \"addr1\": \"123 Main St\",\n \"addr2\": \"apt 1\",\n \"city\": \"Alpharetta\",\n \"state\": \"GA\",\n \"zip\": \"12345\"\n }\n}"
401:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: 'Token unauthorized'
type: string
example: '{"data": { "message": "Permission Denied."}'
-
description: 'Invalid merchant or affiliate authorization'
type: string
example: '{"data": { "message": "Unauthorized"}'
-
description: 'Invalid merchant or affiliate associations'
type: string
example: '{"data": { "message": "Not associated with affiliate"}'
404:
description: 'Invalid sid'
content:
text/plain:
schema:
type: string
example: '{"data": { "message": "No such Merchant"}'
tags:
- 'Recurring Payments management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: string
description: 'The ID of the merchant that processed the transactions.'
example: '12345'
nullable: false
name:
type: string
description: 'The name for the recurring payment.'
example: Rent
nullable: false
amount:
type: number
description: 'The amount for the recurring payment in US Dollars and Cents.'
example: 1101.69
nullable: false
start_date:
type: date
description: 'The date the recurring payment should start in the correct format.'
example: '2025-06-12 13:26:00'
nullable: false
end_date:
type: The
description: 'date the recurring payment should end in the correct format.'
example: '2026-06-12 13:26:00'
nullable: true
recurrence_schedule:
type: string
description: 'The schedule: Weekly, Biweekly, FirstFifteenth, Monthly, Yearly.'
example: Monthly
nullable: false
payment_method:
type: integer
description: 'The ID of the payment method.'
example: 69585
nullable: false
customer_uuid:
type: string
description: 'The UUID of the customer.'
example: 12312312-12312321-12312312-12312312
nullable: false
shipping_address:
type: object
description: ''
example: []
nullable: false
properties:
addr1:
type: string
description: 'Line 1 of the shipping address to be associated with the recurring payment.'
example: '123 Main St.'
nullable: true
addr2:
type: string
description: 'Line 2 of the shipping address to be associated with the recurring payment.'
example: 'apt 1'
nullable: true
city:
type: string
description: 'The city of the shipping address to be associated with the recurring payment.'
example: Alpharetta.
nullable: true
state:
type: string
description: 'The state of the shipping address to be associated with the recurring payment.'
example: GA.
nullable: true
zip:
type: string
description: 'The zip of the shipping address to be associated with the recurring payment.'
example: '12345.'
nullable: true
required:
- sid
- name
- amount
- start_date
- recurrence_schedule
- payment_method
- customer_uuid
/api/recurring-payment/show:
get:
summary: 'Show Recurring Payment'
operationId: showRecurringPayment
description: 'Show details of a scheduled recurring payment.'
parameters: []
responses:
200:
description: 'Successful Show'
content:
text/plain:
schema:
type: string
example: "{\n\"data\": {\n\"id\": \"12345\",\n\"name\": \"A Smith\",\n\"amount\": \"1819.16\",\n\"start_date\": \"2025-04-04T04:00:00.000000Z\",\n\"end_date\": null,\n\"recurrence_schedule\": \"Monthly\",\n\"last_run_date\": \"2025-05-06T04:00:00.000000Z\",\n\"last_run_status\": \"Failed\",\n\"last_run_failed_count\": 3,\n\"next_run_date\": \"2027-06-06T04:00:00.000000Z\",\n\"status\": \"Active\",\n\"paused_until_date\": null,\n\"customer_uuid\": \"941d46d5-ad8e-4737-8dda-cec4a5116cde\",\n\"cancelled_at\": null,\n\"error\": \"EXPIRED CARD\",\n\"payment_method\": {\n\"id\": 22,\n\"type\": \"cc\",\n\"last_four\": \"8747\",\n\"expiration\": \"08/2029\",\n\"zip\": \"30115\",\n\"name_on_card\": \"Kody Smith\"\n}\n \"shipping_address\": {\n \"addr1\": \"123 Main St\",\n \"addr2\": \"apt 1\",\n \"city\": \"Alpharetta\",\n \"state\": \"GA\",\n \"zip\": \"12345\"\n }\n}"
401:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: 'Token unauthorized'
type: string
example: '{"data": { "message": "Permission Denied."}'
-
description: 'Invalid merchant or affiliate authorization'
type: string
example: '{"data": { "message": "Unauthorized"}'
-
description: 'Invalid merchant or affiliate associations'
type: string
example: '{"data": { "message": "Not associated with affiliate"}'
404:
description: 'Invalid sid'
content:
text/plain:
schema:
type: string
example: '{"data": { "message": "No such Merchant"}'
tags:
- 'Recurring Payments management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: string
description: 'The ID of the merchant that processed the transactions.'
example: '12345'
nullable: false
recurring_payment_id:
type: integer
description: 'The ID of the recurring payment to show.'
example: 12345
nullable: false
required:
- sid
- recurring_payment_id
/api/recurring-payment/delete:
post:
summary: 'Delete Recurring Payment'
operationId: deleteRecurringPayment
description: 'Delete a recurring payment.'
parameters: []
responses:
200:
description: 'Successful Deletion'
content:
application/json:
schema:
type: object
example:
data:
message: 'Recurring payment successfully deleted.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Recurring payment successfully deleted.'
description: 'The message. Example: Recurring payment successfully deleted.'
enum: []
401:
description: ''
content:
text/plain:
schema:
oneOf:
-
description: 'Token unauthorized'
type: string
example: '{"data": { "message": "Permission Denied."}'
-
description: 'Invalid merchant or affiliate authorization'
type: string
example: '{"data": { "message": "Unauthorized"}'
-
description: 'Invalid merchant or affiliate associations'
type: string
example: '{"data": { "message": "Not associated with affiliate"}'
404:
description: 'Invalid sid'
content:
text/plain:
schema:
type: string
example: '{"data": { "message": "No such Merchant"}'
tags:
- 'Recurring Payments management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example: []
nullable: false
properties:
sid:
type: string
description: 'The ID of the merchant that processed the transactions.'
example: '12345'
nullable: false
recurring_payment_id:
type: integer
description: 'The ID of the recurring payment to show.'
example: 12345
nullable: false
required:
- sid
- recurring_payment_id
/api/zapier/new-customers:
get:
summary: 'Get New Customers'
operationId: getNewCustomers
description: 'Get a list of all new customers since the last time it was checked.'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: '{'
401:
description: 'Token permission error'
content:
application/json:
schema:
type: object
example:
message: Unauthorized
properties:
message:
type: string
example: Unauthorized
404:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'Merchant not found'
type: object
example:
message: 'Merchant not found'
properties:
message:
type: string
example: 'Merchant not found'
-
description: 'Transactions not found'
type: object
example:
message: 'No transactions found'
properties:
message:
type: string
example: 'No transactions found'
tags:
- Zapier
/api/zapier/transactions:
get:
summary: 'Get Transactions'
operationId: getTransactions
description: 'Get a list of all transactions for a Merchant'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: "{\n [\n \"amount\": \"100.00\",\n \"business\": \"Acme Inc\",\n \"transaction_date\": \"2020-10-15 12:00:00\",\n \"customer_uuid\": \"1234567890\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"customer_phone\": \"1234567890\",\n \"customer_email\": \"email@email.com\"\n ],\n [\n \"amount\": \"100.00\",\n \"business\": \"Acme Inc\",\n \"transaction_date\": \"2020-10-15 12:00:00\",\n \"customer_uuid\": \"1234567890\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"customer_phone\": \"1234567890\",\n \"customer_email\": \"email@email.com\"\n ]\n}"
401:
description: 'Token permission error'
content:
application/json:
schema:
type: object
example:
message: 'Permission denied'
properties:
message:
type: string
example: 'Permission denied'
404:
description: 'Merchant not found'
content:
application/json:
schema:
type: object
example:
message: 'Merchant not found'
properties:
message:
type: string
example: 'Merchant not found'
tags:
- Zapier
'/api/zapier/transactions/{phone}':
get:
summary: 'Get Transactions by Customer'
operationId: getTransactionsByCustomer
description: "Get a list of all transactions for a given customer using their phone number\n\n "
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: '{'
400:
description: ''
content:
text/plain:
schema:
type: string
example: 'scenario"Invalid input data" {"data.message" : "Can only contain last days or start and end date"}'
401:
description: 'Token permission error'
content:
application/json:
schema:
type: object
example:
message: 'Permission denied.'
properties:
message:
type: string
example: 'Permission denied.'
404:
description: 'Merchant not found'
content:
application/json:
schema:
type: object
example:
message: 'Merchant not found'
properties:
message:
type: string
example: 'Merchant not found'
tags:
- Zapier
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
start_date:
type: Date
description: 'in the form of YYYY-MM-DD'
example: '2020-10-15'
nullable: false
end_date:
type: Date
description: 'in the form of YYYY-MM-DD'
example: '2020-10-15'
nullable: false
last_days:
type: Integer
description: 'number of days'
example: '90'
nullable: false
parameters:
-
in: path
name: phone
description: ''
example: architecto
required: true
schema:
type: string
/api/zapier/new-transactions:
get:
summary: 'Get Most Recent Transaction'
operationId: getMostRecentTransaction
description: 'Get the most recent transactions details'
parameters: []
responses:
200:
description: 'Successful Listing'
content:
text/plain:
schema:
type: string
example: '{'
401:
description: 'Token permission error'
content:
application/json:
schema:
type: object
example:
message: 'Permission denied'
properties:
message:
type: string
example: 'Permission denied'
404:
description: 'Merchant not found'
content:
application/json:
schema:
type: object
example:
message: 'Merchant not found'
properties:
message:
type: string
example: 'Merchant not found'
tags:
- Zapier