> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.givechariot.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.givechariot.com/_mcp/server.

# Create a disbursement

POST https://api.givechariot.com/v1/disbursements
Content-Type: application/json

Create a disbursement to send money to an organization.


Reference: https://docs.givechariot.com/api/disbursements/create

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Servers

- `https://api.givechariot.com` (Production, default)
- `https://sandboxapi.givechariot.com` (Sandbox)

## Request

### Body (application/json)

This endpoint expects a CreateDisbursementInput.

- `organization_id` (string, required) — The ID of the organization that will receive the disbursement.
- `amount` (long, required) — The disbursement amount in USD cents. Must be a positive amount.
- `transactions` (list of CreateDisbursementInputTransactionsItems, required) — The list of transactions associated with the disbursement. Each transaction is an individual donation to be included in the disbursement. Must specify at least one transaction. The sum of all transaction net amounts (amount - fee_amount) must equal the disbursement amount.
- `program_id` (string, optional, nullable) — The identifier for the program that the disbursement is associated with. The program must have grant_disbursement_status enabled. If not provided, your grant_disbursement_status enabled program will be used. If your Chariot account has multiple grant_disbursement_status enabled programs, you must specify the program_id to use for the disbursement.
- `auto_fund` (boolean, optional, default: false) — Enable just-in-time (JIT) funding for this disbursement. When true, Chariot will automatically create an inbound transfer for the disbursement amount when it is approved, eliminating the need to pre-fund your account. This feature must be enabled on your account. Contact Chariot to enable JIT disbursements.
- `bypass_chariot_organization_verification` (boolean, optional, default: false) — By default (`false`), the disbursement will remain in the `awaiting_verification` status until Chariot's compliance team has verified the nonprofit. If set to `true`, the disbursement will proceed through its normal lifecycle without waiting for Chariot to verify the organization. Only set this if you have independently verified the organization and do not want to wait for or rely on Chariot's verification. This field is only relevant when disbursing to an organization that was created via a [verification request](/api/verification-requests/create).

## Response

### 201

The disbursement was created

- `id` (string, required) — The unique identifier for the disbursement
- `organization_id` (string, required) — The unique identifier for the organization that will receive the payment
- `program_id` (string, required) — The unique identifier for the program that the disbursement belongs to
- `amount` (long, required) — The payment amount in USD cents. Must be a positive amount.
- `organization` (Organization, optional) — An `Organization` represents an operating nonprofit or an operating sub-organization of a parent or sponsoring nonprofit. The generally accepted identifier for an organization is its domain. This domain provides proof of identity, ownership and relationship to an entity. Organizations can receive payments from payers on the network.
- `description` (string, optional) — A description for the disbursement
- `auto_fund` (boolean, optional) — Whether just-in-time (JIT) funding is enabled for this disbursement. When true, Chariot automatically creates an inbound transfer for the disbursement amount when it is approved.
- `created_at` (datetime, optional) — The date and time the disbursement was created
- `updated_at` (datetime, optional) — The date and time the disbursement was last updated
- `status` (enum, optional) — The lifecycle status of the disbursement. Possible values include: - `pending_approval`: The disbursement is awaiting approval from the grantmaker - `canceled`: The disbursement was canceled by the grantmaker - `awaiting_verification`: The disbursement is awaiting verification from Chariot - `rejected`: The disbursement was rejected by Chariot before being submitted - `validating_organization`: Validating recipient organization's payment and contact information before submission. - `awaiting_account_claim`: The disbursement is awaiting account claim by the nonprofit or check delay expiration - `awaiting_balance`: The disbursement is awaiting sufficient grantmaker balance - `submitted`: The disbursement payment has been submitted to the payment network and is being processed - `stopped`: The disbursement payment was stopped after it was submitted - `completed`: The disbursement payment has been completed and funds have been received by the receiving organization - `failed`: The disbursement payment failed or the receiving organization did not receive the payment To see a description of each status, see the "Disbursement Lifecycle" section of the Chariot documentation.
  - Allowed values: `pending_approval`, `canceled`, `awaiting_verification`, `rejected`, `validating_organization`, `awaiting_account_claim`, `awaiting_balance`, `submitted`, `stopped`, `completed`, `failed`
