The DisburseCloud API offers a powerful and flexible solution for managing financial disbursements and related processes. Designed for seamless integration with various business platforms, it provides a robust set of tools for handling transactions, authenticating users, and ensuring secure financial operations. Our API is tailored to cater to a wide range of financial services, including automated payments, real-time transaction tracking, and efficient management of user credentials. With its dual environments for sandbox testing and production use, DisburseCloud ensures a reliable and scalable infrastructure, making it an ideal choice for businesses looking to optimize their financial workflows. Whether you're a small enterprise or a large organization, the DisburseCloud API is engineered to provide an intuitive, secure, and efficient way to manage your financial transactions.
Disbursecloud uses Access Tokens for Authentication:
This API endpoint allows for user authentication using provided credentials. Upon successful authentication, a Bearer token (access token) will be returned. This token is required for authorization in subsequent API calls and has a lifespan of 3600 seconds . The access token should be passed in the "Authorization" header of all subsequent API requests.
Create a new token
username required | string TIN number of the Company |
password required | string Company API Key |
{- "username": "string",
- "password": "string"
}
{- "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiLQndCw0YLQsCDQndCw0YLQsCIsImVtYWlsIjoi0J3QsNGC0LAg0J3QsNGC0LAiLCJqdGkiOiIyZjgzNGNmNi1jZDQ1LTRkOWUtODFiNy1hMDVkZDYzYmMwOTIiLCJpYXQiOiIxMi8yMy8yMDIyIDY6NTk6NTMgUE0iLCJVc2VySWQiOiIxNDkwMTBhZi1mZDI3LTQ2ZTgtYmIzYi03YmNlYTRiYWFjZDkiLCJSb2xlIjoiQWRtaW4iLCJMYW5nIjoiNTc3ODkzZmItOTRkMy00ZjZhLWE1YzMtM2Y3ZDUzNjA4YjU0IiwiVmlkZW9TZXJ2ZXIiOiJWaW1lbyIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvcm9sZSI6IkFkbWluIiwibmJmIjoxNjcxODIxOTkzLCJleHAiOjE2NzE5MDgzOTMsImlzcyI6IkRlbW9Jc3N1ZXIiLCJhdWQiOiJEZW1vQXVkaWVuY2UifQ.lOzWfrSPObws4Q3S_ap59axD_VkEaRfoGWDVv8SH0V0",
- "token_type": "Bearer",
- "expires_in": 36000
}
This endpoint is used to add funds to your company’s account on DisburseCloud. Specify the amount in the query params you want to add to your account and it will deduct that amount from the bank that you provided the details for at the time of signing up for DisburseCloud.
amount required | number The amount you want to add to the company balance |
{- "prev_balance": 0,
- "new_balance": 0,
- "transaction_id": "string",
- "created_at": "2023-01-20T01:08:33"
}
This endpoint is used to release disbursements to payees. You can also specify authorization parties that will authorize a particular payee’s disbursement before the payee receives it. If the information provided is correct, Disbursecloud will release the disbursement to all the payees. DisburseCloud provides its users some payment options such as ACH, Virtual card, Instant deposit, Digital check, Postal Check, Venmo, and PayPal. You can also specify which payment options you want your users to see/choose in this API call.
Create disbursement
payor_email required | string Enter the payor’s email that has an account on DisburseCloud associated with your company. |
disbursement_uuid required | string Enter a unique string which identifies your disbursement. |
Array of objects (authorization-partie) This array contains the AUTH_PARTY objects described below. | |
required | Array of objects (payee) This array contains the PAYEE objects described below. You can add the payees to this array you want to send the disbursements to. |
{- "payor_email": "payor@example.com",
- "disbursement_uuid": "disbursement-1",
- "authorization_parties": [
- {
- "party_uuid": "auth-party-1",
- "title": "Policy holder",
- "email": "auth_party@example.com",
- "first_name": "James",
- "last_name": "McGill",
- "phone": "0000000000"
}
], - "payees": [
- {
- "payee_type_id": 1,
- "amount": 20,
- "payee_uuid": "payee-1",
- "email": "payee_1@gmail.com",
- "first_name": "John",
- "last_name": "Doe",
- "address_one": "123 Main Street",
- "address_two": "",
- "city": "Payee city",
- "state": "FL",
- "zip_code": 33052,
- "phone": "0000000000",
- "delivery_options": {
- "email": true,
- "sms": false
}, - "allowed_payment_method_ids": [
- 1,
- 4,
- 5,
- 6
], - "permission_required_from": [
- "auth-party-1",
- "auth-party-2"
], - "field_values": [
- {
- "name": "insurer_first_name",
- "value": "Gustavo"
}
]
}
]
}
{- "disbursement_uuid": "disbursement-test-132",
- "payor_email": "payor@example.com",
- "authorization_parties": [
- {
- "party_uuid": "auth-party-1",
- "title": "Policy holder",
- "email": "auth_party@example.com",
- "first_name": "James",
- "last_name": "McGill",
- "phone": "0000000000"
}
], - "payees": [
- {
- "payee_uuid": "payee-test-1",
- "amount": 20,
- "email": "payee_1@gmail.com",
- "first_name": "John",
- "last_name": "Doe",
- "address_one": "123 Main Street",
- "address_two": "",
- "city": "Payee city",
- "state": "FL",
- "zip_code": 33052,
- "phone": "0000000000",
- "delivery_options": {
- "email": true,
- "sms": false
}, - "allowed_payment_method_ids": [
- 1,
- 4,
- 5,
- 6
], - "permission_required_from": [
- "auth-party-1",
- "auth-party-2"
], - "status": "PendingAuthorizationPartiesPermission",
- "payee_type_id": 1,
- "field_values": [
- {
- "name": "insurer_first_name",
- "value": "Gustavo"
}
]
}
], - "created_at": "2023-01-20T01:08:33"
}
The "Cancel Disbursement" endpoint enables developers to cancel a disbursement for a specific payee by providing the disbursement uuid and the payee uuid of the disbursement to be cancelled in the request body.
Create a new token
disbursement_uuid required | string The disbursement uuid of the disbursement you want to cancel |
payee_uuid required | string The payee uuid of the payee you want to cancel the disbursement for. |
{- "disbursement_uuid": "disbursement-1",
- "payee_uuid": "payee-1"
}
{- "name": "The name of the error. Can be one of the following VALIDATION_ERROR INTERNAL_SERVER_ERROR LOW_FUNDS_ERROR",
- "message": "Provides an explanation for the error's cause.",
- "details": [
- {
- "Issue": "The description of the error",
- "Field": "The name of the field that has the error.",
- "Location": "string"
}
]
}
This endpoint is used to get the details of a disbursement’s payee.
disbursement_uuid required | string The disbursement uuid of the disbursement you want the details for. |
payee_uuid required | string The specific payee’s payee_uuid of whom you want the details for. |
{- "payee_type_id": 1,
- "amount": 20,
- "payee_uuid": "payee-1",
- "email": "payee_1@gmail.com",
- "first_name": "John",
- "last_name": "Doe",
- "address_one": "123 Main Street",
- "address_two": "",
- "city": "Payee city",
- "state": "FL",
- "zip_code": 33052,
- "phone": "0000000000",
- "delivery_options": {
- "email": true,
- "sms": false
}, - "allowed_payment_method_ids": [
- 1,
- 4,
- 5,
- 6
], - "permission_required_from": [
- "auth-party-1",
- "auth-party-2"
], - "field_values": [
- {
- "name": "insurer_first_name",
- "value": "Gustavo"
}
]
}
This endpoint is used to resend the disbursement email in case the payee does not receive it.
disbursement_uuid required | string The disbursement uuid of the disbursement you want the details for. |
payee_uuid required | string The specific payee’s payee_uuid of whom you want the details for. |
{- "name": "The name of the error. Can be one of the following VALIDATION_ERROR INTERNAL_SERVER_ERROR LOW_FUNDS_ERROR",
- "message": "Provides an explanation for the error's cause.",
- "details": [
- {
- "Issue": "The description of the error",
- "Field": "The name of the field that has the error.",
- "Location": "string"
}
]
}
This endpoint is used to get the transaction details of a payee’s disbursement. The transaction details contain how much was the disbursecloud fee on this payee transaction, what was the billed amount and which payment method was used to complete this payment. You will not get a transaction of a payment unless the payee chooses a payment method.
disbursement_uuid required | string The disbursement uuid of the disbursement you want the details for. |
payee_uuid required | string The specific payee’s payee_uuid of whom you want the details for. |
{- "name": "The name of the error. Can be one of the following VALIDATION_ERROR INTERNAL_SERVER_ERROR LOW_FUNDS_ERROR",
- "message": "Provides an explanation for the error's cause.",
- "details": [
- {
- "Issue": "The description of the error",
- "Field": "The name of the field that has the error.",
- "Location": "string"
}
]
}
This endpoint is designed to retrieve all the signed documents related to a payee's disbursement. By utilizing this endpoint, you can access a comprehensive collection of all documents that have been signed and associated with the payee's disbursement. This includes documents such as Auth party, ACH, Payee, and other legal paperwork that may be necessary for the disbursement process. The endpoint provides a convenient and efficient way to access all the necessary signed documents in one place, helping to streamline the disbursement process and ensure that all necessary documentation is easily accessible.
Create disbursement
disbursement_uuid required | string The disbursement uuid of the disbursement you want the details for. |
payee_uuid required | string The specific payee’s payee_uuid of whom you want the details for. |
{- "disbursement_uuid": "string",
- "payee_uuid": "string"
}
{- "DocumentName": "string",
- "SignedBy": "string",
- "SignedOn": "string",
- "DocumentLink": "string"
}
username required | string TIN number of the Company |
password required | string Company API Key |
{- "username": "string",
- "password": "string"
}
payor_email required | string Enter the payor’s email that has an account on DisburseCloud associated with your company. |
disbursement_uuid required | string Enter a unique string which identifies your disbursement. |
Array of objects (authorization-partie) This array contains the AUTH_PARTY objects described below. | |
required | Array of objects (payee) This array contains the PAYEE objects described below. You can add the payees to this array you want to send the disbursements to. |
{- "payor_email": "payor@example.com",
- "disbursement_uuid": "disbursement-1",
- "authorization_parties": [
- {
- "party_uuid": "auth-party-1",
- "title": "Policy holder",
- "email": "auth_party@example.com",
- "first_name": "James",
- "last_name": "McGill",
- "phone": "0000000000"
}
], - "payees": [
- {
- "payee_type_id": 1,
- "amount": 20,
- "payee_uuid": "payee-1",
- "email": "payee_1@gmail.com",
- "first_name": "John",
- "last_name": "Doe",
- "address_one": "123 Main Street",
- "address_two": "",
- "city": "Payee city",
- "state": "FL",
- "zip_code": 33052,
- "phone": "0000000000",
- "delivery_options": {
- "email": true,
- "sms": false
}, - "allowed_payment_method_ids": [
- 1,
- 4,
- 5,
- 6
], - "permission_required_from": [
- "auth-party-1",
- "auth-party-2"
], - "field_values": [
- {
- "name": "insurer_first_name",
- "value": "Gustavo"
}
]
}
]
}
party_uuid required | string To ensure proper identification and differentiation between authorization parties, the "party_uuid" field must be unique. |
title | string The "title" field allows developers to specify a title for the authorization party. This title will be displayed in the email sent to the authorization party for the purpose of approving the disbursement. Any relevant or descriptive text can be entered in this field. |
email required | string The "email" field requires developers to input the email of the authorization party, where they will receive the request for authorization of the disbursement. |
first_name required | string Auth party’s first name. |
last_name required | string Auth party’s last name. |
phone required | string The "phone" field requires developers to input the phone number of the authorization party. This is necessary for authentication via OTP when the authorization party receives the email requesting approval of the disbursement. |
{- "party_uuid": "auth-party-1",
- "title": "Policy holder",
- "email": "auth_party@example.com",
- "first_name": "James",
- "last_name": "McGill",
- "phone": "0000000000"
}
boolean The "email" field allows developers to specify whether the disbursement should be sent to the payee via email. By setting this field to "true", the disbursement will be delivered to the payee through their registered email. | |
sms | boolean The "sms" field allows developers to specify whether the disbursement should be sent to the payee via sms to their registered phone number. By setting this field to "true", the disbursement will be delivered to the payee via SMS. |
{- "email": true,
- "sms": false
}
payee_type_id required | integer This parameter defines the type of payee you are sending the disbursement to. The value ranges from 1 to 4. Following is the explanation of all the payee type ids ONE_TIMER = 1, VENDOR = 2, AGENCY = 3, NAMED_INSURED = 4 |
amount required | number The amount needed to be paid to the payee. |
payee_uuid required | string A unique identifier for the disbursement payee. |
email required | string When specifying the payee type as "VENDOR", "AGENCY" or "NAMED_INSURED", the "email" field requires developers to input the registered email of the respective vendor on the DisburseCloud platform. In the event that the entered email is not registered, the payee will receive an email inviting them to register on DisburseCloud in order to receive their payment. Alternatively, when specifying the payee type as "ONE_TIMER", the "Enter Payee Email" field requires developers to input the email of the one-time payee to whom the disbursement will be sent. |
first_name required | string First name of the payee |
last_name required | string Last name of the payee |
address_one required | string Address one of the payee |
address_two required | string Address two of the payee |
city required | string City name of the payee |
state required | string The "state" field requires developers to input the state abbreviation in short form. For example, instead of "Florida" it should be entered as "FL". |
zip_code required | string Payee’s zip code. Should be five characters long. |
phone required | string Payee’s phone number. Should be 10 characters long. This number is required to verify the payee using an OTP. |
required | object (delivery-option) |
allowed_payment_method_ids required | Array of integers The "allowed_payment_method_ids" field requires developers to input the desired payment method IDs for the payee. The available options range from 1 to 7, corresponding to the following payment methods. 1. ACH 2. POSTAL CHECK 3. VIRTUAL CARD 4. INSTANT DEPOSIT 5. DIGITAL CHECK 6. VENMO 7. PAYPAL For example, to allow the payee to receive payment through ACH and Virtual Card, the developer would input the value of this field in the request body as allowed_payment_method_ids |
permission_required_from | Array of strings To include authorization parties for the payee, developers must add the "party_uuid" field of the AUTH_PARTY object for each desired authorization party to the request array. This will ensure that each designated party approves the payment before it is released to the payee. |
Array of objects (field_values) |
{- "payee_type_id": 1,
- "amount": 20,
- "payee_uuid": "payee-1",
- "email": "payee_1@gmail.com",
- "first_name": "John",
- "last_name": "Doe",
- "address_one": "123 Main Street",
- "address_two": "",
- "city": "Payee city",
- "state": "FL",
- "zip_code": 33052,
- "phone": "0000000000",
- "delivery_options": {
- "email": true,
- "sms": false
}, - "allowed_payment_method_ids": [
- 1,
- 4,
- 5,
- 6
], - "permission_required_from": [
- "auth-party-1",
- "auth-party-2"
], - "field_values": [
- {
- "name": "insurer_first_name",
- "value": "Gustavo"
}
]
}
name required | string API name of the custom field. |
value required | string Value of the custom field. |
{- "name": "insurer_first_name",
- "value": "Gustavo"
}
disbursement_uuid required | string The disbursement uuid of the disbursement you want to cancel |
payee_uuid required | string The payee uuid of the payee you want to cancel the disbursement for. |
{- "disbursement_uuid": "disbursement-1",
- "payee_uuid": "payee-1"
}
disbursement_uuid required | string The disbursement uuid of the disbursement you want the details for. |
payee_uuid required | string The specific payee’s payee_uuid of whom you want the details for. |
{- "disbursement_uuid": "string",
- "payee_uuid": "string"
}
DocumentName | string This represents the name of the signed document related to the payee's disbursement. It provides a unique identifier for the document, allowing you to easily differentiate between different documents associated with the disbursement. |
SignedBy | string This indicates who signed the document related to the payee's disbursement. It could be the payee themselves, or it could be another party involved in the disbursement process, such as a company representative or legal entity. |
SignedOn | string This element specifies the date on which the document related to the payee's disbursement was signed. It provides important context regarding the timeline of the disbursement process. |
DocumentLink | string This element contains a link to the signed document related to the payee's disbursement. However, please note that the link will only be available for a limited time of 5 minutes. After this time period has elapsed, the link will expire and you will no longer be able to access the document using the link. |
{- "DocumentName": "string",
- "SignedBy": "string",
- "SignedOn": "string",
- "DocumentLink": "string"
}
access_token | string This API call includes an access token that must be used for authorization in all subsequent API calls |
token_type | string Indicates the type of authorization token. 'Bearer'. |
expires_in | integer Specifies the expiration time of the token in seconds. |
{- "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiLQndCw0YLQsCDQndCw0YLQsCIsImVtYWlsIjoi0J3QsNGC0LAg0J3QsNGC0LAiLCJqdGkiOiIyZjgzNGNmNi1jZDQ1LTRkOWUtODFiNy1hMDVkZDYzYmMwOTIiLCJpYXQiOiIxMi8yMy8yMDIyIDY6NTk6NTMgUE0iLCJVc2VySWQiOiIxNDkwMTBhZi1mZDI3LTQ2ZTgtYmIzYi03YmNlYTRiYWFjZDkiLCJSb2xlIjoiQWRtaW4iLCJMYW5nIjoiNTc3ODkzZmItOTRkMy00ZjZhLWE1YzMtM2Y3ZDUzNjA4YjU0IiwiVmlkZW9TZXJ2ZXIiOiJWaW1lbyIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvcm9sZSI6IkFkbWluIiwibmJmIjoxNjcxODIxOTkzLCJleHAiOjE2NzE5MDgzOTMsImlzcyI6IkRlbW9Jc3N1ZXIiLCJhdWQiOiJEZW1vQXVkaWVuY2UifQ.lOzWfrSPObws4Q3S_ap59axD_VkEaRfoGWDVv8SH0V0",
- "token_type": "Bearer",
- "expires_in": 36000
}
disbursement_uuid | string |
payor_email | string |
Array of objects (authorization-partie) | |
Array of objects (payeeResponse) | |
created_at | string |
{- "disbursement_uuid": "disbursement-test-132",
- "payor_email": "payor@example.com",
- "authorization_parties": [
- {
- "party_uuid": "auth-party-1",
- "title": "Policy holder",
- "email": "auth_party@example.com",
- "first_name": "James",
- "last_name": "McGill",
- "phone": "0000000000"
}
], - "payees": [
- {
- "payee_uuid": "payee-test-1",
- "amount": 20,
- "email": "payee_1@gmail.com",
- "first_name": "John",
- "last_name": "Doe",
- "address_one": "123 Main Street",
- "address_two": "",
- "city": "Payee city",
- "state": "FL",
- "zip_code": 33052,
- "phone": "0000000000",
- "delivery_options": {
- "email": true,
- "sms": false
}, - "allowed_payment_method_ids": [
- 1,
- 4,
- 5,
- 6
], - "permission_required_from": [
- "auth-party-1",
- "auth-party-2"
], - "status": "PendingAuthorizationPartiesPermission",
- "payee_type_id": 1,
- "field_values": [
- {
- "name": "insurer_first_name",
- "value": "Gustavo"
}
]
}
], - "created_at": "2023-01-20T01:08:33"
}
payee_uuid | string |
amount | number |
string | |
first_name | string |
last_name | string |
address_one | string |
address_two | string |
city | string |
state | string |
zip_code | string |
phone | string |
object (delivery-option) | |
allowed_payment_method_ids | Array of integers |
permission_required_from | Array of strings |
status | string |
payee_type_id | integer |
Array of objects (field_values) |
{- "payee_uuid": "payee-test-1",
- "amount": 20,
- "email": "payee_1@gmail.com",
- "first_name": "John",
- "last_name": "Doe",
- "address_one": "123 Main Street",
- "address_two": "",
- "city": "Payee city",
- "state": "FL",
- "zip_code": 33052,
- "phone": "0000000000",
- "delivery_options": {
- "email": true,
- "sms": false
}, - "allowed_payment_method_ids": [
- 1,
- 4,
- 5,
- 6
], - "permission_required_from": [
- "auth-party-1",
- "auth-party-2"
], - "status": "PendingAuthorizationPartiesPermission",
- "payee_type_id": 1,
- "field_values": [
- {
- "name": "insurer_first_name",
- "value": "Gustavo"
}
]
}
name | string |
message | string |
Array of objects (ERROR_DETAIL) Provides specific details on which fields contain errors. |
{- "name": "The name of the error. Can be one of the following VALIDATION_ERROR INTERNAL_SERVER_ERROR LOW_FUNDS_ERROR",
- "message": "Provides an explanation for the error's cause.",
- "details": [
- {
- "Issue": "The description of the error",
- "Field": "The name of the field that has the error.",
- "Location": "string"
}
]
}
name | string |
message | string |
Array of objects (ERROR_DETAIL) Contains the details about the specific fields that have an error. |
{- "name": "The name of the error. Will be one of the following. NOT_FOUND_ERROR",
- "message": "Contains the reason why this error occurred.",
- "details": [
- {
- "Issue": "The description of the error",
- "Field": "The name of the field that has the error.",
- "Location": "string"
}
]
}
Issue | string |
Field | string |
Location | string The location of the field where it is located. This field’s value can be one of the following body,header |
{- "Issue": "The description of the error",
- "Field": "The name of the field that has the error.",
- "Location": "string"
}