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'
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:
start_date: '2024-01-01 00:00:00'
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: 'Sipes, Witting and Kirlin'
sid: 289552521
mcc: null
slug: possimus-culpa-quasi
pub_api_key: null
processor_mid: null
active: true
active_at: null
g_pay: null
a_pay: null
pci_compliance: null
website: null
addr1: null
addr2: null
city: null
state: null
zip: null
phone: null
primary_phone: null
primary_email: null
primary_name: null
properties:
data:
type: object
properties:
name:
type: string
example: 'Sipes, Witting and Kirlin'
sid:
type: integer
example: 289552521
mcc:
type: string
example: null
slug:
type: string
example: possimus-culpa-quasi
pub_api_key:
type: string
example: null
processor_mid:
type: string
example: null
active:
type: boolean
example: true
active_at:
type: string
example: null
g_pay:
type: string
example: null
a_pay:
type: string
example: null
pci_compliance:
type: string
example: null
website:
type: string
example: null
addr1:
type: string
example: null
addr2:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip:
type: string
example: null
phone:
type: string
example: null
primary_phone:
type: string
example: null
primary_email:
type: string
example: null
primary_name:
type: string
example: null
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:
sid: '1234567'
nullable: false
properties:
sid:
type: numeric
description: 'ID of merchant account processing the charge.'
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: 'Bahringer, Gislason and Leffler'
sid: 1610772428
mcc: null
slug: natus-quisquam-ipsam
pub_api_key: null
processor_mid: null
active: true
active_at: null
g_pay: null
a_pay: null
pci_compliance: null
website: null
addr1: null
addr2: null
city: null
state: null
zip: null
phone: null
primary_phone: null
primary_email: null
primary_name: null
properties:
data:
type: object
properties:
name:
type: string
example: 'Bahringer, Gislason and Leffler'
sid:
type: integer
example: 1610772428
mcc:
type: string
example: null
slug:
type: string
example: natus-quisquam-ipsam
pub_api_key:
type: string
example: null
processor_mid:
type: string
example: null
active:
type: boolean
example: true
active_at:
type: string
example: null
g_pay:
type: string
example: null
a_pay:
type: string
example: null
pci_compliance:
type: string
example: null
website:
type: string
example: null
addr1:
type: string
example: null
addr2:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip:
type: string
example: null
phone:
type: string
example: null
primary_phone:
type: string
example: null
primary_email:
type: string
example: null
primary_name:
type: string
example: null
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:
name: 'Acme Inc'
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: false
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_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
primary_phone:
type: string
description: 'The phone of the main contact for the Merchant in e164 format.'
example: '+140412345678'
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_name
- primary_email
- primary_phone
- 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: 'Pagac, Lynch and Fay'
sid: 1898128208
mcc: null
slug: molestias-autem-rerum-sed
pub_api_key: null
processor_mid: null
active: true
active_at: null
g_pay: null
a_pay: null
pci_compliance: null
website: null
addr1: null
addr2: null
city: null
state: null
zip: null
phone: null
primary_phone: null
primary_email: null
primary_name: null
properties:
data:
type: object
properties:
name:
type: string
example: 'Pagac, Lynch and Fay'
sid:
type: integer
example: 1898128208
mcc:
type: string
example: null
slug:
type: string
example: molestias-autem-rerum-sed
pub_api_key:
type: string
example: null
processor_mid:
type: string
example: null
active:
type: boolean
example: true
active_at:
type: string
example: null
g_pay:
type: string
example: null
a_pay:
type: string
example: null
pci_compliance:
type: string
example: null
website:
type: string
example: null
addr1:
type: string
example: null
addr2:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip:
type: string
example: null
phone:
type: string
example: null
primary_phone:
type: string
example: null
primary_email:
type: string
example: null
primary_name:
type: string
example: null
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:
sid: 99
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant to update.'
example: 99
nullable: false
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: false
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_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
primary_phone:
type: string
description: 'The phone of the main contact for the Merchant in e164 format.'
example: '+140412345678'
nullable: false
industry:
type: string
description: 'Must be a supported Industry name, contact Dime Payments Rep for values.'
example: Church
nullable: false
required:
- sid
- name
- slug
- mcc
- processor_config_one
- website
- addr1
- city
- state
- zip
- phone
- primary_name
- primary_email
- primary_phone
- 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:
sid: 69
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\": \"\",\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 \"billing_address\": {\n \"first_name\": \"\",\n \"last_name\": \"\",\n \"addr1\": \"\",\n \"addr2\": \"\",\n \"city\": \"\",\n \"state\": \"\",\n \"zip\": \"\"\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 \"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 \"billing_address\": {\n \"first_name\": \"\",\n \"last_name\": \"\",\n \"addr1\": \"\",\n \"addr2\": \"\",\n \"city\": \"\",\n \"state\": \"\",\n \"zip\": \"\"\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 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:
sid: '12345'
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:
start_date: '2021-01-01 00:00:00'
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:
application/json:
schema:
type: object
example:
data:
amount: '1.00'
transaction_type: 'Credit Card'
transactionNumber: '1234567890'
description: 'a memo concerning this transaction'
status_code: '00'
status_text: APPROVAL
multi_use_token: abcdefg123456790
billing_address:
first_name: Jamie
last_name: Doe
addr1: '1 Lakeshore Dr'
addr2: 'Suite 100'
city: Chicago
state: IL
zip: '60601'
properties:
data:
type: object
properties:
amount:
type: string
example: '1.00'
description: 'The amount of the transaction in USD.'
enum: []
transaction_type:
type: string
example: 'Credit Card'
description: 'ACH or Credit Card.'
enum: []
transactionNumber:
type: string
example: '1234567890'
description: 'The unique transaction used for referencing in the future.'
enum: []
description:
type: string
example: 'a memo concerning this transaction'
description: 'The original memo field.'
enum: []
status_code:
type: string
example: '00'
status_text:
type: string
example: APPROVAL
description: 'Response text from processor.'
enum: []
multi_use_token:
type: string
example: abcdefg123456790
description: 'A token used to charge against a stored credit card.'
enum: []
billing_address:
type: object
properties:
first_name:
type: string
example: Jamie
description: 'The first name field.'
enum: []
last_name:
type: string
example: Doe
description: 'The last name field.'
enum: []
addr1:
type: string
example: '1 Lakeshore Dr'
description: 'The first address line.'
enum: []
addr2:
type: string
example: 'Suite 100'
description: 'The second address line.'
enum: []
city:
type: string
example: Chicago
description: 'The city field.'
enum: []
state:
type: string
example: IL
description: 'The state field.'
enum: []
zip:
type: string
example: '60601'
description: 'The zip field.'
enum: []
400:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
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
-
description: ''
type: object
example:
data:
amount: '1.00'
transaction_type: 'Credit Card'
transactionNumber: '1234567890'
description: 'a memo concerning this transaction'
status_code: '05'
status_text: DECLINE
billing_address:
first_name: Jamie
last_name: Doe
addr1: '1 Lakeshore Dr'
addr2: 'Suite 100'
city: Chicago
state: IL
zip: '60601'
properties:
data:
type: object
properties:
amount:
type: string
example: '1.00'
description: 'The amount of the transaction in USD.'
enum: []
transaction_type:
type: string
example: 'Credit Card'
description: 'ACH or Credit Card.'
enum: []
transactionNumber:
type: string
example: '1234567890'
description: 'The unique transaction used for referencing in the future.'
enum: []
description:
type: string
example: 'a memo concerning this transaction'
description: 'The original memo field.'
enum: []
status_code:
type: string
example: '05'
status_text:
type: string
example: DECLINE
description: 'Response text from processor.'
enum: []
billing_address:
type: object
properties:
first_name:
type: string
example: Jamie
description: 'The first name field.'
enum: []
last_name:
type: string
example: Doe
description: 'The last name field.'
enum: []
addr1:
type: string
example: '1 Lakeshore Dr'
description: 'The first address line.'
enum: []
addr2:
type: string
example: 'Suite 100'
description: 'The second address line.'
enum: []
city:
type: string
example: Chicago
description: 'The city field.'
enum: []
state:
type: string
example: IL
description: 'The state field.'
enum: []
zip:
type: string
example: '60601'
description: 'The zip field.'
enum: []
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:
sid: '1234567'
nullable: false
properties:
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
uuid:
type: string
description: 'The UUID of the customer record.'
example: 60dac128-28da-41ae-8632-aee299de13fd
nullable: false
email:
type: 'email:rfc'
description: 'The email of a customer. Max: 50.'
example: angelo07@example.org
nullable: false
memo:
type: string
description: 'A string containing memo related information, such as an invoice ID. Max: 120.'
example: et
nullable: false
token:
type: string
description: 'An optional token to be used to reference a stored card for processing'
example: ratione
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: commodi
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: false
billing_address:
type: object
description: ''
example:
addr1: '1234 Main St'
nullable: false
properties:
addr1:
type: string
description: "The cardholder's address line 1. Max: 55."
example: '1234 Main St'
nullable: false
addr2:
type: string
description: "The cardholder's address line 2. Max: 55."
example: 'Suite 100'
nullable: false
city:
type: string
description: "The cardholder's city. Max: 55."
example: Atlanta
nullable: false
state:
type: string
description: "The cardholder's state. Max: 2."
example: NY
nullable: false
zip:
type: numeric
description: "The cardholder's ZIP code. Digits: 5."
example: '10001'
nullable: false
required:
- zip
required:
- sid
- cardholder_name
/api/transaction/charge-ach:
post:
summary: 'Charge a Bank Account'
operationId: chargeABankAccount
description: ''
parameters: []
responses:
200:
description: 'Successful Transaction'
content:
application/json:
schema:
type: object
example:
data:
transaction_type: ACH
transaction_number: '130'
amount: '25'
description: ''
status_code: '00'
status_text: Success
email: test@test.com
phone: ''
customer_uuid: ''
multi_use_token: ''
pending: false
billing_address:
first_name: First
last_name: Last
addr1: '12 Street Ave'
addr2: 'Suite 123'
city: Boulder
state: CO
zip: '80302'
properties:
data:
type: object
properties:
transaction_type:
type: string
example: ACH
description: 'ACH or Credit Card.'
enum: []
transaction_number:
type: string
example: '130'
description: 'The unique transaction used for referencing in the future.'
enum: []
amount:
type: string
example: '25'
description: 'The amount of the transaction in USD.'
enum: []
description:
type: string
example: ''
description: 'The original memo field.'
enum: []
status_code:
type: string
example: '00'
description: 'Response code from processor.'
enum: []
status_text:
type: string
example: Success
description: 'Response text from processor.'
enum: []
email:
type: string
example: test@test.com
description: 'The email address.'
enum: []
phone:
type: string
example: ''
description: 'The phone number.'
enum: []
customer_uuid:
type: string
example: ''
description: "The customer's UUID."
enum: []
multi_use_token:
type: string
example: ''
description: Not
enum: []
pending:
type: boolean
example: false
billing_address:
type: object
properties:
first_name:
type: string
example: First
description: 'The first name field.'
enum: []
last_name:
type: string
example: Last
description: 'The last name field.'
enum: []
addr1:
type: string
example: '12 Street Ave'
description: 'The first address line.'
enum: []
addr2:
type: string
example: 'Suite 123'
description: 'The second address line.'
enum: []
city:
type: string
example: Boulder
description: 'The city field.'
enum: []
state:
type: string
example: CO
description: 'The state field.'
enum: []
zip:
type: string
example: '80302'
description: 'The zip field.'
enum: []
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:
sid: '1234567'
nullable: false
properties:
sid:
type: numeric
description: 'The ID of merchant account processing the charge.'
example: '1234567'
nullable: false
account_number:
type: string
description: 'The bank account number. Max: 50.'
example: '91828382'
nullable: false
routing_number:
type: string
description: 'The bank account routing number. Max: 9.'
example: '123456789'
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
customer_uuid:
type: string
description: "optional The unique UUID of the merchant's customer."
example: 12312312-123123123-1231231231
nullable: false
memo:
type: string
description: 'optional The memo field. Max: 120.'
example: 'payment for something'
nullable: false
billing_address:
type: object
description: ''
example:
first_name: Ryan
nullable: false
properties:
first_name:
type: string
description: 'The first name. Max: 50.'
example: Ryan
nullable: false
last_name:
type: string
description: 'The first name. Max: 50.'
example: Taylor
nullable: false
addr1:
type: integer
description: 'optional The first address line. Max: 31.'
example: 123
nullable: false
addr2:
type: integer
description: 'optional The second address line. Max: 31.'
example: 0
nullable: false
city:
type: integer
description: 'optional The city. Max: 52.'
example: 0
nullable: false
state:
type: integer
description: 'optional The state. Max: 2.'
example: 0
nullable: false
zip:
type: integer
description: 'optional The zip code. Max: 5.'
example: 30009
nullable: false
required:
- sid
- account_number
- routing_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
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:
sid: '1234567'
nullable: false
properties:
sid:
type: numeric
description: 'The ID of 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: false
billing_address:
type: object
description: ''
example:
addr1: '1234 Main St'
nullable: false
properties:
addr1:
type: string
description: "The cardholder's address line 1. Can be empty string Max: 55."
example: '1234 Main St'
nullable: false
addr2:
type: string
description: "The cardholder's address line 2. Max: 55."
example: 'Suite 100'
nullable: false
city:
type: string
description: "The cardholder's city.Can be empty string Max: 55."
example: 'New York'
nullable: false
state:
type: string
description: "The cardholder's state.Can be empty string Max: 2."
example: NY
nullable: false
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 Refund'
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'
amount: '25.0000'
description: ''
status_code: ''
status_text: ''
email: ''
phone: ''
customer_uuid: 68d9feaa-04a9-4c48-8c00-a0b79c8b2f70
multi_use_token: ''
pending: true
billing_address:
first_name: ''
last_name: ''
addr1: ''
addr2: ''
city: ''
state: ''
zip: ''
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'
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: ''
status_text:
type: string
example: ''
email:
type: string
example: ''
phone:
type: string
example: ''
customer_uuid:
type: string
example: 68d9feaa-04a9-4c48-8c00-a0b79c8b2f70
description: "The unique UUID of the merchant's customer."
enum: []
multi_use_token:
type: string
example: ''
pending:
type: boolean
example: true
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: []
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:
sid: '1234567'
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: 'sometimes 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
att_number:
type: numeric
description: 'sometimes The ID of an ACH transaction.'
example: officiis
nullable: false
gateway_transaction_id:
type: numeric
description: 'sometimes The ID of a Credit Card transaction.'
example: repellat
nullable: false
transaction_type:
type: string
description: 'Must be either "CC" or "ACH".'
example: ACH
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: ''
content:
text/plain:
schema:
oneOf:
-
description: Success
type: string
example: '{"data": { "message" : "refund"}'
-
description: Success
type: string
example: '{"data": { "message" : "void"}'
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: ''
type: object
example:
data:
message: 'Error processing refund'
properties:
data:
type: object
properties:
message:
type: string
example: 'Error processing refund'
-
description: ''
type: object
example:
data:
message: 'Unsupported processor.'
properties:
data:
type: object
properties:
message:
type: string
example: 'Unsupported processor.'
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.'
tags:
- 'Transaction management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: ''
example:
sid: '1234567'
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. The transaction_id which is returned when processing a card or ach account.'
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 Transaction'
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: '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.'
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.'
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:
sid: 12345
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
required:
- sid
filters:
type: object
description: ''
example:
start_date: '2024-01-01 00:00:00'
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: 9e2729fc-1618-4cee-bff2-e7e715d45829
first_name: Bridget
last_name: Schulist
phone: '+17605862781'
email: otha46@example.com
addr1: "24010 Predovic Mountain\nEdmondfurt, DC 03883-8814"
addr2: "560 Rohan Skyway Apt. 245\nLake Gail, WV 16749"
addr3: "307 Lazaro Loaf\nBrettstad, MI 83108"
city: Jeremieborough
state: GA
zip: '49417'
country: Tunisia
properties:
data:
type: object
properties:
uuid:
type: string
example: 9e2729fc-1618-4cee-bff2-e7e715d45829
description: 'Unique User ID of customer'
enum: []
first_name:
type: string
example: Bridget
description: 'First name of customer'
enum: []
last_name:
type: string
example: Schulist
description: 'Last name of customer'
enum: []
phone:
type: string
example: '+17605862781'
description: 'Unique phone number of customer'
enum: []
email:
type: string
example: otha46@example.com
description: 'Email address of customer'
enum: []
addr1:
type: string
example: "24010 Predovic Mountain\nEdmondfurt, DC 03883-8814"
description: 'Address line 1 of customer'
enum: []
addr2:
type: string
example: "560 Rohan Skyway Apt. 245\nLake Gail, WV 16749"
description: 'Address line 2 of customer'
enum: []
addr3:
type: string
example: "307 Lazaro Loaf\nBrettstad, MI 83108"
description: 'Address line 3 of customer'
enum: []
city:
type: string
example: Jeremieborough
description: "Customer's"
enum: []
state:
type: string
example: GA
description: "Customer's"
enum: []
zip:
type: string
example: '49417'
description: "Customer's"
enum: []
country:
type: string
example: Tunisia
description: "Customer's"
enum: []
-
description: 'Successful Listing'
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:
sid: 12345
nullable: false
properties:
sid:
type: integer
description: 'The SID of the Merchant.'
example: 12345
nullable: false
required:
- sid
filters:
type: object
description: ''
example:
phone: '+15555555555'
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: 1e6fe18c-4b16-47f1-8c93-d65811053c7d
first_name: Jennings
last_name: Collins
phone: '+18047689214'
email: lamar98@example.net
addr1: "425 Douglas Ferry Apt. 249\nKuhnhaven, FL 29270"
addr2: "97755 Philip Cape\nHeathcoteville, OH 09612"
addr3: "868 Rubie Squares Suite 450\nPort Evert, VA 67452-4465"
city: 'West Tyreektown'
state: GA
zip: '09564'
country: Angola
properties:
data:
type: object
properties:
uuid:
type: string
example: 1e6fe18c-4b16-47f1-8c93-d65811053c7d
description: 'The uuid of the customer.'
enum: []
first_name:
type: string
example: Jennings
description: 'required The first name of the customer.'
enum: []
last_name:
type: string
example: Collins
description: 'required The last name of the customer.'
enum: []
phone:
type: string
example: '+18047689214'
description: 'required The phone number of the customer.'
enum: []
email:
type: string
example: lamar98@example.net
description: "required Customer's email."
enum: []
addr1:
type: string
example: "425 Douglas Ferry Apt. 249\nKuhnhaven, FL 29270"
description: "Customer's address line 1"
enum: []
addr2:
type: string
example: "97755 Philip Cape\nHeathcoteville, OH 09612"
description: "Customer's address line 2"
enum: []
addr3:
type: string
example: "868 Rubie Squares Suite 450\nPort Evert, VA 67452-4465"
description: "Customer's address line 3"
enum: []
city:
type: string
example: 'West Tyreektown'
description: "Customer's"
enum: []
state:
type: string
example: GA
description: "Customer's"
enum: []
zip:
type: string
example: '09564'
description: "Customer's"
enum: []
country:
type: string
example: Angola
description: "Customer's"
enum: []
-
description: 'Customer created'
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: eligendi
nullable: false
last_name:
type: string
description: "Customer's last name"
example: nostrum
nullable: false
company_name:
type: string
description: 'optional Name of Merchant that customer interacts with'
example: consectetur
nullable: false
phone:
type: required
description: "Customer's unique phone number"
example: rem
nullable: false
email:
type: required
description: "Customer's unique email"
example: stoltenberg.salma@example.org
nullable: false
addr1:
type: optional
description: "Customer's address line 1"
example: sint
nullable: false
addr2:
type: optional
description: "Customer's address line 2"
example: quia
nullable: false
addr3:
type: optional
description: "Customer's address line 3"
example: dolorem
nullable: false
city:
type: optional
description: "Customer's city"
example: qui
nullable: false
state:
type: optional
description: "Customer's state"
example: illum
nullable: false
zip:
type: optional
description: "Customer's zip code"
example: quaerat
nullable: false
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: 31f99016-8467-478c-bdff-2f977cfe553c
first_name: Thalia
last_name: Botsford
phone: '+18455346334'
email: abbie20@example.net
addr1: "41310 Gerhold Extension Suite 007\nNorth Ceasar, KS 30065-3319"
addr2: "68304 Gerlach Mountains Suite 823\nKaylibury, MD 87532-4747"
addr3: "665 Leo Forge Suite 237\nSawaynland, SD 00203"
city: Charlieport
state: GA
zip: 67973-7564
country: Monaco
properties:
data:
type: object
properties:
uuid:
type: string
example: 31f99016-8467-478c-bdff-2f977cfe553c
description: 'The UUID of the customer.'
enum: []
first_name:
type: string
example: Thalia
description: 'The first name of the customer.'
enum: []
last_name:
type: string
example: Botsford
description: 'The last name of the customer.'
enum: []
phone:
type: string
example: '+18455346334'
description: 'Unique phone number of customer'
enum: []
email:
type: string
example: abbie20@example.net
description: 'Email address of customer'
enum: []
addr1:
type: string
example: "41310 Gerhold Extension Suite 007\nNorth Ceasar, KS 30065-3319"
description: 'Address line 1 of customer'
enum: []
addr2:
type: string
example: "68304 Gerlach Mountains Suite 823\nKaylibury, MD 87532-4747"
description: 'Address line 2 of customer'
enum: []
addr3:
type: string
example: "665 Leo Forge Suite 237\nSawaynland, SD 00203"
description: 'Address line 3 of customer'
enum: []
city:
type: string
example: Charlieport
description: "Customer's"
enum: []
state:
type: string
example: GA
description: "Customer's"
enum: []
zip:
type: string
example: 67973-7564
description: "Customer's"
enum: []
country:
type: string
example: Monaco
description: "Customer's"
enum: []
-
description: 'Successful Listing'
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
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
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: aut
nullable: false
last_name:
type: optional
description: "Customer's last name"
example: facilis
nullable: false
company_name:
type: optional
description: 'Name of Merchant that customer interacts with'
example: aut
nullable: false
phone:
type: optional
description: "Customer's unique phone number"
example: voluptatem
nullable: false
email:
type: optional
description: "Customer's unique email"
example: kconroy@example.net
nullable: false
addr1:
type: optional
description: "Customer's address line 1"
example: deleniti
nullable: false
addr2:
type: optional
description: "Customer's address line 2"
example: nihil
nullable: false
addr3:
type: optional
description: "Customer's address line 3"
example: iste
nullable: false
city:
type: optional
description: "Customer's city"
example: laboriosam
nullable: false
state:
type: optional
description: "Customer's state"
example: earum
nullable: false
zip:
type: optional
description: "Customer's zip code"
example: perspiciatis
nullable: false
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: afe63692-358d-4cbb-a038-64dc31925bdd
first_name: Gustave
last_name: Flatley
phone: '+13322023818'
email: lprice@example.com
addr1: "9010 Smitham Village\nLake Rhoda, FL 16858-7304"
addr2: "4707 Edd Meadow\nBechtelarmouth, IN 48943"
addr3: "8451 Graham Creek\nLake Nikolasfort, GA 84494-8425"
city: Maiyaport
state: GA
zip: '74618'
country: 'American Samoa'
properties:
data:
type: object
properties:
uuid:
type: string
example: afe63692-358d-4cbb-a038-64dc31925bdd
first_name:
type: string
example: Gustave
last_name:
type: string
example: Flatley
phone:
type: string
example: '+13322023818'
email:
type: string
example: lprice@example.com
addr1:
type: string
example: "9010 Smitham Village\nLake Rhoda, FL 16858-7304"
addr2:
type: string
example: "4707 Edd Meadow\nBechtelarmouth, IN 48943"
addr3:
type: string
example: "8451 Graham Creek\nLake Nikolasfort, GA 84494-8425"
city:
type: string
example: Maiyaport
state:
type: string
example: GA
zip:
type: string
example: '74618'
country:
type: string
example: 'American Samoa'
-
description: 'Successful deletion'
type: object
example:
data:
message: 'Customer removed successfully'
properties:
data:
type: object
properties:
message:
type: string
example: 'Customer removed successfully'
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: ''
example:
phone: '+15555555555'
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
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: ipsum
nullable: false
last_name:
type: optional
description: "Customer's last name"
example: accusamus
nullable: false
company_name:
type: optional
description: 'Name of Merchant that customer belongs to'
example: pariatur
nullable: false
phone:
type: optional
description: "Customer's unique phone number"
example: officiis
nullable: false
email:
type: optional
description: "Customer's unique email"
example: foconnell@example.net
nullable: false
addr1:
type: optional
description: "Customer's address line 1"
example: corporis
nullable: false
addr2:
type: optional
description: "Customer's address line 2"
example: aut
nullable: false
addr3:
type: optional
description: "Customer's address line 3"
example: veritatis
nullable: false
city:
type: optional
description: "Customer's city"
example: nostrum
nullable: false
state:
type: optional
description: "Customer's state"
example: et
nullable: false
zip:
type: optional
description: "Customer's zip code"
example: consequatur
nullable: false
required:
- sid
required:
- data
/api/deposits:
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 two 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:
sid: '91828382'
nullable: false
properties:
sid:
type: string
description: 'The ID of the merchant.'
example: '91828382'
nullable: false
required:
- sid
filters:
type: object
description: ''
example:
start_date: '"2024-04-01 00:00:00"'
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/payment-method/create:
post:
summary: 'Create Payment Method for a customer'
operationId: createPaymentMethodForACustomer
description: "This endpoint lets you create a new payment method for a customer. Must pass at least one filter to select\n a specific customer"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 1
user_id: 1
type: cc
token: xxxxxxxx
default: 1
created_at: '2022-10-01'
updated_at: '2022-10-01'
properties:
data:
type: object
properties:
id:
type: integer
example: 1
user_id:
type: integer
example: 1
type:
type: string
example: cc
token:
type: string
example: xxxxxxxx
default:
type: integer
example: 1
created_at:
type: string
example: '2022-10-01'
updated_at:
type: string
example: '2022-10-01'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Permission denied'
properties:
message:
type: string
example: 'Permission denied'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Customer not found.'
properties:
message:
type: string
example: 'Customer not found.'
tags:
- 'Payment Method management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
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
data:
type: object
description: ''
example:
sid: 12345
nullable: false
properties:
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
token:
type: string
description: "MultiUse Token for credit card type. Required IF type is 'cc' Max: 255."
example: xxxxxxxx
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_last_four:
type: string
description: "The last 4 digits of 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_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
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: false
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
- token
- cc_name_on_card
- cc_last_four
- cc_expiration_date
- cc_brand
- ach_bank_account_name
- ach_routing_number
- ach_account_number
- ach_ownership_type
- ach_account_type
- ach_bank_name
/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: '{'
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:
data:
type: object
description: ''
example: []
nullable: false
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: debitis
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
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, create, update, and delete payment methods along with several other payment method specific requests."
-
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: []