- `cancelation` (DisbursementCancelation, optional) — If your account requires approvals for disbursements and the disbursement was not approved, this will contain the details of the cancelation.
- `approval` (DisbursementApproval, optional) — If your account requires approvals for disbursements and the disbursement was approved, this will contain the details of the approval.
- `rejection` (DisbursementRejection, optional) — If the disbursement was rejected by Chariot, this will contain details as to why the disbursement was rejected.
- `verification` (DisbursementVerification, optional) — If the disbursement has been verified by Chariot, this will contain the verification details.
- `stop` (DisbursementStop, optional) — If the disbursement was stopped by the grantmaker after it was submitted, this will contain the details of the stop.
- `program_details` (ProgramDetails, optional) — Details about the program that the disbursement belongs to.
- `transfers` (list of DisbursementTransfer, optional) — The list of transfers for the disbursement. This can have multiple items if the disbursement's underlying payment was retried multiple times. For example, if a check was returned or stopped and the disbursement was retried as an ACH transfer. If the disbursement was not retried, this will have a single item.
- `transactions` (list of Transaction, optional) — The list of transactions for the disbursement

## Errors

### 400 Bad Request Error

The request is invalid or contains invalid parameters

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 401 Unauthorized Error

Unauthorized. The request is missing the security (OAuth2 Bearer token) requirements and the server is unable to verify the identify of the caller.

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 403 Forbidden Error

Access denied

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 409 Conflict Error

Resource Conflicts

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

## Types

### CreateDisbursementInputTransactionsItems

An individual donation to be included in the disbursement.

- `amount` (long, required) — The gross transaction amount in minor currency units (cents) before any fees are deducted. This represents the total amount of the donation.
- `type` (enum, required) — The type of donation
  - Allowed values: `donor_advised_fund_grant`
- `fee_amount` (long, optional, nullable) — Optional fee amount in minor currency units (cents) to be deducted from the transaction. If provided, the fee amount must be less than the transaction amount. The net amount (amount - fee_amount) will be used when calculating the disbursement total.
- `description` (string, optional) — A description of the donation. This description is displayed to the receiving organization.
- `donor_advised_fund_grant` (DonorAdvisedFundGrant, optional) — A donor-advised fund grant is a charitable donation made by a donor-advised fund (DAF) on behalf of the donor.
- `metadata` (map from string to string, optional) — Additional metadata for the transaction

### Organization

An `Organization` represents an operating nonprofit or an operating sub-organization of a parent or sponsoring nonprofit. The generally accepted identifier for an organization is its domain. This domain provides proof of identity, ownership and relationship to an entity. Organizations can receive payments from payers on the network.

- `id` (string, required) — The unique identifier for the object.
- `ein` (string, required) — The EIN of the organization.
- `name` (string, required) — The name of the organization. For organizations that operate under a different name than the one tied to the legal entity, this name will differ from the name of the linked entity. This is also known as the "DBA" or "Doing Business As" name of the organization.
- `parent_organization_id` (string, optional) — The unique identifier of the parent organization, if this is a sponsored organization. This value is `null` or empty if the organization is not sponsored or not a child of a parent organization.
- `physical_address` (Address, optional)
- `classification` (NonprofitClassification, optional) — A classification of the nonprofit entity as defined by the IRS.
- `compliance` (NonprofitCompliance, optional) — An object that contains legal information about the nonprofit entity and its tax-exemption status. This information is used to comply with regulations and ensure the legitimacy of the nonprofit for purposes of donations and disbursements.
- `mission_statement` (string, optional) — The mission statement of the organization
- `web` (WebDomain, optional) — A web domain is a unique identifier for a website or web application that is associated with an organization. Domains are important identity constructs that underpin the web and online interactions. The domain can be used as an identifier and its validity can be asserted via DNS.
- `brand` (Brand, optional) — Fair use brand assets that are associated with an organization and can be used for identification and informational purposes.
- `officers` (list of Person, optional) — The list of officers of the organization
- `claimed` (boolean, optional) — A flag to indicate if the nonprofit has been claimed by a user. A nonprofit is claimed if a user signs up for a Chariot account with this nonprofit and is verified by the Chariot team.
- `incorporation` (Incorporation, optional) — Incorporation and IRS determination information for the nonprofit entity.

### DisbursementCancelation

If your account requires approvals for disbursements and the disbursement was not approved, this will contain the details of the cancelation.

- `canceled_by` (string, optional) — If the disbursement was canceled by a user in the dashboard, the email address of that user.
- `canceled_at` (datetime, optional) — The RFC 3339 date and time at which the Disbursement was canceled.

### DisbursementApproval

If your account requires approvals for disbursements and the disbursement was approved, this will contain the details of the approval.

- `approved_by` (string, optional) — If the disbursement was approved by a user in the dashboard, the email address of that user.
- `approved_at` (datetime, optional) — The RFC 3339 date and time at which the Disbursement was approved.

### DisbursementRejection

If the disbursement was rejected by Chariot, this will contain details as to why the disbursement was rejected.

