---
title: "Bulk create transactions"
method: POST
path: "/transactions/bulk"
tags: ["Transactions"]
---

# Bulk create transactions

`POST /transactions/bulk`

Bulk create transactions for the authenticated team.

## Request body

- object[] — List of transactions to create.
  - `name` string, required — Name of the transaction.
  - `amount` number, required — Amount of the transaction.
  - `currency` string, required — Currency of the transaction.
  - `date` string, required — Date of the transaction (ISO 8601).
  - `bankAccountId` string, required — Bank account ID associated with the transaction.
  - `assignedId` string — Assigned user ID for the transaction.
  - `categorySlug` string — Category slug for the transaction.
  - `note` string — Note for the transaction.
  - `internal` boolean — Whether the transaction is internal.
  - `attachments` CreateTransactionAttachment[] — Array of attachments for the transaction.
    - `path` string[], required — Path(s) of the attachment file(s).
    - `name` string, required — Name of the attachment file.
    - `size` number, required — Size of the attachment file in bytes.
    - `type` string, required — MIME type of the attachment file.

## Response `200`

Transactions created

- TransactionResponse[]
  - `id` string, uuid, required — Unique identifier of the transaction
  - `name` string, required — Name or description of the transaction
  - `amount` number, required — Monetary amount of the transaction
  - `taxAmount` number, nullable, required — Tax amount of the transaction
  - `taxRate` number, nullable, required — Tax rate of the transaction
  - `taxType` string, nullable, required — Tax type of the transaction
  - `currency` string, required — Currency code of the transaction in ISO 4217 format
  - `counterpartyName` string, nullable, required — Name of the counterparty
  - `date` string, required — Date and time of the transaction in ISO 8601 format
  - `category` object, nullable, required — Category information assigned to the transaction for organization
    - `id` string, required — Unique identifier of the category
    - `name` string, required — Display name of the category
    - `color` string, required — Hex color code associated with the category for UI display
    - `taxRate` number, nullable, required — Tax rate of the category
    - `taxType` string, nullable, required — Tax type of the category
    - `slug` string, required — URL-friendly slug of the category
  - `status` string, required — Current status of the transaction
  - `internal` boolean, nullable, required — Whether the transaction is internal (between own accounts)
  - `recurring` boolean, nullable, required — Whether the transaction is part of a recurring series
  - `manual` boolean, nullable, required — Whether the transaction was created manually (via API/form) rather than imported from bank connections
  - `frequency` string, nullable, required — Frequency of the recurring transaction if applicable (weekly, monthly, annually, irregular)
  - `isFulfilled` boolean, required — Whether the transaction has been fulfilled or processed
  - `note` string, nullable, required — Optional note or memo attached to the transaction
  - `account` object, nullable, required — Bank account information associated with the transaction. Null when no account is linked.
    - `id` string, required — Unique identifier of the bank account
    - `name` string, nullable, required — Display name of the bank account
    - `currency` string, nullable, required — Currency of the bank account in ISO 4217 format
    - `connection` object, nullable, required — Bank connection information associated with the account. Null for manual accounts.
      - `id` string, required — Unique identifier of the bank connection
      - `name` string, required — Name of the bank institution
      - `logoUrl` string, nullable, required — URL to the bank institution's logo image
  - `tags` object[], nullable, required — Array of tags associated with the transaction for categorization and filtering
    - `id` string, required — Unique identifier of the tag
    - `name` string, nullable, required — Display name of the tag
  - `attachments` object[], nullable, required — Array of file attachments associated with the transaction (receipts, invoices, etc.)
    - `id` string, required — Unique identifier of the attachment
    - `path` string[], required — Array of path segments for the attachment file storage location
    - `size` number, required — Size of the attachment file in bytes
    - `type` string, required — MIME type of the attachment file
    - `filename` string, nullable, required — Original filename of the attachment when uploaded

## Other responses

- `default` — An error occurred

---

[API](https://skmtc.net/midday-ai/apis/midday-api.md) · [All operations](https://skmtc.net/midday-ai/apis/midday-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/midday-ai/midday-api/versions/c0df9243c1b0/schema)
