Skip to main content
PATCH
/
transactions
/
{id}
Categorize transaction
curl --request PATCH \
  --url https://app.finta.com/api/v1/transactions/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "category_id": "cat_v5e6f7g8h9i0j1"
}
'
{
  "id": "txn_a1b2c3d4e5f6g7",
  "object": "transaction",
  "date": "2026-02-15",
  "accounting_date": "2026-02-15",
  "amount_cents": -49900,
  "currency": "USD",
  "merchant": "AWS",
  "description": null,
  "categorized": true,
  "category_id": "cat_v5e6f7g8h9i0j1",
  "category_name": "Software",
  "transaction_type": "standard",
  "source": {
    "vendor": "mercury",
    "type": "bank",
    "account_name": "Mercury Checking"
  },
  "status": "approved",
  "spread": null,
  "transfer_id": null,
  "created": 1771183600
}

Authorizations

Authorization
string
header
required

API key prefixed with finta_

Path Parameters

id
string
required

Transaction ID with txn_ prefix.

Pattern: ^txn_

Body

application/json
category_id
string
required

Selectable category ID with cat_ prefix.

Pattern: ^cat_
Example:

"cat_v5e6f7g8h9i0j1"

Response

The updated transaction

id
string
required

Unique identifier with txn_ prefix.

Example:

"txn_abc123"

object
enum<string>
required
Available options:
transaction
date
string<date>
required

Transaction date.

Example:

"2026-02-15"

accounting_date
string<date> | null
required

Date used for accounting and financial reports. Defaults to date unless overridden.

Example:

"2026-02-15"

amount_cents
integer
required

Transaction amount in cents. Positive for income, negative for expenses. Divide by 100 to get the dollar amount.

Example:

-49900

currency
string
required

ISO 4217 currency code.

Example:

"USD"

categorized
boolean
required

Whether the transaction has been categorized. False when assigned to Uncategorized Income or Uncategorized Expenses. Note that category_id is still present for uncategorized transactions.

transaction_type
enum<string>
required

Type of transaction: standard (normal), transfer (matched transfer between accounts), or split (parent of split children).

Available options:
standard,
transfer,
split
source
object
required

Where the transaction originated.

status
enum<string>
required

Approval status of the transaction.

Available options:
approved,
pending
created
integer
required

Unix timestamp of when the transaction was created.

Example:

1771183600

merchant
string | null

Merchant or payee name.

Example:

"AWS"

description
string | null

Description provided by the bank or payment processor. Null when not available.

Example:

null

category_id
string | null

Prefixed ID of the assigned category.

Example:

"cat_v5e6f7g8h9i0j1"

category_name
string | null

Name of the assigned category.

Example:

"Software"

spread
integer | null

Number of months this transaction is spread over, or null if not spread.

Example:

null

transfer_id
string | null

Prefixed ID of the associated transfer, or null if not a transfer.

Example:

null