---
title: "Create a transaction"
method: POST
path: "/bankaccounts/{bankAccountId}/transactions"
tags: ["Bank Accounts"]
---

# Create a transaction

`POST /bankaccounts/{bankAccountId}/transactions`

## Request

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

Creates a transaction.

## Path parameters

- `bankAccountId` string, required

## Request body

- TransactionDto
  - `matterId` string, nullable: Unique identifier of the associated matter.
  - `payorId` string, nullable: Unique identifier of the associated contact.
  - `type` string, nullable: The type of the transaction. Possible values: Deposit.
  - `amount` number, double: The amount of the transaction in dollars. Limited to 2 decimal places (cents).
  - `effectiveDate` string, date-time: Date of the transaction.
  - `reference` string, nullable: Reference for the transaction.
  - `reason` string, nullable: Reason for the transaction.
  - `description` string, nullable: Description of the transaction.
  - `note` string, nullable: Note for the transaction (for internal use).

## Response `202`

When request is accepted. Returns a hypermedia 'Link' object of the transaction to be created.

- Link
  - `id` string, nullable
  - `href` string, nullable
  - `relation` string, nullable
  - `method` string, nullable

## Other responses

- `400`: When an unsupported request is made.
- `403`: When transaction with specified id is not associated with authenticated client.
- `404`: When transaction with specified id 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)