- `reason` (enum, optional) — Why the disbursement was rejected. Possible values include: - `insufficient_funds`: The disbursement was rejected because the grantmaker does not have enough funds in their account. - `incorrect_recipient`: The disbursement was rejected because the recipient or address was incorrect. - `suspected_fraud`: The disbursement was suspected to be fraudulent. - `requested_by_user`: The disbursement was rejected at the request of the grantmaker. - `acceptance_criteria_failed`: The disbursement was rejected because the disbursement did not meet the acceptance criteria for the receiving organization. - `duplicate`: The disbursement was rejected because the disbursement was a duplicate. - `unknown`: The disbursement was rejected for an unknown reason.
  - Allowed values: `insufficient_funds`, `incorrect_recipient`, `suspected_fraud`, `requested_by_user`, `acceptance_criteria_failed`, `duplicate`, `unknown`
- `rejected_at` (datetime, optional) — The RFC 3339 date and time at which the Disbursement was rejected.

### DisbursementVerification

If the disbursement has been verified by Chariot, this will contain the verification details.

- `verified_at` (datetime, optional) — The RFC 3339 date and time at which the Disbursement was verified.

### DisbursementStop

If the disbursement was stopped by the grantmaker after it was submitted, this will contain the details of the stop.

- `stopped_by` (string, optional) — If the disbursement was stopped by a user in the dashboard, the email address of that user.
- `stopped_at` (datetime, optional) — The RFC 3339 date and time at which the Disbursement was stopped.

### ProgramDetails

Details about the program that the disbursement belongs to.

- `id` (string, optional) — The unique identifier for the program
- `name` (string, optional) — The name of the program

### DisbursementTransfer

After a disbursement is submitted, this object contains additional details about the transfer. This is useful if you want to track the disbursement over the specific payment rails/networks. An account transfer is the preferred transfer method when the receiving organization has a Chariot account at the same bank as the grantmaker. An ACH transfer is used when the receiving organization has a Chariot account at a different bank than the grantmaker. A check transfer is used when the receiving organization does not have a Chariot account.

- `account_transfer` (AccountTransfer, optional) — An account transfer represents an instant, electronic transfer of funds.
- `ach_transfer` (AchTransfer, optional) — An ACH transfer represents an electronic transfer of funds via the Automated Clearing House (ACH) payment network.
- `check_transfer` (CheckTransfer, optional) — A check transfer represents a paper check that is mailed to the receiving organization.
- `real_time_payments_transfer` (RealTimePaymentsTransfer, optional) — A real-time payments transfer represents an instant, electronic transfer of funds.

### Transaction

A transaction represents an individual line-item or donation for a recipient nonprofit organization. The transaction amount represents the gross amount, and an optional fee can be deducted to calculate the net amount that will be disbursed.

- `amount` (long, required) — The gross transaction amount in minor currency units (cents) before any fees are deducted. This represents the total amount of the donation.
- `net_amount` (long, required) — The net transaction amount in minor currency units (cents) after fees are deducted. This is calculated as: net_amount = amount - fee_amount. This is the actual amount that will be disbursed to the nonprofit.
- `type` (enum, required) — The type of donation
  - Allowed values: `donor_advised_fund_grant`
- `id` (string, optional) — The unique identifier for the transaction
- `fee_amount` (long, optional, nullable) — The fee amount in minor currency units (cents) to be deducted from the transaction amount. This is an optional field. If not provided, no fee will be deducted. The fee amount must be less than the transaction amount.
- `description` (string, optional) — A description of the transaction. This description is displayed to the receiving organization.
- `donor_advised_fund_grant` (DonorAdvisedFundGrant, optional) — A donor-advised fund grant is a charitable donation made by a donor-advised fund (DAF) on behalf of the donor.
- `created_at` (datetime, optional) — The date and time the transaction was created
- `updated_at` (datetime, optional) — The date and time the transaction was last updated
- `metadata` (map from string to string, optional) — Additional metadata for the transaction

### DonorAdvisedFundGrant

A donor-advised fund grant is a charitable donation made by a donor-advised fund (DAF) on behalf of the donor.

- `grant_id` (string, optional) — A unique identifier for the grant within the DAF provider's internal system. Maximum length: 255 characters.
- `organization_name` (string, optional) — The name of the DAF organization that made the grant. Maximum length: 255 characters.
- `fund_name` (string, optional) — The name of the DAF fund that made the grant. Maximum length: 255 characters.
- `purpose` (string, optional) — The purpose of the grant. Maximum length: 400 characters.
- `note` (string, optional) — A note about the grant. Maximum length: 400 characters.
- `donors` (list of Donor, optional) — The list of donors for the transaction

