---
title: "Create Transaction"
method: POST
path: "/api/transactions"
tags: ["transactions"]
---

# Create Transaction

`POST /api/transactions`

## Headers

- `X-Workspace-Id` string, nullable

## Request body

- TransactionCreate
  - `description` string, required
  - `amount` union, required
    - number
    - string
  - `date` string, date, required
  - `type` string, required
  - `external_id` string, nullable
  - `currency` string, nullable
  - `fx_rate` union
    - number
    - string
  - `payee_raw` string, nullable
  - `account_id` string, uuid, required
  - `category_id` string, uuid, nullable
  - `payee_id` string, uuid, nullable
  - `notes` string, nullable
  - `amount_primary` union
    - number
    - string
  - `fx_rate_used` union
    - number
    - string
  - `effective_bill_date` string, date, nullable
  - `splits` TransactionSplitsInput — Whole splits payload attached to a transaction.
    - `share_type` 'equal' | 'exact' | 'percent', required
    - `splits` TransactionSplitInput[], required
      - `group_member_id` string, uuid, required
      - `share_amount` union
        - number
        - string
      - `share_pct` union
        - number
        - string
      - `notes` string, nullable

## Response `201`

Successful Response

- TransactionRead
  - `description` string, required
  - `amount` string, required
  - `date` string, date, required
  - `type` string, required
  - `external_id` string, nullable
  - `currency` string
  - `fx_rate` string, nullable
  - `payee_raw` string, nullable
  - `id` string, uuid, required
  - `user_id` string, uuid, required
  - `account_id` string, uuid, nullable
  - `category_id` string, uuid, nullable
  - `category` CategoryRead
    - `name` string, required
    - `icon` string
    - `color` string
    - `id` string, uuid, required
    - `user_id` string, uuid, required
    - `group_id` string, uuid, nullable
    - `is_system` boolean, required
    - `treat_as_transfer` boolean
    - `is_ignored` boolean
  - `source` string, required
  - `status` string
  - `payee` string, nullable
  - `payee_id` string, uuid, nullable
  - `payee_name` string, nullable
  - `notes` string, nullable
  - `transfer_pair_id` string, uuid, nullable
  - `amount_primary` number, nullable
  - `fx_rate_used` number, nullable
  - `fx_fallback` boolean
  - `attachment_count` integer
  - `installment_number` integer, nullable
  - `total_installments` integer, nullable
  - `installment_total_amount` number, nullable
  - `installment_purchase_date` string, date, nullable
  - `bill_id` string, uuid, nullable
  - `effective_bill_date` string, date, nullable
  - `recurring_transaction_id` string, uuid, nullable
  - `splits` TransactionSplitRead[]
    - `id` string, uuid, required
    - `transaction_id` string, uuid, required
    - `group_member_id` string, uuid, required
    - `share_amount` string, required
    - `share_type` string, required
    - `share_pct` string, nullable
    - `notes` string, nullable
    - `created_at` string, date-time, required
  - `is_shared` boolean
  - `viewer_share` string, nullable
  - `group_id` string, uuid, nullable
  - `parent_owner_name` string, nullable
  - `is_ignored` boolean

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/usesecuro/apis/securo.md) · [All operations](https://skmtc.dev/usesecuro/apis/securo/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usesecuro/securo/revisions/1df3dfa0c028/schema)
