---
id: action-item-assign
title: "Assign an action item"
description: "Assign an action item to a user of the organization, making that person its owner. An item has a single owner, so assigning an item that already has one reassigns it."
sidebar_label: "Assign an action item"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "post 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={"Assign an action item"}
>
</Heading>

<MethodEndpoint
  method={"post"}
  path={"/action_item/{id}/assign"}
  context={"endpoint"}
>
  
</MethodEndpoint>



Assign an action item to a user of the organization, making that person its owner. An item has a single owner, so assigning an item that already has one reassigns it.

Only items that still represent work can be assigned: `open`, `deferred`, `pending_deferral`, `pending_verification`, and `pending_rejection`. Assigning an item in `resolved`, `rejected`, or `closed` returns a `400`.


<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 action item ID.","example":"xYz789AbCdEf"}]}
>
  
</ParamsDetails>

<RequestSchema
  title={"Body"}
  body={{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["user_id"],"properties":{"user_id":{"type":"integer","description":"The nullplatform user ID of the new owner.","example":2345},"actor":{"type":"string","description":"The email of the user performing the action. If provided, the caller must be authorized to act on behalf of that user.","example":"jane@example.com"}}}}}}}
>
  
</RequestSchema>

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"200":{"description":"The updated action item.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The unique action item ID.","example":"xYz789AbCdEf"},"slug":{"type":"string","description":"Auto-generated URL-friendly slug.","example":"upgrade-base-image-to-fix-cve-2026-1234"},"nrn":{"type":"string","description":"The NRN that owns this action item.","example":"organization=1:account=2:namespace=3:application=4"},"title":{"type":"string","description":"The title.","example":"Upgrade base image to fix CVE-2026-1234"},"description":{"type":"string","description":"The description. Supports Markdown.","example":"The current base image has a critical vulnerability."},"status":{"type":"string","enum":["open","in_progress","pending_deferral","deferred","pending_verification","resolved","pending_rejection","rejected","closed"],"description":"The current status.","example":"open"},"priority":{"type":"string","enum":["low","medium","high","critical"],"description":"Priority level.","example":"critical"},"score":{"type":"integer","description":"Calculated score based on value and priority.","example":2000},"category_id":{"type":"string","description":"The category ID.","example":"abc123def456"},"value":{"type":"number","description":"Estimated benefit of resolving the item.","example":500},"created_by":{"type":"string","description":"The creator email or agent identifier.","example":"security-scanner-agent"},"assignee_id":{"type":"integer","description":"The nullplatform user ID of the item's owner, or `null` when nobody owns it.","example":2345},"assigned_at":{"type":"string","format":"date-time","description":"When the current assignment was made. ISO 8601 date-time.","example":"2026-08-20T14:32:00Z"},"assigned_by":{"type":"string","description":"Who made the current assignment: a user email or an agent identifier.","example":"jane@example.com"},"due_date":{"type":"string","format":"date-time","description":"Optional deadline. ISO 8601 date-time.","example":"2026-05-01T00:00:00Z"},"deferred_until":{"type":"string","format":"date","description":"Date until which the item is deferred.","example":null},"resolved_at":{"type":"string","format":"date","description":"Date when the item was resolved.","example":null},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Key-value pairs for classification.","example":{"source":"container-scan","cve":"CVE-2026-1234"}},"affected_resources":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"The resource type.","example":"application"},"name":{"type":"string","description":"The resource name.","example":"my-api-service"},"permalink":{"type":"string","description":"A link to the resource.","example":"https://app.nullplatform.com/applications/4"},"description":{"type":"string","description":"A brief description.","example":"Main API service"}},"title":"AffectedResource"}},"references":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The reference name.","example":"CVE-2026-1234"},"permalink":{"type":"string","description":"A link to the reference.","example":"https://nvd.nist.gov/vuln/detail/CVE-2026-1234"},"description":{"type":"string","description":"A brief description.","example":"NVD entry for this vulnerability"}},"title":"Reference"}},"metadata":{"type":"object","description":"Flexible metadata.","example":{"cve_id":"CVE-2026-1234"}},"deferral_count":{"type":"integer","description":"Number of times this item has been deferred.","example":0},"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"},"comments":{"type":"array","description":"Comments on this item. Populated on read.","items":{"type":"object","properties":{"id":{"type":"string","description":"The comment ID.","example":"cmt123AbCdEf"},"author":{"type":"string","description":"The comment author.","example":"jane@example.com"},"content":{"type":"string","description":"The comment text.","example":"This should be prioritized for the next sprint."},"created_at":{"type":"string","format":"date-time","description":"Creation timestamp.","example":"2026-04-06T14:30:00.000Z"}},"title":"Comment"}},"audit_logs":{"type":"array","description":"Audit trail of all status transitions and field updates on this item.","items":{"type":"object","description":"A single audit log entry recording a status transition or field update on an action item.","properties":{"id":{"type":"string","description":"The unique audit log entry ID.","example":"3c35f973-d53b-4e60-a578-2e8fba1dbbb1"},"actor":{"type":"string","description":"The email of the user who performed the action.","example":"jane@example.com"},"action":{"type":"string","description":"The action that was performed.","example":"deferred"},"details":{"type":"object","description":"Additional context about the action, such as previous and new status or the deferral reason.","example":{"from":"open","to":"deferred","reason":"Waiting for the next maintenance window."}},"timestamp":{"type":"string","format":"date-time","description":"When the action was performed.","example":"2026-04-06T12:00:00.000Z"}},"title":"AuditLog"}},"created_at":{"type":"string","format":"date-time","description":"Creation timestamp.","example":"2026-04-06T12:00:00.000Z"},"updated_at":{"type":"string","format":"date-time","description":"Last update timestamp.","example":"2026-04-06T12:00:00.000Z"}},"title":"ActionItem"}}}},"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>


      