---
title: "Create bank transactions"
method: POST
path: "/v1/bank-accounts/{bankAccountId}/bank-transactions"
tags: ["v1 - Bank Accounts"]
---

# Create bank transactions

`POST /v1/bank-accounts/{bankAccountId}/bank-transactions`

## Request

- Base URL: `https://light.inc` (the document declares no server; this is the origin it was published from)
- URL: `https://light.inc/v1/bank-accounts/{bankAccountId}/bank-transactions`
- Auth: one of:
  - API key in header `Authorization`
  - HTTP bearer

Creates bank transactions in batch. Maximum 500 transactions per request. Duplicate transactions (same transactionId for the same bank account) are silently skipped.

## Path parameters

- `bankAccountId` string, uuid, required

## Request body

- ExternalCreateBankTransactionsRequestV1Model
  - `transactions` ExternalCreateBankTransactionRequestV1Model[], required: List of bank transactions to create. Maximum 500 per request.
    - `date` string, date, required: Transaction date
    - `amount` integer, required: Transaction amount in minor units (e.g. cents). Must be positive.
    - `dcSign` 'D' | 'C', required: Debit/credit sign. DEBIT for money out, CREDIT for money in. ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `name` string, nullable: Transaction name / payee
    - `memo` string, nullable: Transaction memo / description
    - `reference` string, nullable: Transaction reference
    - `transactionId` string, nullable: External transaction identifier. Used for idempotency — duplicate transactionIds for the same bank account are silently skipped.

## Response `default`

default response

- ExternalBankTransactionV1Model[]
  - `id` string, uuid: Unique identifier for the bank transaction
  - `bankAccountId` string, uuid: ID of the bank account this transaction belongs to
  - `date` string, date: Transaction date
  - `amount` integer: Transaction amount in minor units (e.g. cents)
  - `dcSign` 'D' | 'C': Debit/credit sign ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `reconciliationStatus` 'EXCLUDED' | 'MATCHED' | 'UNMATCHED': Reconciliation status ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `name` string, nullable: Transaction name / payee
  - `memo` string, nullable: Transaction memo / description
  - `reference` string, nullable: Transaction reference
  - `transactionId` string, nullable: External transaction identifier for idempotency
  - `createdAt` string, date-time: Timestamp when the transaction was created

---

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