When to use this endpoint

Use Accounts_getAccountCategoryGroups to populate Finance-page group tables and category group selectors.

Authentication and permissions

The request must authenticate with signed API-key fields or a logged-in CRM session. The handler calls the normal login guard but performs no additional Finance-page, client-admin, role, create, edit, or delete permission check.

All reads and writes use the authenticated tenant. CRM1 and CRM2 decide whether to show finance controls, but these handlers do not repeat those client-side checks.

Parameters

This endpoint has no operation-specific parameters.

Example request

$groups = FM_api('Accounts_getAccountCategoryGroups');

Example response

[
  {"id":"151003","name":"Income","description":"Sales and other income"}
]

Errors and unusual responses

ResponseCondition
{"error":"not logged in"}No authenticated tenant context is available. Invalid signed credentials can be rejected by the dispatcher before the handler runs.
[]The tenant has no category groups.

Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.

Behaviour and edge cases

  • There is no search, filter, pagination, or explicit ordering.
  • All stored rows are returned; category groups have no active or deleted flag.
  • Database-backed IDs are JSON strings and nullable descriptions remain null.

See it in Fieldmotion

CRM1

Open Settings → Finance. CRM1 loads and edits the Chart of Accounts, Tax Types, and Tax Groups from this endpoint family; filter browser developer tools for the exact function name. Loading the Tax Types/Tax Groups panels and opening the add-rate dialog calls this route.

CRM2

Open Settings → Finance. CRM2 loads the three finance tables and saves them as complete snapshots; filter browser developer tools for the exact function name. The initial page load retrieves the Tax Groups table through this endpoint.

Related endpoints