---
id: action-item-category-list
title: "List categories"
description: "List action item categories filtered by NRN, name, parent, or status."
sidebar_label: "List categories"
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={"List categories"}
>
</Heading>

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



List action item categories filtered by NRN, name, parent, or status.

Categories follow the NRN hierarchy. When querying for a specific NRN (without wildcards), the response includes categories from all ancestor NRN scopes, with the most specific category taking precedence when names overlap.


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

<ParamsDetails
  parameters={[{"in":"query","name":"nrn","schema":{"type":"string"},"required":false,"description":"Filter by NRN. Supports wildcards (e.g., `organization=1:account=*`).","example":"organization=1:account=2"},{"in":"query","name":"name","schema":{"type":"string"},"required":false,"description":"Filter by category name.","example":"Security vulnerabilities"},{"in":"query","name":"parent_id","schema":{"type":"string"},"required":false,"description":"Filter by parent category ID to list subcategories.","example":"abc123def456"},{"in":"query","name":"status","schema":{"type":"string","enum":["active","inactive"]},"required":false,"description":"Filter by category status.","example":"active"}]}
>
  
</ParamsDetails>

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

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"200":{"description":"A paginated list of categories.","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"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"}},"pagination":{"type":"object","description":"Pagination metadata returned with list responses.","properties":{"offset":{"type":"integer","description":"The current pagination offset.","example":0},"limit":{"type":"integer","description":"The number of results returned per page.","example":25},"total":{"type":"integer","description":"The total number of items matching the query.","example":42}},"title":"Pagination"}}}}}},"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>


      