SaaSFlow
DevelopersAPIReferencetransactions

List transactions

List transactions, paginated, with their categorizations attached. This is the simple listing: filter by account, or by `status: "uncategorized"` for rows with no categorization at all. For anything richer (date ranges, amounts, counterparties, categories, free text, sorting) use `POST /transactions/search`, whose `open` status is also broader than `uncategorized` here. Do not aggregate by paging through this endpoint; the `data` slices compute totals server-side.

Authentication

You're not signed in. Either sign in at app.saasflow.com and reload (then pick sessionCookie), or paste a SaaSFlow sf_… API key in the bearerAuth field below.
GET
/companies/{companyId}/transactions

Authorization

Authorization<token>

A SaaSFlow API key (format sf_…) or an OAuth bearer token. Paste only the key — the proxy adds the Bearer prefix. Create an API key in Settings → Company settings → API keys — see API keys.

In: header

Path Parameters

companyId*string
Length1 <= length

Query Parameters

limit?integer

Number of transactions to return (1-5000, default 100).

Range1 <= value <= 5000
Default100
offset?|

Number of transactions to skip (default 0).

Range0 <= value
Default0
accountId?string

Filter by account ID.

status?"uncategorized"

"uncategorized" returns only transactions with NO categorizations yet (strictly open: excludes partially categorized and incomplete-transfer rows, which the POST /search "open" status includes). Deterministic, server-side scope for bulk categorization tooling.

Value in

  • "uncategorized"
excludeIntegrationOwnedAccounts?string

When true, omits transactions on accounts whose categorizations are owned by their managing integration (Stripe, Finway, Pleo, DATEV Payroll): those rows are categorized by the integration, not by this tooling. Composes with any status. Defaults to false.

Value in

  • "true"
  • "false"

Response Body

application/json

curl -X GET "https://example.com/companies/string/transactions"
{  "items": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda",      "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",      "date": "string",      "fromTo": "string",      "description": "string",      "amountValue": "string",      "amountCurrency": "EUR",      "categorizationsAutoAssigned": true,      "excludeFromAutoCategorization": true,      "notes": "string",      "source": "string",      "assignedUserId": "string",      "finApiTransactionId": "string",      "plaidTransactionId": "string",      "stripeBalanceTransactionId": "string",      "stripeInvoiceId": "string",      "stripeCreditNoteId": "string",      "stripePaymentIntentId": "string",      "stripeBillingEmail": "string",      "hubspotPortalId": "string",      "hubspotInvoiceId": "string",      "hubspotCategorizationResolved": true,      "finwayExpenseNumber": "string",      "finwayInvoiceNumber": "string",      "pleoExpenseId": "string",      "createdVendorId": "91002d41-22cb-48a3-bc93-148a8439ef7f",      "integrationId": "497a18ca-284e-40c0-985d-f72be35d468e",      "pending": true,      "createdTime": "2019-08-24T14:15:22Z",      "createdUserId": "string",      "lastUpdatedTime": "2019-08-24T14:15:22Z",      "lastUpdatedUserId": "string",      "categorizations": {        "property1": {          "counterparty": {            "type": "customer",            "id": "string"          },          "categoryId": "string",          "usingDateRule": {            "type": "transactionDate"          },          "computedStartDate": "2019-08-24",          "computedEndDate": "2019-08-24",          "plSplit": {            "revenue": 0,            "cogs": 0,            "cac": 0,            "pd": 0,            "ga": 0,            "no": 0,            "neutral": 0          },          "passThroughTax": 0,          "transferCounterPosition": {            "transactionId": "string",            "categorizationId": "string"          },          "internalTransitLink": {            "transactionId": "string",            "categorizationId": "string"          },          "sourceNote": "string",          "externalInvoiceUrn": "string"        },        "property2": {          "counterparty": {            "type": "customer",            "id": "string"          },          "categoryId": "string",          "usingDateRule": {            "type": "transactionDate"          },          "computedStartDate": "2019-08-24",          "computedEndDate": "2019-08-24",          "plSplit": {            "revenue": 0,            "cogs": 0,            "cac": 0,            "pd": 0,            "ga": 0,            "no": 0,            "neutral": 0          },          "passThroughTax": 0,          "transferCounterPosition": {            "transactionId": "string",            "categorizationId": "string"          },          "internalTransitLink": {            "transactionId": "string",            "categorizationId": "string"          },          "sourceNote": "string",          "externalInvoiceUrn": "string"        }      },      "inTransit": true    }  ],  "totalCount": 0}