---
title: "Create a requisition"
method: POST
path: "/bankaccounts/{id}/requisitions"
tags: ["Bank Accounts"]
---

# Create a requisition

`POST /bankaccounts/{id}/requisitions`

## Request

- Base URL: `https://api.smokeball.com`
- URL: `https://api.smokeball.com/bankaccounts/{id}/requisitions`
- Auth: API key in header `x-api-key` and API key in header `Authorization`

Creates a requisition against a trust account and supports the account approval workflow.

Whether the requisition requires approval depends on the trust account configuration:
- If approvals are enabled, firm owners can create requisitions without approval, while all other users require approval.
- If approvals are disabled, the requisition is automatically approved upon creation.

## Path parameters

- `id` string, required

## Request body

- RequisitionDto
  - `matterId` string, required: Unique identifier of the associated matter. Required.
  - `approverUserId` string, nullable: Approver user ID. Cannot be the same user ID as the user making the requisition request. If provided, must be a valid user ID in the system. Optional. If not provided, default approver will be used.
  - `payorId` string, nullable: Unique identifier of the Payor/Contact ID. Required in US region only.
  - `payeeId` string, required: Unique identifier of the person or organisation being paid. Required.
  - `source` string, required: Payment source. Required. Possible values: - "Bank Transfer" - always available - "Bank Check" - available in AU and UK only - "Trust Check" - available in AU and UK only - "Direct Debit" - available in AU and UK only - "Check" - available in US only
  - `reference` string, nullable: Payment reference.
  - `amount` number, double, required: The payment amount in dollars. Limited to 2 decimal places (cents).
  - `effectiveDate` string, date-time: Date of requisition.
  - `accountName` string, nullable: Account name. Required when Source is an electronic payment ('Bank Transfer' or 'Direct Debit') and transfer is expected to be via Direct Deposit (provide AccountName, BSB, and AccountNumber).
  - `bsb` string, nullable: BSB (Bank State Branch). Required when Source is an electronic payment ('Bank Transfer' or 'Direct Debit') and transfer is expected to be via Direct Deposit (provide AccountName, BSB, and AccountNumber).
  - `accountNumber` string, nullable: Account number. Required when Source is an electronic payment ('Bank Transfer' or 'Direct Debit') and transfer is expected to be via Direct Deposit (provide AccountName, BSB, and AccountNumber).
  - `organizationOrCompanyName` string, nullable: Organization or company name. Required when Source is an electronic payment ('Bank Transfer' or 'Direct Debit') and transfer is expected to be via BPAY (provide OrganizationOrCompanyName, BillerCode, and BillerReference).
  - `billerCode` string, nullable: Biller code. Required when Source is an electronic payment ('Bank Transfer' or 'Direct Debit') and transfer is expected to be via BPAY (provide OrganizationOrCompanyName, BillerCode, and BillerReference).
  - `billerReference` string, nullable: Biller reference. Required when Source is an electronic payment ('Bank Transfer' or 'Direct Debit') and transfer is expected to be via BPAY (provide OrganizationOrCompanyName, BillerCode, and BillerReference).
  - `reason` string, nullable: Reason for the payment. Free format string.
  - `internalNote` string, nullable: Internal note. Free format string.

## Response `202`

When request is accepted. Returns requisition status and balances.

- Requisition
  - `id` string, nullable: Requisition ID if requisition requires approval.
  - `status` string: Status of the requisition (e.g., Pending, Approved).
  - `protectedBalance` number, double: Protected balance after the requisition.
  - `availableBalance` number, double: Available balance after the requisition.
  - `totalBalance` number, double: Total balance after the requisition.
  - `pdfPaymentDetail` string, nullable: Link to the PDF payment detail document.

## Other responses

- `400`: When an unsupported request is made.
- `403`: When bank account is not associated with authenticated client or client credentials are used.
- `404`: When bank account does not exist.

---

[API](https://skmtc.dev/smokeball/apis/smokeball-api.md) - [All operations](https://skmtc.dev/smokeball/apis/smokeball-api/llms.txt) - [OpenAPI document](https://skmtc.dev/smokeball/apis/smokeball-api/revisions/6e350cf667d4?raw)
