disbursementCreate mutation allows you to create a single disbursement. You can create a disbursement in either DRAFT or APPROVED status. The disbursement will only receive a url once it reaches APPROVED status.
Mutation
Input Fields
Required Fields
amount (Int) The amount in cents to disburse to the client. Must be greater than 0 and less than or equal to 100000000 (i.e., greater than $0.00 and less than or equal to $1,000,000.00) authorizedIdentities (Array of DisbursementIdentityInput) The identities (email or phone) that are authorized to access and accept the disbursement. At least one identity is required. Each identity includes:- type (DisbursementIdentityType): Either
EMAILorPHONE - value (String): The email address or phone number
- source (DisbursementIdentitySource, optional): For informational purposes only. Used by Confido UI when identity comes from a known source, like a client.
Optional Fields
id (String, nullable) Optional client-supplied ID for the new disbursement. Must be a valid UUID v4 string if provided. If null, the ID will be generated automatically. status (DisbursementStatus, nullable) The initial status of the disbursement. Defaults toDRAFT if not specified.
- DRAFT: The disbursement is created but not yet approved. No
urlwill be available. The disbursement must be approved before it can be accessed by the client. - APPROVED: The disbursement is immediately approved and will have a
urlavailable. OnlyFIRM_ADMINusers can create disbursements inAPPROVEDstatus.
ACH: Slow ACH transaction via Plaid or manual entry of account and routing numberPUSH_TO_CARD: Instant transaction to a Visa or Mastercard debit cardREQUEST_CHECK: Firm will be informed that the client wants a check sent to them
clientUpsert.
clientUpsert (ClientUpsertInput, nullable)
Creates a new client or links an existing one to the disbursement based on the provided ID. This is useful when you want to automatically create a client if they don’t exist, or link an existing client. Should not be used together with clientId. Fields:
- id (String): A UUID v4. This ID is first used to lookup the client. If no client is found, it will be used as the ID for a new client.
- clientName (String): The name of the client
- email (String, nullable): Client’s email address
- firstName (String, nullable): Client’s first name
- lastName (String, nullable): Client’s last name
- phone (String, nullable): Client’s phone number
matterUpsert.
matterUpsert (MatterUpsertInput, nullable)
Creates a new matter or links an existing one to the disbursement based on the provided ID. This is useful when you want to automatically create a matter if it doesn’t exist, or link an existing matter. Should not be used together with matterId. Fields:
- id (String): A UUID v4. This ID is first used to lookup the matter. If no matter is found, it will be used as the ID for a new matter.
- clientId (String): The ID of the client this matter belongs to
- name (String): The name of the matter
true, enables enhanced security for the disbursement. If null, uses the firm’s default enhanced security settings.
expiryDays (Int, nullable)
The number of days until the disbursement expires. If null, uses the firm’s default expiry days setting.
metadata (JSON, nullable)
A flexible JSON object that allows you to store arbitrary data. When a transaction is created for the disbursement, this metadata object is copied and saved on the transaction. This lets you associate transactions with external entities and pass through custom data as needed.
For example, you could create a disbursement with:
URL Generation
Theurl field is only populated when the disbursement reaches APPROVED status. This means:
- Disbursements created in
DRAFTstatus will haveurl: null - Disbursements created in
APPROVEDstatus will have aurlimmediately - Disbursements approved after creation (using
disbursementApprove) will receive aurlat that time - The
urlwill change whenever the disbursement is updated, so it’s important to provide clients with the updated URL after any changes
Example Request
Example Response
Authorization
- FIRM_ADMIN users can create disbursements in either
DRAFTorAPPROVEDstatus - FIRM_USER users can only create disbursements in
DRAFTstatus and will receive an error if they attempt to create anAPPROVEDdisbursement
Related Operations
- To approve a draft disbursement, use the
disbursementApprovemutation - To update a disbursement, use the
disbursementUpdatemutation - To create multiple disbursements at once, see Bulk Create Disbursements