Merge
Merge several categories into one, in a single transaction. Creates the category described by newCategory, then repoints everything that referenced the old…
Authentication
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.
companyId*string1 <= lengthapplication/json- body
categoryIds*array<>newCategory*The merged category
application/json- response
id*stringuuidcompanyId*stringuuidname*stringThe name of the category.
emoji*|An emoji representing the category.
plTypes*array<>The P&L types that the category can be used for.
system*booleanFlag indicating if this is a system-defined category.
systemKey*|Semantic key for system categories (e.g., revRecurring, paymentFees).
order*numberA number used for ordering categories in the UI.
-8388608 <= value <= 8388607createdTime*|date-timecreatedUserId*string|nulllastUpdatedTime*|date-timelastUpdatedUserId*string|nullcurl -X POST "https://example.com/companies/string/categories/merge" \ -H "Content-Type: application/json" \ -d '{ "categoryIds": [ "string" ], "newCategory": { "name": "string", "plTypes": [ "revenue" ], "order": 0 } }'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda", "name": "string", "emoji": "string", "plTypes": [ "revenue" ], "system": true, "systemKey": "string", "order": -8388608, "createdTime": "2019-08-24T14:15:22Z", "createdUserId": "string", "lastUpdatedTime": "2019-08-24T14:15:22Z", "lastUpdatedUserId": "string"}Batch delete
Delete several categories at once. All or nothing: if any id in the list is a system category, or still has transactions or planned transactions attached…
Reorder
Set the display order of categories. Each id's order becomes its position in the array you send, so send the full list rather than the few you moved.