---
id: action-item-category-read
title: "Read a category"
description: "Get a single action item category by ID. Includes parent and children if applicable."
sidebar_label: "Read a category"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "get api-method"
info_path: docs/api/action-items
custom_edit_url: null
---

import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import ParamsDetails from "@theme/ParamsDetails";
import RequestSchema from "@theme/RequestSchema";
import StatusCodes from "@theme/StatusCodes";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";
import Heading from "@theme/Heading";

<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"Read a category"}
>
</Heading>

<MethodEndpoint
  method={"get"}
  path={"/action_item_category/{id}"}
  context={"endpoint"}
>
  
</MethodEndpoint>



Get a single action item category by ID. Includes parent and children if applicable.

<Heading
  id={"request"}
  as={"h2"}
  className={"openapi-tabs__heading"}
  children={"Request"}
>
</Heading>

<ParamsDetails
  parameters={[{"in":"path","name":"id","schema":{"type":"string"},"required":true,"description":"The category ID.","example":"abc123def456"}]}
>
  
</ParamsDetails>

<RequestSchema
  title={"Body"}
  body={undefined}
>
  
</RequestSchema>

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"200":{"description":"The category.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The unique category ID.","example":"abc123def456"},"slug":{"type":"string","description":"Auto-generated URL-friendly slug.","example":"security-vulnerabilities"},"nrn":{"type":"string","description":"The NRN that owns this category.","example":"organization=1:account=2"},"parent_id":{"type":"string","description":"The parent category ID, if this is a subcategory.","example":null},"name":{"type":"string","description":"The display name.","example":"Security vulnerabilities"},"description":{"type":"string","description":"A description of the category.","example":"Tracks security issues found by automated scanners"},"color":{"type":"string","description":"Hex color code.","example":"#E53E3E"},"icon":{"type":"string","description":"Icon name.","example":"shield"},"unit_name":{"type":"string","description":"Display name for the unit of value.","example":"Dollars"},"unit_symbol":{"type":"string","description":"Display symbol for the unit of value.","example":"$"},"config":{"type":"object","description":"Deferral limits for a category. Approval gating for resolve, defer, and reject\nis no longer configured here. It is driven by approval actions in the approvals\nengine. See the `action_item` entity in the Approval API.\n","properties":{"max_deferral_days":{"type":"integer","description":"Maximum number of days an item can be deferred into the future.","example":90},"max_deferral_count":{"type":"integer","description":"Maximum number of times an item can be deferred.","example":3}},"title":"CategoryConfig"},"status":{"type":"string","enum":["active","inactive"],"description":"The category status.","example":"active"},"children":{"type":"array","description":"Subcategories of this category. Populated on read, empty array if none.","items":"circular(Category)"},"created_at":{"type":"string","format":"date-time","description":"Creation timestamp.","example":"2026-04-01T10:00:00.000Z"},"updated_at":{"type":"string","format":"date-time","description":"Last update timestamp.","example":"2026-04-01T10:00:00.000Z"}},"title":"Category"}}}},"4XX":{"description":"Client error responses due to invalid input, missing parameters, or unauthorized access.\n\nRequest validation errors use a different shape:\n```json\n{\n  \"type\": \"ValidationError\",\n  \"errors\": [{ \"message\": \"body must have required property 'defer_until'\" }]\n}\n```\n","content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Standard error response.","required":["statusCode","error","message"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code (e.g., 400, 401, 403, 404).","example":400},"code":{"type":"string","description":"Machine-readable error code.","example":"bad_request"},"error":{"type":"string","description":"Short description of the error type.","example":"Bad Request"},"message":{"type":"string","description":"Additional details about the error.","example":"The request was malformed or contained invalid parameters."}}},{"type":"object","description":"Request validation error response.","required":["type","errors"],"properties":{"type":{"type":"string","example":"ValidationError"},"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","example":"body must have required property 'until'"}}}}}}]}}}},"5XX":{"description":"Server error responses indicating an issue on the API side.","content":{"application/json":{"schema":{"type":"object","required":["statusCode","error","message"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code representing the specific server error.","example":500},"code":{"type":"string","description":"A machine-readable error code that categorizes the server failure.","example":"internal_server_error"},"error":{"type":"string","description":"A brief, human-readable description of the error type.","example":"Internal Server Error"},"message":{"type":"string","description":"Additional details about the error.","example":"An unexpected error occurred on the server."}}}}}}}}
>
  
</StatusCodes>


      