### Address

- `city` (string, required) — City, district, suburb, town, or village. Maximum length: 255 characters.
- `country` (string, required) — Two-letter country code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
- `line1` (string, required) — Address line 1 (e.g. street, PO Box, or company name). Maximum length: 255 characters.
- `postal_code` (string, required) — ZIP or postal code. Maximum length: 40 characters.
- `state` (string, required) — State, county, province, or region
- `line2` (string, optional) — Address line 2 (e.g. apartment, suite, unit, or building). Maximum length: 255 characters.

### NonprofitClassification

A classification of the nonprofit entity as defined by the IRS.

- `group_exemption_number` (string, optional) — This is a four-digit internal IRS number assigned to central/parent entity holding group exemption letters.
- `subsection_code` (TaxExemptCode, optional) — A tax exempt code is a code that is used to classify the tax-exempt status of a nonprofit entity.
- `filing_requirement_code` (TaxExemptCode, optional) — A tax exempt code is a code that is used to classify the tax-exempt status of a nonprofit entity.
- `foundation_code` (TaxExemptCode, optional) — A tax exempt code is a code that is used to classify the tax-exempt status of a nonprofit entity.
- `affiliation_code` (TaxExemptCode, optional) — A tax exempt code is a code that is used to classify the tax-exempt status of a nonprofit entity.
- `organization_code` (TaxExemptCode, optional) — A tax exempt code is a code that is used to classify the tax-exempt status of a nonprofit entity.
- `exempt_status_code` (TaxExemptCode, optional) — A tax exempt code is a code that is used to classify the tax-exempt status of a nonprofit entity.
- `deductibility_code` (TaxExemptCode, optional) — A tax exempt code is a code that is used to classify the tax-exempt status of a nonprofit entity.
- `ntee_code` (NteeCode, optional) — A code that is used to classify the nonprofit entity as defined by the IRS.
- `naics_code` (NaicsCode, optional) — A code that is used to classify the nonprofit entity as defined by the NAICS.

### NonprofitCompliance

An object that contains legal information about the nonprofit entity and its tax-exemption status. This information is used to comply with regulations and ensure the legitimacy of the nonprofit for purposes of donations and disbursements.

- `daf_eligible` (boolean, optional) — Whether the entity is eligible to receive donations from a Donor Advised Fund
- `irs_pub_78` (ComplianceRequirement, optional) — A compliance requirement is a requirement that a nonprofit entity must meet in order to be eligible for Chariot services.
- `ofac` (ComplianceRequirement, optional) — A compliance requirement is a requirement that a nonprofit entity must meet in order to be eligible for Chariot services.
- `foundation_code` (ComplianceRequirement, optional) — A compliance requirement is a requirement that a nonprofit entity must meet in order to be eligible for Chariot services.
- `california_attorney_general_registry` (ComplianceRequirement, optional) — A compliance requirement is a requirement that a nonprofit entity must meet in order to be eligible for Chariot services.
- `california_franchise_tax_board` (ComplianceRequirement, optional) — A compliance requirement is a requirement that a nonprofit entity must meet in order to be eligible for Chariot services.

### WebDomain

A web domain is a unique identifier for a website or web application that is associated with an organization. Domains are important identity constructs that underpin the web and online interactions. The domain can be used as an identifier and its validity can be asserted via DNS.

- `domain` (string, required) — The DNS domain name

### Brand

Fair use brand assets that are associated with an organization and can be used for identification and informational purposes.

- `icon_url` (string, optional) — The URL of the organization's icon
- `logo_url` (string, optional) — The URL of the organization's logo

### Person

A person is an individual who is an officer of a nonprofit.

- `name` (string, required) — The full name of the person
- `title` (string, optional) — The title or role of the person with respect to the nonprofit entity

### Incorporation

Incorporation and IRS determination information for the nonprofit entity.

- `formation_year` (string, optional) — The year the organization was incorporated or formed.
- `state` (string, optional) — The U.S. state where the organization is legally domiciled.
- `ruling_date` (string, optional) — The month and year on the IRS ruling or determination letter recognizing the organization's exempt status. Formatted as an ISO 8601 year-month string.

### AccountTransfer

An account transfer represents an instant, electronic transfer of funds.

- `transfer_id` (string, required) — The unique identifier for the account transfer
- `amount` (long, required) — The amount of the account transfer in minor currency units (cents)
- `status` (enum, required) — The status of the account transfer
  - Allowed values: `pending_approval`, `canceled`, `complete`
