Tracking Groups
Minimum access level: My Money, unless stated otherwise.
The Tracking Groups endpoint lists all available Tracking Groups and labels.
Attributes
Tracking Group
| Attribute | Description | Kind |
|---|---|---|
| url | The unique identifier for the Tracking Group | URI |
| name | The name of the Tracking Group (maximum 50 characters, unique per company) | String |
| status | One of the following:
|
String |
| labels | The Tracking Group labels belonging to this group (see below) | Array |
| created_at | Creation of the Tracking Group resource (UTC) | Timestamp |
| updated_at | When the Tracking Group resource was last updated (UTC) | Timestamp |
Tracking Group label
| Attribute | Description | Kind |
|---|---|---|
| url | The unique identifier for the Tracking Group label | URI |
| name | The name of the Tracking Group label | String |
| status | One of the following:
|
String |
A label's status is hidden if the label itself has been hidden, or if the Tracking Group
it belongs to has been hidden.
Labels are always returned in the order they were created.
List all Tracking Groups
GET https://api.freeagent.com/v2/tracking_groups
By default, hidden Tracking Groups and hidden Tracking Group labels are excluded from the response.
Input
Including hidden Tracking Groups and Tracking Group labels
GET https://api.freeagent.com/v2/tracking_groups?include_hidden=true
include_hiddenfalse(default): Show only active Tracking Groups and active Tracking Group labels.true: Show all Tracking Groups and Tracking Group labels, including hidden ones.
Sort Orders
GET https://api.freeagent.com/v2/tracking_groups?order_by=labels_count
order_byname(default): Sort by the name of the Tracking Group.status: Sort by status, active groups first.labels_count: Sort by the number of Tracking Group labels in the group.
To sort in descending order, pass reverse=true, e.g.
GET https://api.freeagent.com/v2/tracking_groups?order_by=name&reverse=true
Response
Status: 200 OK
{
"tracking_groups": [
{
"url": "https://api.freeagent.com/v2/tracking_groups/1",
"name": "Region",
"status": "active",
"labels": [
{
"url": "https://api.freeagent.com/v2/tracking_group_labels/1",
"name": "North",
"status": "active"
},
{
"url": "https://api.freeagent.com/v2/tracking_group_labels/2",
"name": "South",
"status": "active"
}
],
"created_at": "2026-10-01T09:15:00.000Z",
"updated_at": "2026-10-14T11:42:03.000Z"
},
{
"url": "https://api.freeagent.com/v2/tracking_groups/2",
"name": "Department",
"status": "active",
"labels": [
{
"url": "https://api.freeagent.com/v2/tracking_group_labels/3",
"name": "Sales",
"status": "active"
},
{
"url": "https://api.freeagent.com/v2/tracking_group_labels/4",
"name": "Engineering",
"status": "active"
},
{
"url": "https://api.freeagent.com/v2/tracking_group_labels/5",
"name": "People Operations",
"status": "active"
}
],
"created_at": "2026-10-02T13:00:21.000Z",
"updated_at": "2026-10-02T13:00:21.000Z"
}
]
}
Show as XML<?xml version="1.0" encoding="UTF-8"?>
<freeagent>
<tracking-groups type="array">
<tracking-group>
<url>https://api.freeagent.com/v2/tracking_groups/1</url>
<name>Region</name>
<status>active</status>
<labels type="array">
<label>
<url>https://api.freeagent.com/v2/tracking_group_labels/1</url>
<name>North</name>
<status>active</status>
</label>
<label>
<url>https://api.freeagent.com/v2/tracking_group_labels/2</url>
<name>South</name>
<status>active</status>
</label>
</labels>
<created-at type="datetime">2026-10-01T09:15:00Z</created-at>
<updated-at type="datetime">2026-10-14T11:42:03Z</updated-at>
</tracking-group>
<tracking-group>
<url>https://api.freeagent.com/v2/tracking_groups/2</url>
<name>Department</name>
<status>active</status>
<labels type="array">
<label>
<url>https://api.freeagent.com/v2/tracking_group_labels/3</url>
<name>Sales</name>
<status>active</status>
</label>
<label>
<url>https://api.freeagent.com/v2/tracking_group_labels/4</url>
<name>Engineering</name>
<status>active</status>
</label>
<label>
<url>https://api.freeagent.com/v2/tracking_group_labels/5</url>
<name>People Operations</name>
<status>active</status>
</label>
</labels>
<created-at type="datetime">2026-10-02T13:00:21Z</created-at>
<updated-at type="datetime">2026-10-02T13:00:21Z</updated-at>
</tracking-group>
</tracking-groups>
</freeagent>
Show as JSONGet a single Tracking Group
GET https://api.freeagent.com/v2/tracking_groups/:id
A single Tracking Group is always returned with all of its labels, including hidden ones, and can be fetched even if the group itself is hidden.
Response
Status: 200 OK
{
"tracking_group": {
"url": "https://api.freeagent.com/v2/tracking_groups/1",
"name": "Region",
"status": "active",
"labels": [
{
"url": "https://api.freeagent.com/v2/tracking_group_labels/1",
"name": "North",
"status": "active"
},
{
"url": "https://api.freeagent.com/v2/tracking_group_labels/2",
"name": "South",
"status": "active"
},
{
"url": "https://api.freeagent.com/v2/tracking_group_labels/6",
"name": "Wales",
"status": "hidden"
}
],
"created_at": "2026-10-01T09:15:00.000Z",
"updated_at": "2026-10-14T11:42:03.000Z"
}
}
Show as XML<?xml version="1.0" encoding="UTF-8"?>
<freeagent>
<tracking-group>
<url>https://api.freeagent.com/v2/tracking_groups/1</url>
<name>Region</name>
<status>active</status>
<labels type="array">
<label>
<url>https://api.freeagent.com/v2/tracking_group_labels/1</url>
<name>North</name>
<status>active</status>
</label>
<label>
<url>https://api.freeagent.com/v2/tracking_group_labels/2</url>
<name>South</name>
<status>active</status>
</label>
<label>
<url>https://api.freeagent.com/v2/tracking_group_labels/6</url>
<name>Wales</name>
<status>hidden</status>
</label>
</labels>
<created-at type="datetime">2026-10-01T09:15:00Z</created-at>
<updated-at type="datetime">2026-10-14T11:42:03Z</updated-at>
</tracking-group>
</freeagent>
Show as JSONUsing Tracking Group labels
Tracking Group labels can currently only be applied to Bank Transaction Explanations and Expenses.
The following optional attribute will be present in the response of the resource when Tracking Group labels have been associated with it:
| Attribute | Description | Kind |
|---|---|---|
| tracking_groups | The Tracking Groups and labels currently applied to this item. The Tracking Group attributes url, name and status are included, and a labels array holds the label applied from that group. When no Tracking Groups are applied, this attribute will not be present. Read-only. |
Array |
The following optional attributes will be available when setting Tracking Group labels on a resource:
| Attribute | Description | Kind |
|---|---|---|
| tracking_group_labels | Used only when creating or updating a resource and never included in the response. Lets you set labels using a flat list of Tracking Group label URLs, without needing the nested tracking_groups structure. To read the labels on a resource, use tracking_groups, above. Replaces any existing Tracking Group labels. Send an empty array to remove all labels. |
Array |