---
id: action-item-category-update
title: "Update a category"
description: "Update an action item category. Only the fields included in the request body are updated."
sidebar_label: "Update a category"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "patch 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={"Update a category"}
>
</Heading>

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



Update an action item category. Only the fields included in the request body are updated.

<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={{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The display name of the category.","example":"Security vulnerabilities"},"description":{"type":"string","description":"A description of what this category tracks.","example":"Tracks security issues found by automated scanners"},"color":{"type":"string","description":"Hex color code for the category in the UI.","example":"#E53E3E"},"icon":{"type":"string","description":"Icon name for the category in the UI.","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":"$"},"status":{"type":"string","enum":["active","inactive"],"description":"The category status.","example":"active"},"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"}}}}}}}
>
  
</RequestSchema>

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"200":{"description":"The updated 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>


      