- `created_at` (datetime, required) — The date and time the account transfer was created
- `updated_at` (datetime, required) — The date and time the account transfer was last updated

### AchTransfer

An ACH transfer represents an electronic transfer of funds via the Automated Clearing House (ACH) payment network.

- `transfer_id` (string, required) — The unique identifier for the ACH transfer
- `amount` (long, required) — The amount of the ACH transfer in minor currency units (cents). For ACH debits, this is a negative number.
- `status` (enum, required) — The lifecycle status of the ACH transfer. Possible values include: - `initiated`: The ACH transfer has been initiated and is pending submission to the Federal Reserve. - `submitted`: The ACH transfer has been submitted to the Federal Reserve. - `completed`: The ACH transfer has been completed. Funds should be settled. - `rejected`: The ACH transfer was rejected. - `returned`: The ACH transfer was returned by the receiving organization.
  - Allowed values: `initiated`, `submitted`, `completed`, `rejected`, `returned`
- `created_at` (datetime, required) — The date and time the ACH transfer was created
- `direction` (enum, optional) — The direction of the ACH transfer.
  - Allowed values: `credit`, `debit`
- `standard_entry_class_code` (enum, optional) — The Standard Entry Class (SEC) code for the ACH transfer.
  - Allowed values: `corporate_credit_or_debit`, `prearranged_payments_and_deposit`, `internet_initiated`
- `company_entry_description` (string, optional) — The company entry description for the ACH transfer. This is included in the transfer data sent to the receiving bank.
- `trace_number` (string, optional) — A 15 digit number recorded in the Nacha file and transmitted to the receiving bank. Along with the amount, date, and originating routing number, this can be used to identify the ACH transfer at the receiving bank. ACH trace numbers are not unique, but are used to correlate returns.
- `effective_date` (datetime, optional) — The ACH transfer's effective date as sent to the Federal Reserve. This is the date the funds will be available to the receiving organization.
- `submitted_at` (datetime, optional) — The date and time the ACH transfer was submitted to the Federal Reserve.
- `settled_at` (datetime, optional) — The date and time at which the ACH transfer was settled. If the transfer is not settled, this will be null.
- `rejected_at` (datetime, optional) — The date and time at which the ACH transfer was rejected. If the transfer is not rejected, this will be null.
- `returned_at` (datetime, optional) — The date and time at which the ACH transfer was returned. If the transfer is not returned, this will be null.
- `updated_at` (datetime, optional) — The date and time the ACH transfer was last updated

### CheckTransfer

A check transfer represents a paper check that is mailed to the receiving organization.

- `transfer_id` (string, required) — The unique identifier for the check transfer
- `amount` (long, required) — The amount of the check transfer in minor currency units (cents)
- `status` (enum, required) — The lifecycle status of the check. The set of statuses include: - `pending`: The check is pending review by Chariot. - `canceled`: The check has been canceled. - `issued`: The check has been mailed and is pending delivery. - `rejected`: The check was rejected by Chariot. - `deposited`: The check has been deposited by the receiving organization. - `stopped`: A stop payment was requested on the check. - `returned`: The check has been returned by the receiving organization. To see a more detailed description of each status and the overall lifecycle of check disbursements, see the "Transfer Statuses" section of the Chariot documentation.
  - Allowed values: `pending`, `canceled`, `issued`, `rejected`, `deposited`, `stopped`, `returned`
- `memo` (string, required) — The memo on the check. Maximum of 72 characters.
- `recipient_name` (string, required) — The name that will be printed on the check.
- `mailing_address` (PostalAddress, required) — A postal address is a mailing address where physical mail can be received. Postal addresses can be used to receive paper checks.
- `created_at` (datetime, required) — The date and time the check transfer was created
- `note` (string, optional) — An optional note for the check
- `check_number` (string, optional) — The check number
- `bank_of_first_deposit_routing_number` (string, optional) — The routing number for the bank of first deposit
- `postal_tracking_updates` (list of PostalTrackingUpdate, optional) — The list of tracking updates for the check
- `submitted_at` (datetime, optional) — The date and time the check was submitted to the carrier.
- `canceled_at` (datetime, optional) — The date and time the check was canceled.
- `stopped_at` (datetime, optional) — The date and time the check was stopped.
- `deposited_at` (datetime, optional) — The date and time the check was deposited.
- `updated_at` (datetime, optional) — The date and time the check transfer was last updated

### RealTimePaymentsTransfer

A real-time payments transfer represents an instant, electronic transfer of funds.

