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

# Get tag group

> Fetch one tag group by ID.

Fetches one [`TagGroup`](/en/api-reference/tag-groups#taggroup-object) by ID.

## Headers

<ParamField header="Authorization" type="string" required>
  Bearer token containing your Fini workspace API key. Format: `Bearer fini_...` The key needs `read` scope.
</ParamField>

## Path parameters

<ParamField path="id" type="string" required>
  Tag group ID to fetch.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api-prod.usefini.com/v2/tag-groups/4fbcebbd-693d-4fb8-84b2-c8fd0edee4c5/public' \
    --header 'Authorization: Bearer fini_your_api_key'
  ```

  ```python Python theme={null}
  import requests

  tag_group_id = "4fbcebbd-693d-4fb8-84b2-c8fd0edee4c5"
  response = requests.get(
      f"https://api-prod.usefini.com/v2/tag-groups/{tag_group_id}/public",
      headers={"Authorization": "Bearer fini_your_api_key"},
  )
  tag_group = response.json()
  ```

  ```javascript Node.js theme={null}
  const tagGroupId = "4fbcebbd-693d-4fb8-84b2-c8fd0edee4c5";

  const response = await fetch(
    `https://api-prod.usefini.com/v2/tag-groups/${tagGroupId}/public`,
    {
      headers: {
        Authorization: "Bearer fini_your_api_key",
      },
    }
  );
  const tagGroup = await response.json();
  ```
</RequestExample>

## Response

Returns one [`TagGroup`](/en/api-reference/tag-groups#taggroup-object).

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "id": "4fbcebbd-693d-4fb8-84b2-c8fd0edee4c5",
    "createdAt": "2026-06-12T10:14:22.000Z",
    "companyId": "38ba4db0-31db-4669-bb95-7b8313c4016b",
    "title": "Order Intent",
    "description": "Primary order-related intent used for routing and reporting.",
    "prompt": "Choose the single tag that best describes the customer's order request.",
    "multiselect": false,
    "updatedAt": "2026-06-12T10:14:22.000Z",
    "mandatory": false,
    "isOutputTagGroup": false
  }
  ```
</ResponseExample>

<Note>
  Current controller behavior: unknown tag group IDs currently surface as `500 Internal Server Error` on this public route rather than a dedicated `404 Not Found`.
</Note>

## Errors

<AccordionGroup>
  <Accordion title="401 Unauthorized" icon="lock">
    The API key is missing, malformed, revoked, or invalid.
  </Accordion>

  <Accordion title="403 Forbidden" icon="shield-halved">
    The API key does not include the `read` scope required for this route.
  </Accordion>

  <Accordion title="500 Internal Server Error" icon="triangle-exclamation">
    Fini failed while loading the tag group. Unknown IDs currently surface here as well.
  </Accordion>
</AccordionGroup>
