# Disbursements API



<EndpointIndex
  names={[
  	'fetchDisbursement',
  	'fetchMultipleDisbursements',
  	'createDisbursement',
  	'updateDisbursement',
  	'updateDisbursementReplaceData',
  	'validateDisbursement',
  	'approveDisbursement',
  	'executeDisbursement',
  	'rejectDisbursement',
  	'resetDisbursement',
  	'reverseDisbursement',
  	'discardDisbursement',
  	'fetchDisbursementsWithNumber',
  	'setDisbursementNumber',
  	'generateDisbursementNumber',
  ]}
  titles={{
  	createDisbursement: 'Create a Disbursement',
  	updateDisbursement: 'Update a Disbursement',
  	updateDisbursementReplaceData:
  		'Update a Disbursement and Replace Extension Data',
  	validateDisbursement: 'Validate a Disbursement',
  	approveDisbursement: 'Approve a Disbursement',
  	executeDisbursement: 'Execute a Disbursement',
  	rejectDisbursement: 'Reject a Disbursement',
  	resetDisbursement: 'Reset a Disbursement',
  	reverseDisbursement: 'Reverse a Disbursement',
  	discardDisbursement: 'Discard a Disbursement',
  }}
/>

Fetch [#fetch]

Fetch Disbursement [#fetch-disbursement]

<ApiEndpoint name="fetchDisbursement" />

Fetch Multiple Disbursements [#fetch-multiple-disbursements]

<ApiEndpoint name="fetchMultipleDisbursements" />

<ApiSchema name="DisbursementListResponse" />

<ApiSchema name="DisbursementResponse" />

Lifecycle [#lifecycle]

Create a Disbursement [#create-a-disbursement]

<ApiEndpoint name="createDisbursement" title="Create a Disbursement" />

<ApiSchema name="DisbursementCreateRequest" />

Update a Disbursement [#update-a-disbursement]

<ApiEndpoint name="updateDisbursement" title="Update a Disbursement" />

<ApiSchema name="DisbursementUpdateRequest" />

Update a Disbursement and Replace Extension Data [#update-a-disbursement-and-replace-extension-data]

<ApiEndpoint name="updateDisbursementReplaceData" title="Update a Disbursement and Replace Extension Data" />

<ApiSchema name="DisbursementUpdateReplaceDataRequest" />

Validate a Disbursement [#validate-a-disbursement]

<ApiEndpoint name="validateDisbursement" title="Validate a Disbursement" />

Approve a Disbursement [#approve-a-disbursement]

<ApiEndpoint name="approveDisbursement" title="Approve a Disbursement" />

Execute a Disbursement [#execute-a-disbursement]

<ApiEndpoint name="executeDisbursement" title="Execute a Disbursement" />

Reject a Disbursement [#reject-a-disbursement]

<ApiEndpoint name="rejectDisbursement" title="Reject a Disbursement" />

Reset a Disbursement [#reset-a-disbursement]

<ApiEndpoint name="resetDisbursement" title="Reset a Disbursement" />

Reverse a Disbursement [#reverse-a-disbursement]

<ApiEndpoint name="reverseDisbursement" title="Reverse a Disbursement" />

Discard a Disbursement [#discard-a-disbursement]

<ApiEndpoint name="discardDisbursement" title="Discard a Disbursement" />

Numbering [#numbering]

Fetch Disbursements With Number [#fetch-disbursements-with-number]

<ApiEndpoint name="fetchDisbursementsWithNumber" />

Set Disbursement Number [#set-disbursement-number]

<ApiEndpoint name="setDisbursementNumber" />

Generate Disbursement Number [#generate-disbursement-number]

<ApiEndpoint name="generateDisbursementNumber" />

See Also [#see-also]

* [Disbursements Feature Guide](/features/billing/disbursements)


## API Reference

GET /billing/{tenantLocator}/disbursements/{locator} — fetchDisbursement
Tags: disbursements-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 DisbursementResponse — OK

GET /billing/{tenantLocator}/disbursements/list — fetchMultipleDisbursements
Tags: disbursements-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  offset (integer, query)
  count (integer, query)
  accountLocator (ulid, query)
  extended (boolean, query)
Responses:
  200 DisbursementListResponse — OK

POST /billing/{tenantLocator}/disbursements — createDisbursement
Tags: disbursements-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
Request body (DisbursementCreateRequest):
Responses:
  200 DisbursementResponse — OK

PATCH /billing/{tenantLocator}/disbursements/{locator} — updateDisbursement
Tags: disbursements-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (DisbursementUpdateRequest):
Responses:
  200 DisbursementResponse — OK

PUT /billing/{tenantLocator}/disbursements/{locator} — updateDisbursementReplaceData
Updates the disbursement and replaces all existing data extensions with the data.
Tags: disbursements-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (DisbursementUpdateReplaceDataRequest):
Responses:
  200 DisbursementResponse — OK

PATCH /billing/{tenantLocator}/disbursements/{locator}/validate — validateDisbursement
Tags: disbursements-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 DisbursementResponse — OK

PATCH /billing/{tenantLocator}/disbursements/{locator}/approve — approveDisbursement
Tags: disbursements-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 DisbursementResponse — OK

PATCH /billing/{tenantLocator}/disbursements/{locator}/execute — executeDisbursement
Tags: disbursements-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 DisbursementResponse — OK

PATCH /billing/{tenantLocator}/disbursements/{locator}/reject — rejectDisbursement
Tags: disbursements-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 DisbursementResponse — OK

PATCH /billing/{tenantLocator}/disbursements/{locator}/reset — resetDisbursement
Tags: disbursements-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 DisbursementResponse — OK

PATCH /billing/{tenantLocator}/disbursements/{locator}/reverse — reverseDisbursement
Tags: disbursements-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 DisbursementResponse — OK

PATCH /billing/{tenantLocator}/disbursements/{locator}/discard — discardDisbursement
Tags: disbursements-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 DisbursementResponse — OK

GET /billing/{tenantLocator}/disbursements/numbers/{disbursementNumber} — fetchDisbursementsWithNumber
Tags: disbursements-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  disbursementNumber (string, path, required)
Responses:
  200 DisbursementResponse[] — OK

POST /billing/{tenantLocator}/disbursements/{locator}/number/set — setDisbursementNumber
Tags: disbursements-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  disbursementNumber (string, query, required)
Responses:
  200 DisbursementResponse — OK

POST /billing/{tenantLocator}/disbursements/{locator}/number/generate — generateDisbursementNumber
Tags: disbursements-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 DisbursementResponse — OK

DisbursementListResponse
Properties:
  listCompleted (boolean, required)
  items (DisbursementResponse[], required)

DisbursementResponse
Properties:
  locator (ulid, required)
  disbursementState (Enum draft | validated | approved | executed | reversed | rejected | discarded, required)
  type (string, required)
  currency (string, required)
  amount (number, required)
  data (map<string, object>, required)
  createdAt (datetime, required)
  createdBy (uuid, required)
  accountLocator (ulid)
  sources (CreditItem[], required)
  externalCashTransactionLocator (ulid)
  validationResult (ValidationResult)
  disbursementNumber (string)
  anonymizedAt (datetime)

DisbursementCreateRequest
Properties:
  accountLocator (ulid)
  type (string, required)
  amount (number, required)
  data (map<string, object>, required)
  sources (CreditItem[], required)
  useDefaultFinancialInstrument (boolean, required)
  financialInstrumentLocator (ulid)
  transactionMethod (Enum ach | cash | eft | standard | wire)
  transactionNumber (string)
  currency (string)

DisbursementUpdateRequest
Properties:
  accountLocator (ulid)
  type (string)
  amount (number)
  setData (map<string, object>, required)
  removeData (map<string, object>, required)
  addSources (CreditItem[], required)
  removeSources (ulid[], required)
  useDefaultFinancialInstrument (boolean)
  financialInstrumentLocator (ulid)
  transactionMethod (Enum ach | cash | eft | standard | wire)
  transactionNumber (string)
  currency (string)

DisbursementUpdateReplaceDataRequest
Properties:
  accountLocator (ulid)
  type (string, required)
  amount (number, required)
  data (map<string, object>, required)
  sources (CreditItem[], required)
  useDefaultFinancialInstrument (boolean, required)
  financialInstrumentLocator (ulid)
  transactionMethod (Enum ach | cash | eft | standard | wire)
  transactionNumber (string)
  currency (string)