- `transfer_id` (string, required) — The unique identifier for the real-time payments transfer
- `amount` (long, required) — The amount of the real-time payments transfer in minor currency units (cents)
- `status` (enum, required) — The status of the real-time payments transfer
  - Allowed values: `pending_submission`, `submitted`, `complete`, `rejected`
- `creditor_name` (string, required) — The name of the creditor for the real-time payments transfer
- `remittance_information` (string, required) — The remittance information for the real-time payments transfer
- `created_at` (datetime, required) — The date and time the real-time payments transfer was created
- `updated_at` (datetime, required) — The date and time the real-time payments transfer was last updated
- `transaction_identification` (string, optional) — The transaction identification for the real-time payments transfer
- `submitted_at` (datetime, optional) — The date and time the real-time payments transfer was submitted to the payment network.
- `acknowledged_at` (datetime, optional) — The date and time at which the real-time payments transfer was acknowledged by the receiving bank. If the transfer is not acknowledged, this will be null.
- `rejected_at` (datetime, optional) — The date and time at which the real-time payments transfer was rejected. If the transfer is not rejected, this will be null.

### Donor

The donor information for the transaction

- `full_name` (string, optional) — The full name of the donor. Maximum length: 255 characters.
- `first_name` (string, optional) — The first name of the donor. Maximum length: 255 characters.
- `last_name` (string, optional) — The last name of the donor. Maximum length: 255 characters.
- `email` (string, optional) — The email address of the donor. Maximum length: 255 characters.
- `phone` (string, optional) — The phone number of the donor. Maximum length: 20 characters.
- `address` (Address, optional)

### TaxExemptCode

A tax exempt code is a code that is used to classify the tax-exempt status of a nonprofit entity.

- `code` (integer, required) — The code of the tax exempt code
- `name` (string, required) — The name of the tax exempt code
- `description` (string, optional) — The description of the tax exempt code

### NteeCode

A code that is used to classify the nonprofit entity as defined by the IRS.

- `code` (string, required) — The code of the NTEE code
- `description` (string, required) — The description of the NTEE code
- `parent_code` (string, optional) — The parent code of the NTEE code
- `parent_description` (string, optional) — The description of the parent NTEE code

### NaicsCode

A code that is used to classify the nonprofit entity as defined by the NAICS.

- `naics2` (string, optional) — The code of the NAICS code
- `naics2_description` (string, optional) — The description of the NAICS code
- `naics4` (string, optional) — The code of the NAICS code
- `naics4_description` (string, optional) — The description of the NAICS code
- `naics6` (string, optional) — The code of the NAICS code
- `naics6_description` (string, optional) — The description of the NAICS code

### ComplianceRequirement

A compliance requirement is a requirement that a nonprofit entity must meet in order to be eligible for Chariot services.

- `compliant` (boolean, optional) — Whether the entity is compliant with the requirement
- `reason` (string, optional) — The reason for the compliance requirement
- `last_found_at` (datetime, optional) — The date and time when the compliance requirement was last found

### PostalAddress

A postal address is a mailing address where physical mail can be received. Postal addresses can be used to receive paper checks.

- `city` (string, required) — City, district, suburb, town, or village.
- `country` (string, required) — Two-letter country code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
- `line1` (string, required) — Address line 1 (e.g. street, PO Box, or company name)
- `postal_code` (string, required) — ZIP or postal code
- `state` (string, required) — State, county, province, or region
- `line2` (string, optional) — Address line 2 (e.g. apartment, suite, unit, or building)

### PostalTrackingUpdate

The postal tracking update for the check

- `id` (long, required) — The unique identifier for the tracking update
- `event_type` (enum, required) — The event type of the tracking update. The set of event types include: - `in_transit`: The check has been processed by the origin facility. - `processed_for_delivery`: The check has been greenlit for delivery at the recipient's nearest postal facility. The check should reach the mailbox within 1-2 business days of this tracking update. - `delivered`: The check has been delivered to the recipient's address. - `returned_to_sender`: The check has been returned to the sender due to barcode, ID tag area, or address errors.
  - Allowed values: `in_transit`, `processed_for_delivery`, `delivered`, `returned_to_sender`
- `created_at` (datetime, required) — The date and time the tracking update was created

## Examples

### Disbursement with multiple transactions

**Request**

