---
title: "Returns one item category."
method: GET
path: "/api/v1/categories/{id}"
tags: ["Categories"]
---

# Returns one item category.

`GET /api/v1/categories/{id}`

## Request

- Base URL: `https://app.flexonthejob.com`
- URL: `https://app.flexonthejob.com/api/v1/categories/{id}`
- Auth: HTTP bearer

Requires `ViewInventory`. Send the previous `ETag` as `If-None-Match` to receive `304 Not Modified` when unchanged.

## Path parameters

- `id` integer, required

## Response `200`

The category.

- CategoryDto: An item category of the calling organization, as returned by `GET /api/v1/categories`. Categories form a tree via `parentCategoryId`; an item's `categoryId` points here. System categories (the built-in "No Category") are not listed.
  - `id` integer: Numeric category id, e.g. `4`; the `categoryId` of items and the id used by `/api/v1/categories/{id}/properties`.
  - `syncId` string, uuid: Globally unique sync id (GUID). Use it as the `after` pagination cursor.
  - `name` string: Category name, e.g. `"Lumber"`.
  - `description` string, nullable: Optional description; null when unset.
  - `parentCategoryId` integer, nullable: Id of the parent category; null for a top-level category.
  - `isTemplateBuilderCategory` boolean: True when the category was generated by a Template Builder (its name and place in the tree are managed there, not on the Item Categories page).
  - `createdAt` string, date-time: UTC creation timestamp (ISO-8601).
  - `updatedAt` string, date-time, nullable: UTC timestamp of the last edit of the category itself; null when never edited. Property changes do not move it.

## Other responses

- `304`: Unchanged since the supplied ETag.
- `401`: Unauthorized
- `403`: Forbidden
- `404`: No such category in this organization.
- `429`: Too Many Requests

---

[API](https://skmtc.dev/flexonthejob/apis/flex-api.md) · [All operations](https://skmtc.dev/flexonthejob/apis/flex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/flexonthejob/apis/flex-api/revisions/19c8f4d27acf?raw)
