SaaSFlow
DevelopersAPIReferencecategorization_suggestions

Apply

Apply a reviewed batch of categorization suggestions in one call. Counterparties that do not exist yet go in `vendorsToCreate` and `customersToCreate` with a `tempId`; suggestions reference that same `tempId`, and the response maps each one to the real id it was created as. A suggestion pointing at a `tempId` that was never declared fails the whole request with 400. Creating counterparties needs `vendors:write` or `customers:write` on top of `transactions:write`. The result counts what landed and what was skipped. A transaction is skipped when it is unknown to this company, still pending, or already categorized, including by an earlier suggestion in the same request, so overlapping suggestions never silently overwrite each other.

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.
POST
/companies/{companyId}/categorization_suggestions/apply

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

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/companies/string/categorization_suggestions/apply" \  -H "Content-Type: application/json" \  -d '{    "suggestions": [      {        "categoryId": "string",        "usingDateRule": {          "type": "transactionDate"        },        "plSplit": {},        "transactionIds": [          "string"        ]      }    ]  }'
{  "appliedSuggestions": 0,  "appliedTransactions": 0,  "skippedTransactions": 0,  "createdVendors": [    {      "tempId": "string",      "id": "string",      "name": "string"    }  ],  "createdCustomers": [    {      "tempId": "string",      "id": "string",      "name": "string"    }  ]}