```json
{
  "organization_id": "org_01j8rs605a4gctmbm58d87mvsj",
  "amount": 25000,
  "transactions": [
    {
      "amount": 15000,
      "type": "donor_advised_fund_grant",
      "description": "Grant from Doe Family Fund",
      "donor_advised_fund_grant": {
        "grant_id": "grant_1234567890",
        "organization_name": "Miami Charitable",
        "fund_name": "Doe Family Charitable Fund",
        "purpose": "General Operating Support",
        "donors": [
          {
            "first_name": "Jane",
            "last_name": "Doe",
            "email": "jane.doe@example.com"
          }
        ]
      }
    },
    {
      "amount": 10000,
      "type": "donor_advised_fund_grant",
      "description": "Grant from Smith Family Fund",
      "donor_advised_fund_grant": {
        "organization_name": "LA Charitable",
        "fund_name": "Smith Family Legacy Fund",
        "purpose": "Program Support",
        "donors": [
          {
            "first_name": "John",
            "last_name": "Smith",
            "email": "john.smith@example.com"
          }
        ]
      }
    }
  ]
}
```

**Response**

```json
{
  "id": "disbursement_01jpjen1s23s29kkmnjsb6fzga",
  "organization_id": "org_01jpjenf5q6cawy43yxfcrxhct",
  "program_id": "program_01jpjenf5q6cawy43yxfcrxhct",
  "amount": 10000,
  "organization": {
    "id": "org_01j8rs605a4gctmbm58d87mvsj",
    "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",
      "line2": "string"
    },
    "classification": {
      "group_exemption_number": "string",
      "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,
        "reason": "string",
        "last_found_at": "2020-01-31T23:00:00Z"
      },
      "ofac": {
        "compliant": true,
        "reason": "string",
        "last_found_at": "2020-01-31T23:00:00Z"
      },
      "foundation_code": {
        "compliant": true,
        "reason": "string",
        "last_found_at": "2020-01-31T23:00:00Z"
      },
      "california_attorney_general_registry": {
        "compliant": true,
        "reason": "string",
        "last_found_at": "2020-01-31T23:00:00Z"
      },
      "california_franchise_tax_board": {
        "compliant": true,
        "reason": "string",
        "last_found_at": "2020-01-31T23:00:00Z"
      }
    },
    "mission_statement": "To provide relief to those in need",
    "web": {
      "domain": "redcross.org"
    },
    "brand": {
      "icon_url": "string",
      "logo_url": "string"
    },
    "officers": [
      {
        "name": "string",
        "title": "Executive Director"
      }
    ],
    "claimed": true,
    "incorporation": {
      "formation_year": "2005",
      "state": "AZ",
      "ruling_date": "2020-07"
    }
  },
  "description": "Annual grant to Acme Inc.",
  "auto_fund": false,
  "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",
        "created_at": "2020-01-31T23:00:00Z",
        "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",
        "updated_at": "2020-01-31T23:00:00Z"
      },
      "check_transfer": {
        "transfer_id": "check_transfer_01j8rs605a4gctmbm58d87mvsj",
        "amount": 10000,
        "status": "issued",
        "memo": "Disbursement to nonprofit",
        "recipient_name": "Charity Good",
        "mailing_address": {
          "city": "New York",
          "country": "US",
          "line1": "123 Main St.",
          "postal_code": "12345",
          "state": "NY",
          "line2": "Suite 2504"
        },
        "created_at": "2020-01-31T23:00:00Z",
        "note": "Please deposit promptly",
        "check_number": "123456789",
        "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",
        "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.",
        "created_at": "2020-01-31T23:00:00Z",
        "updated_at": "2020-01-31T23:00:00Z",
        "transaction_identification": "20260101101050001T1BTEST01234557890",
        "submitted_at": "2020-01-31T23:00:00Z",
        "acknowledged_at": "2020-01-31T23:00:05Z",
        "rejected_at": "2020-01-31T23:00:05Z"
      }
    }
  ],
  "transactions": [
    {
      "amount": 10000,
      "net_amount": 9500,
      "type": "donor_advised_fund_grant",
      "id": "txn_1LaXpKGUcADgqoEMl0Cx0Ygg",
      "fee_amount": 500,
      "description": "Disbursement to nonprofit",
      "donor_advised_fund_grant": {
        "grant_id": "grant_1234567890",
        "organization_name": "Vanguard Charitable",
        "fund_name": "John Doe Fund",
        "purpose": "General Operating Support",
        "note": "This grant is for the general operating support of the organization.",
        "donors": [
          {
            "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",
              "line2": "string"
            }
          }
        ]
      },
      "created_at": "2020-01-31T23:00:00Z",
      "updated_at": "2020-01-31T23:00:00Z",
      "metadata": {}
    }
  ]
}
```

### Disbursement with multiple transactions including fees

**Request**

