SaaSFlow
DevelopersAPIReferencecategories

Merge

Merge several categories into one, in a single transaction. Creates the category described by newCategory, then repoints everything that referenced the old…

Authentication

Checking whether you're signed in…
POST
/companies/{companyId}/categories/merge

Authorization

headerAuthorization<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.

Path Parameters

companyId*string
Length1 <= length

Request Body

application/json
  1. body
categoryIds*array<>
newCategory*

Response Body

The merged category

application/json
  1. response
id*string
Formatuuid
companyId*string
Formatuuid
name*string

The name of the category.

emoji*|

An emoji representing the category.

plTypes*array<>

The P&L types that the category can be used for.

system*boolean

Flag indicating if this is a system-defined category.

systemKey*|

Semantic key for system categories (e.g., revRecurring, paymentFees).

order*number

A number used for ordering categories in the UI.

Range-8388608 <= value <= 8388607
createdTime*|
Formatdate-time
createdUserId*string|null
lastUpdatedTime*|
Formatdate-time
lastUpdatedUserId*string|null
curl -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"}