> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usefini.com/llms.txt
> Use this file to discover all available pages before exploring further.
# Overview
> Section hub for reading and managing tag groups through Fini's public API.
Tag groups are the top-level classification buckets behind [Configuration → Tags](/en/configuration/tags). Every tag belongs to exactly one group. Use these public routes to read both Fini-shipped default groups and workspace-owned custom groups, or to create and manage custom groups from your backend.
<Info>
The API field `prompt` is the wire-format name for the dashboard's **AI Instructions** field.
</Info>
<Note>
Read routes return both workspace-owned custom groups and Fini-shipped default groups. In the response, custom groups have a workspace `companyId`, while default groups return `companyId: null`. Mandatory groups, such as Conversation Status, return `mandatory: true`.
</Note>
## Reference pages
<CardGroup cols={3}>
<Card title="List tag groups" icon="list" href="/en/api-reference/list-tag-groups">
`GET /v2/tag-groups/public` - list the tag groups visible in the workspace.
</Card>
<Card title="Get tag group" icon="eye" href="/en/api-reference/get-tag-group">
`GET /v2/tag-groups/{id}/public` - fetch one tag group by ID.
</Card>
<Card title="Create tag group" icon="plus" href="/en/api-reference/create-tag-group">
`POST /v2/tag-groups/public` - create a custom tag group.
</Card>
<Card title="Update tag group" icon="pen" href="/en/api-reference/update-tag-group">
`PUT /v2/tag-groups/{id}/public` - update a custom tag group.
</Card>
<Card title="Delete tag group" icon="trash" href="/en/api-reference/delete-tag-group">
`DELETE /v2/tag-groups/{id}/public` - delete a custom tag group.
</Card>
</CardGroup>
## Endpoint map
| Method | Path | Scope | Purpose |
| - | - | - | - |
| `GET` | `/v2/tag-groups/public` | `read` | List the tag groups available in the workspace, including Fini-shipped default groups. |
| `GET` | `/v2/tag-groups/:id/public` | `read` | Fetch one tag group by ID. |
| `POST` | `/v2/tag-groups/public` | `write` | Create a custom tag group. |
| `PUT` | `/v2/tag-groups/:id/public` | `write` | Update a custom tag group. |
| `DELETE` | `/v2/tag-groups/:id/public` | `write` | Delete a custom tag group. |
## TagGroup object
<ResponseField name="id" type="string">
Tag group ID.
</ResponseField>
<ResponseField name="createdAt" type="string">
ISO 8601 creation timestamp.
</ResponseField>
<ResponseField name="updatedAt" type="string">
ISO 8601 last-update timestamp.
</ResponseField>
<ResponseField name="companyId" type="string | null">
Workspace ID that owns the tag group. `null` indicates a Fini-shipped default group.
</ResponseField>
<ResponseField name="title" type="string">
Group title shown in the dashboard and used as the human-readable name for the classification dimension.
</ResponseField>
<ResponseField name="description" type="string">
Human-readable description for the group.
</ResponseField>
<ResponseField name="prompt" type="string">
AI-instruction text that teaches the model how to apply the group's tags. This is the API name for the dashboard's **AI Instructions** field.
</ResponseField>
<ResponseField name="multiselect" type="boolean">
Whether the group allows multiple tags to be applied to the same conversation.
</ResponseField>
<ResponseField name="mandatory" type="boolean">
Whether the group is Fini-mandatory and not intended for deletion or disabling.
</ResponseField>
<ResponseField name="isOutputTagGroup" type="boolean">
Whether this is an output-only tag group. If `true`, the group is for post-classification/reporting use and will not be available as a Rulebook condition, including in intent-based rules.
</ResponseField>
<Note>
Use the child pages in this section for the detailed request and response reference for each route.
</Note>
## Related topics
- [Overview](/en/api-reference/tags.md)
This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.
Tag groups