```json
{
  "organization_id": "org_01j8rs605a4gctmbm58d87mvsj",
  "amount": 24000,
  "transactions": [
    {
      "amount": 15000,
      "type": "donor_advised_fund_grant",
      "fee_amount": 500,
      "description": "Grant from Doe Family Fund",
      "donor_advised_fund_grant": {
        "grant_id": "grant_1234567890",
        "organization_name": "Miami Charitable",
        "fund_name": "Doe Family Charitable Fund",
        "purpose": "General Operating Support",
        "donors": [
          {
            "first_name": "Jane",
            "last_name": "Doe",
            "email": "jane.doe@example.com"
          }
        ]
      }
    },
    {
      "amount": 10000,
      "type": "donor_advised_fund_grant",
      "fee_amount": 500,
      "description": "Grant from Smith Family Fund",
      "donor_advised_fund_grant": {
        "organization_name": "LA Charitable",
        "fund_name": "Smith Family Legacy Fund",
        "purpose": "Program Support",
        "donors": [
          {
            "first_name": "John",
            "last_name": "Smith",
            "email": "john.smith@example.com"
          }
        ]
      }
    }
  ]
}
```

**Response**

```json
{
  "id": "disbursement_01jpjen1s23s29kkmnjsb6fzga",
  "organization_id": "org_01jpjenf5q6cawy43yxfcrxhct",
  "program_id": "program_01jpjenf5q6cawy43yxfcrxhct",
  "amount": 10000,
  "organization": {
    "id": "org_01j8rs605a4gctmbm58d87mvsj",
    "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",
      "line2": "string"
    },
    "classification": {
      "group_exemption_number": "string",
      "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,
        "reason": "string",
        "last_found_at": "2020-01-31T23:00:00Z"
      },
      "ofac": {
        "compliant": true,
        "reason": "string",
        "last_found_at": "2020-01-31T23:00:00Z"
      },
      "foundation_code": {
        "compliant": true,
        "reason": "string",
        "last_found_at": "2020-01-31T23:00:00Z"
      },
      "california_attorney_general_registry": {
        "compliant": true,
        "reason": "string",
        "last_found_at": "2020-01-31T23:00:00Z"
      },
      "california_franchise_tax_board": {
        "compliant": true,
        "reason": "string",
        "last_found_at": "2020-01-31T23:00:00Z"
      }
    },
    "mission_statement": "To provide relief to those in need",
    "web": {
      "domain": "redcross.org"
    },
    "brand": {
      "icon_url": "string",
      "logo_url": "string"
    },
    "officers": [
      {
        "name": "string",
        "title": "Executive Director"
      }
    ],
    "claimed": true,
    "incorporation": {
      "formation_year": "2005",
      "state": "AZ",
      "ruling_date": "2020-07"
    }
  },
  "description": "Annual grant to Acme Inc.",
  "auto_fund": false,
  "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",
        "created_at": "2020-01-31T23:00:00Z",
        "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",
        "updated_at": "2020-01-31T23:00:00Z"
      },
      "check_transfer": {
        "transfer_id": "check_transfer_01j8rs605a4gctmbm58d87mvsj",
        "amount": 10000,
        "status": "issued",
        "memo": "Disbursement to nonprofit",
        "recipient_name": "Charity Good",
        "mailing_address": {
          "city": "New York",
          "country": "US",
          "line1": "123 Main St.",
          "postal_code": "12345",
          "state": "NY",
          "line2": "Suite 2504"
        },
        "created_at": "2020-01-31T23:00:00Z",
        "note": "Please deposit promptly",
        "check_number": "123456789",
        "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",
        "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.",
        "created_at": "2020-01-31T23:00:00Z",
        "updated_at": "2020-01-31T23:00:00Z",
        "transaction_identification": "20260101101050001T1BTEST01234557890",
        "submitted_at": "2020-01-31T23:00:00Z",
        "acknowledged_at": "2020-01-31T23:00:05Z",
        "rejected_at": "2020-01-31T23:00:05Z"
      }
    }
  ],
  "transactions": [
    {
      "amount": 10000,
      "net_amount": 9500,
      "type": "donor_advised_fund_grant",
      "id": "txn_1LaXpKGUcADgqoEMl0Cx0Ygg",
      "fee_amount": 500,
      "description": "Disbursement to nonprofit",
      "donor_advised_fund_grant": {
        "grant_id": "grant_1234567890",
        "organization_name": "Vanguard Charitable",
        "fund_name": "John Doe Fund",
        "purpose": "General Operating Support",
        "note": "This grant is for the general operating support of the organization.",
        "donors": [
          {
            "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",
              "line2": "string"
            }
          }
        ]
      },
      "created_at": "2020-01-31T23:00:00Z",
      "updated_at": "2020-01-31T23:00:00Z",
      "metadata": {}
    }
  ]
}
```