disbursements
Create multiple disbursements
Create multiple disbursements in a single request. This is useful for batch operations where you need to create many disbursements at once.
All disbursements in the request will be created together. If any disbursement fails validation, the entire request will fail and no disbursements will be created.
Note: Disbursements created through this endpoint cannot be looked up via GET /v1/disbursements?idempotency_key=.... The idempotency_key field on the returned disbursements will be null.
post/v1/disbursements/bulk
Request body
Example request
{
"disbursements": [
{
"organization_id": "org_01jpjenf5q6cawy43yxfcrxhct",
"amount": 25000,
"transactions": [
{
"amount": 15000,
"internal_transaction_id": "GRANT-001",
"type": "donor_advised_fund_grant",
"purpose": "General Operating Support",
"note": "Allocate to education programs",
"donors": {
"primary_donor": {
"first_name": "Jane",
"last_name": "Doe",
"email": "jane.doe@example.com"
}
},
"daf_grant": {
"fund_name": "Doe Family Charitable Fund"
}
},
{
"amount": 10000,
"internal_transaction_id": "MATCH-001",
"type": "corporate_match",
"purpose": "Corporate matching gift",
"note": "Matched employee donation",
"donors": {
"primary_donor": {
"first_name": "John",
"last_name": "Smith",
"email": "john.smith@example.com"
}
},
"corporate_match": {
"company_name": "Acme Corporation"
}
}
]
},
{
"organization_id": "org_01jpjenf5q6cawy43yxfcrxhct",
"amount": 20000,
"transactions": [
{
"amount": 12000,
"internal_transaction_id": "GRANT-002",
"type": "donor_advised_fund_grant",
"purpose": "Youth Programs",
"note": "Annual grant for youth services",
"donors": {
"primary_donor": {
"first_name": "Alice",
"last_name": "Williams",
"email": "alice.williams@example.com"
}
},
"daf_grant": {
"fund_name": "Williams Family Foundation"
}
},
{
"amount": 8000,
"internal_transaction_id": "MATCH-002",
"type": "corporate_match",
"purpose": "Corporate matching gift",
"note": "Matched employee donation",
"donors": {
"primary_donor": {
"first_name": "Bob",
"last_name": "Chen",
"email": "bob.chen@example.com"
}
},
"corporate_match": {
"company_name": "TechCorp Inc."
}
}
]
}
]
}Response
The disbursements were created
Example response
{
"disbursements": [
{
"id": "disbursement_01jpjen1s23s29kkmnjsb6fzga",
"organization_id": "org_01jpjenf5q6cawy43yxfcrxhct",
"organization": {
"id": "org_01jpjenf5q6cawy43yxfcrxhct",
"ein": "123456789",
"name": "American Red Cross",
"parent_organization_id": "org_01j8rs605a4gctmbm58d87mvsk",
"physical_address": {
"city": "New York",
"country": "US",
"line1": "123 Main St.",
"postal_code": "12345",
"state": "NY"
},
"classification": {
"subsection_code": {
"code": 1,
"name": "UNCONDITIONAL",
"description": "Unconditional Exemption"
},
"filing_requirement_code": {
"code": 1,
"name": "UNCONDITIONAL",
"description": "Unconditional Exemption"
},
"foundation_code": {
"code": 1,
"name": "UNCONDITIONAL",
"description": "Unconditional Exemption"
},
"affiliation_code": {
"code": 1,
"name": "UNCONDITIONAL",
"description": "Unconditional Exemption"
},
"organization_code": {
"code": 1,
"name": "UNCONDITIONAL",
"description": "Unconditional Exemption"
},
"exempt_status_code": {
"code": 1,
"name": "UNCONDITIONAL",
"description": "Unconditional Exemption"
},
"deductibility_code": {
"code": 1,
"name": "UNCONDITIONAL",
"description": "Unconditional Exemption"
},
"ntee_code": {
"code": "A",
"description": "Animal Welfare",
"parent_code": "A",
"parent_description": "Animal Welfare"
},
"naics_code": {
"naics2": "31",
"naics2_description": "Manufacturing",
"naics4": "3112",
"naics4_description": "Grain and Oilseed Milling",
"naics6": "311221",
"naics6_description": "Wet Corn Milling and Starch Manufacturing"
}
},
"compliance": {
"daf_eligible": true,
"irs_pub_78": {
"compliant": true,
"last_found_at": "2020-01-31T23:00:00Z"
},
"ofac": {
"compliant": true,
"last_found_at": "2020-01-31T23:00:00Z"
},
"foundation_code": {
"compliant": true,
"last_found_at": "2020-01-31T23:00:00Z"
},
"california_attorney_general_registry": {
"compliant": true,
"last_found_at": "2020-01-31T23:00:00Z"
},
"california_franchise_tax_board": {
"compliant": true,
"last_found_at": "2020-01-31T23:00:00Z"
}
},
"mission_statement": "To provide relief to those in need",
"web": {
"domain": "redcross.org"
},
"officers": [
{
"title": "Executive Director"
}
],
"incorporation": {
"formation_year": "2005",
"state": "AZ",
"ruling_date": "2020-07"
}
},
"program_id": "program_01jpjenf5q6cawy43yxfcrxhct",
"amount": 10000,
"description": "Annual grant to Acme Inc.",
"created_at": "2020-01-31T23:00:00Z",
"updated_at": "2020-01-31T23:00:00Z",
"status": "pending_approval",
"cancelation": {
"canceled_by": "user@example.com",
"canceled_at": "2020-01-31T23:00:00Z"
},
"approval": {
"approved_by": "user@example.com",
"approved_at": "2020-01-31T23:00:00Z"
},
"rejection": {
"reason": "insufficient_funds",
"rejected_at": "2020-01-31T23:00:00Z"
},
"verification": {
"verified_at": "2020-01-31T23:00:00Z"
},
"stop": {
"stopped_by": "user@example.com",
"stopped_at": "2020-01-31T23:00:00Z"
},
"program_details": {
"id": "program_01jpjenf5q6cawy43yxfcrxhct",
"name": "Annual Grants"
},
"transfers": [
{
"account_transfer": {
"transfer_id": "account_transfer_01j8rs605a4gctmbm58d87mvsj",
"amount": 10000,
"status": "complete",
"created_at": "2020-01-31T23:00:00Z",
"updated_at": "2020-01-31T23:00:00Z"
},
"ach_transfer": {
"transfer_id": "ach_transfer_01j8rs605a4gctmbm58d87mvsj",
"amount": 10000,
"status": "initiated",
"direction": "credit",
"standard_entry_class_code": "corporate_credit_or_debit",
"company_entry_description": "Disbursement to nonprofit",
"trace_number": "012345678901234",
"effective_date": "2020-01-31T23:00:00Z",
"submitted_at": "2020-01-31T23:00:00Z",
"settled_at": "2020-07-12 15:00:00.000",
"rejected_at": "2020-07-12 15:00:00.000",
"returned_at": "2020-07-12 15:00:00.000",
"created_at": "2020-01-31T23:00:00Z",
"updated_at": "2020-01-31T23:00:00Z"
},
"check_transfer": {
"transfer_id": "check_transfer_01j8rs605a4gctmbm58d87mvsj",
"amount": 10000,
"status": "issued",
"memo": "Disbursement to nonprofit",
"note": "Please deposit promptly",
"check_number": "123456789",
"recipient_name": "Charity Good",
"mailing_address": {
"city": "New York",
"country": "US",
"line1": "123 Main St.",
"line2": "Suite 2504",
"postal_code": "12345",
"state": "NY"
},
"bank_of_first_deposit_routing_number": "021000089",
"postal_tracking_updates": [
{
"id": 1,
"event_type": "in_transit",
"created_at": "2020-01-31T23:00:00Z"
}
],
"submitted_at": "2020-01-31T23:00:00Z",
"canceled_at": "2020-01-31T23:00:00Z",
"stopped_at": "2020-01-31T23:00:00Z",
"deposited_at": "2020-01-31T23:00:00Z",
"created_at": "2020-01-31T23:00:00Z",
"updated_at": "2020-01-31T23:00:00Z"
},
"real_time_payments_transfer": {
"transfer_id": "real_time_payments_transfer_01j8rs605a4gctmbm58d87mvsj",
"amount": 10000,
"status": "complete",
"creditor_name": "Acme Inc.",
"remittance_information": "Real-Time Payment: Acme Inc.",
"transaction_identification": "20260101101050001T1BTEST01234557890",
"submitted_at": "2020-01-31T23:00:00Z",
"acknowledged_at": "2020-01-31T23:00:05Z",
"rejected_at": "2020-01-31T23:00:05Z",
"created_at": "2020-01-31T23:00:00Z",
"updated_at": "2020-01-31T23:00:00Z"
}
}
],
"transactions": [
{
"id": "txn_1LaXpKGUcADgqoEMl0Cx0Ygg",
"amount": 10000,
"internal_transaction_id": "GRANT-001",
"fee_amount": 500,
"net_amount": 9500,
"purpose": "General operating support",
"note": "Allocate to education",
"recipient_name": "Clean Water Project",
"donors": {
"primary_donor": {
"full_name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"email": "bob@me.com",
"phone": "415-555-1212",
"address": {
"city": "New York",
"country": "US",
"line1": "123 Main St.",
"postal_code": "12345",
"state": "NY"
}
},
"joint_donor": {
"full_name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"email": "bob@me.com",
"phone": "415-555-1212",
"address": {
"city": "New York",
"country": "US",
"line1": "123 Main St.",
"postal_code": "12345",
"state": "NY"
}
}
},
"daf_grant": {
"fund_name": "Smith Family Fund"
},
"corporate_match": {
"company_name": "Acme Corporation"
},
"created_at": "2020-01-31T23:00:00Z",
"updated_at": "2020-01-31T23:00:00Z"
}
],
"idempotency_key": "8e91b2f3-d7c4-4a59-9a91-72a40b1f2c3d"
}
],
"count": 2
}