F Transactions#

List

#

GET /transactions

Lists all transactions for the workspace

Request
curl -X GET "https://api.us-west-2.fragment.dev/transactions" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json"

Response
{
  "data": [
    {
      "id": "txn_dHhuX2ZyYWdfMDAx",
      "external_id": "bank_txn_123",
      "account": {
        "id": "ext_account_YWJjMTIz",
        "external_id": "acct_external_123"
      },
      "posted": "2026-02-12T00:00:00.000Z",
      "currency": "USD",
      "amount": "-1000",
      "allocations": [
        {
          "invoice_id": "inv_abc123",
          "amount": "1000",
          "type": "invoice_payin"
        }
      ],
      "unallocated_amount": "-1000",
      "created": "2026-02-12T00:00:00.000Z",
      "modified": "2026-02-12T01:00:00.000Z"
    }
  ]
}

Parameters
Name Description
reconciliation_status - stringFilter by reconciliation state. reconciled = unallocated_amount === 0; unreconciled = unallocated_amount !== 0. Omit for all transactions.
account - stringFilter by account. Encoded account ID (ext_account_xxx) or external_id. If the account does not exist, returns an empty list.

Create

#

POST /transactions

Syncs a transaction, optionally with allocations

Request
curl -X POST "https://api.us-west-2.fragment.dev/transactions" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{"external_id":"bank_txn_123","account":{"id":"ext_account_YWJjMTIz","external_id":"acct_external_123"},"posted":"2026-02-12T00:00:00.000Z","currency":"USD","amount":"-1000","allocations":[]}'

Response
{
  "data": {
    "id": "txn_dHhuX2ZyYWdfMDAx",
    "external_id": "bank_txn_123",
    "account": {
      "id": "ext_account_YWJjMTIz",
      "external_id": "acct_external_123"
    },
    "posted": "2026-02-12T00:00:00.000Z",
    "currency": "USD",
    "amount": "-1000",
    "allocations": [
      {
        "invoice_id": "inv_abc123",
        "amount": "1000",
        "type": "invoice_payin"
      }
    ],
    "unallocated_amount": "-1000",
    "created": "2026-02-12T00:00:00.000Z",
    "modified": "2026-02-12T01:00:00.000Z"
  }
}

Parameters
Name Description
external_id (required) - stringExternal transaction ID used for idempotent sync.
account (required) - objectAccount reference. Provide id, external_id, or both.
posted (required) - stringPosted timestamp in ISO 8601 format.
currency (required) - stringCurrency code (ISO 4217 or crypto)
amount (required) - stringAmount in smallest currency unit as stringified bigint (can be positive or negative).
allocations (required) - arrayAllocation entries for this transaction. Empty indicates unreconciled funds.

Retrieve

#

GET /transactions/{id}

Gets a transaction by ID

Request
curl -X GET "https://api.us-west-2.fragment.dev/transactions/inv_123" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json"

Response
{
  "data": {
    "id": "txn_dHhuX2ZyYWdfMDAx",
    "external_id": "bank_txn_123",
    "account": {
      "id": "ext_account_YWJjMTIz",
      "external_id": "acct_external_123"
    },
    "posted": "2026-02-12T00:00:00.000Z",
    "currency": "USD",
    "amount": "-1000",
    "allocations": [
      {
        "invoice_id": "inv_abc123",
        "amount": "1000",
        "type": "invoice_payin"
      }
    ],
    "unallocated_amount": "-1000",
    "created": "2026-02-12T00:00:00.000Z",
    "modified": "2026-02-12T01:00:00.000Z"
  }
}

Parameters
Name Description
{id} (required) - string-