Transactions

Get a transaction

Returns a transaction you can access. Otherwise returns 404 not_found.

get/transactions/{transactionId}

Request

  • Base URL: https://next-api.saturation.io/v1
  • URL: https://next-api.saturation.io/v1/transactions/{transactionId}
  • Auth: HTTP bearer

Path parameters

transactionIdstring required

A stable resource ID, such as prj_…, txn_…, or doc_….

Example:txn_8f2a1c9e

Transaction ID.

Query parameters

expandTransactionExpandKey[]

Comma list of related data to inline on transactions (depth ≤ 2). Unknown or too-deep key returns 400 expand_invalid.

[
  "items.account"
]

Response

The transaction.

idstring required

A stable resource ID, such as prj_…, txn_…, or doc_….

source'manual' | 'plaid' | 'saturation_pay' | 'saturation_credit' required

How the transaction entered Saturation. Financial fields are editable only for manual transactions.

sourceIdstring nullable

Reference supplied by the transaction source.

type'SaturationPCard' | 'ACH' | 'Cash' | 'Check' | 'CreditCard' | 'Deposit' | 'ETransfer' | 'Invoice' | 'Projection' | 'TimeCard' | 'Wire' | 'Withdrawal' required

Transaction type. The API may return values not listed below.

status'unpaid' | 'pending' | 'posted' | 'void' | 'needs_review' | 'projected' | 'rejected' required

Current transaction status. Available statuses vary by source.

isReversalboolean required

Whether the transaction is a refund or another reversal.

exchangeRatenumber nullable

Exchange rate to the workspace currency.

exchangeRateSource'bank' | 'api' | 'user'

Source of the exchange rate. The API may return values not listed below.

timestampstring date-time required

Time the transaction occurred.

descriptionstring nullable
merchantstring nullable

Merchant name supplied by the transaction source.

logoUrlstring uri nullable

Merchant logo URL.

categorystring nullable

Category supplied by the transaction source.

sourceLast4string nullable

Last four characters of the source account or card.

sourceNamestring nullable

Name of the source account or card.

numberstring nullable

Document, check, or invoice number.

refstring nullable

External reference.

payIdstring nullable

Related Saturation Pay payment ID.

notesstring nullable

Notes about the transaction.

contactIdstring

A stable resource ID, such as prj_…, txn_…, or doc_….

projectIdstring required

A stable resource ID, such as prj_…, txn_…, or doc_….

budgetLineIdstring

A stable resource ID, such as prj_…, txn_…, or doc_….

fringeIdstring

A stable resource ID, such as prj_…, txn_…, or doc_….

isItemizedboolean required

Whether the transaction has items.

actualizedboolean required

Whether the transaction is included in budget actuals.

purchaseOrderIdstring

A stable resource ID, such as prj_…, txn_…, or doc_….

createdAtstring date-time required
updatedAtstring date-time required

Example response

{
  "id": "txn_8f2a1c9e",
  "source": "manual",
  "type": "CreditCard",
  "status": "posted",
  "amount": {
    "amount": 152900,
    "currency": "USD"
  },
  "exchangeRateSource": "bank",
  "timestamp": "2026-05-20T14:03:00.000Z",
  "contactId": "txn_8f2a1c9e",
  "projectId": "txn_8f2a1c9e",
  "budgetLineId": "txn_8f2a1c9e",
  "fringeId": "txn_8f2a1c9e",
  "purchaseOrderId": "txn_8f2a1c9e",
  "contact": {
    "id": "txn_8f2a1c9e"
  },
  "documents": [
    {
      "id": "txn_8f2a1c9e"
    }
  ],
  "items": [
    {
      "id": "txn_8f2a1c9e",
      "lineNumber": "1",
      "budgetLineId": "txn_8f2a1c9e",
      "fringeId": "txn_8f2a1c9e",
      "contactId": "txn_8f2a1c9e",
      "qty": "3",
      "unit": "Day",
      "customUnitId": "txn_8f2a1c9e",
      "amount": {
        "amount": 152900,
        "currency": "USD"
      },
      "account": {
        "id": "txn_8f2a1c9e",
        "name": "Camera",
        "code": "1200"
      },
      "tagIds": [
        "txn_8f2a1c9e"
      ],
      "tags": [
        {
          "id": "txn_8f2a1c9e"
        }
      ]
    }
  ],
  "account": {
    "id": "txn_8f2a1c9e",
    "name": "Camera",
    "code": "1200"
  },
  "purchaseOrder": {
    "id": "txn_8f2a1c9e"
  }
}

Changes

No recorded changes to this operation across all 4 revisions of this API.