Action Item

Assign an action item

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.

post/action_item/{id}/assign

Path parameters

idstring required

The action item ID.

Request body

user_idinteger required

The nullplatform user ID of the new owner.

actorstring

The email of the user performing the action. If provided, the caller must be authorized to act on behalf of that user.

Example request

{
  "user_id": 2345,
  "actor": "jane@example.com"
}

Response

The updated action item.

idstring

The unique action item ID.

slugstring

Auto-generated URL-friendly slug.

nrnstring

The NRN that owns this action item.

titlestring

The title.

descriptionstring

The description. Supports Markdown.

status'open' | 'in_progress' | 'pending_deferral' | 'deferred' | 'pending_verification' | 'resolved' | 'pending_rejection' | 'rejected' | 'closed'

The current status.

priority'low' | 'medium' | 'high' | 'critical'

Priority level.

scoreinteger

Calculated score based on value and priority.

category_idstring

The category ID.

valuenumber

Estimated benefit of resolving the item.

created_bystring

The creator email or agent identifier.

assignee_idinteger

The nullplatform user ID of the item's owner, or null when nobody owns it.

assigned_atstring date-time

When the current assignment was made. ISO 8601 date-time.

assigned_bystring

Who made the current assignment: a user email or an agent identifier.

due_datestring date-time

Optional deadline. ISO 8601 date-time.

deferred_untilstring date

Date until which the item is deferred.

resolved_atstring date

Date when the item was resolved.

labelsobject

Key-value pairs for classification.

metadataobject

Flexible metadata.

deferral_countinteger

Number of times this item has been deferred.

created_atstring date-time

Creation timestamp.

updated_atstring date-time

Last update timestamp.

Example response

{
  "id": "xYz789AbCdEf",
  "slug": "upgrade-base-image-to-fix-cve-2026-1234",
  "nrn": "organization=1:account=2:namespace=3:application=4",
  "title": "Upgrade base image to fix CVE-2026-1234",
  "description": "The current base image has a critical vulnerability.",
  "status": "open",
  "priority": "critical",
  "score": 2000,
  "category_id": "abc123def456",
  "value": 500,
  "created_by": "security-scanner-agent",
  "assignee_id": 2345,
  "assigned_at": "2026-08-20T14:32:00Z",
  "assigned_by": "jane@example.com",
  "due_date": "2026-05-01T00:00:00Z",
  "labels": {
    "source": "container-scan",
    "cve": "CVE-2026-1234"
  },
  "affected_resources": [
    {
      "type": "application",
      "name": "my-api-service",
      "permalink": "https://app.nullplatform.com/applications/4",
      "description": "Main API service"
    }
  ],
  "references": [
    {
      "name": "CVE-2026-1234",
      "permalink": "https://nvd.nist.gov/vuln/detail/CVE-2026-1234",
      "description": "NVD entry for this vulnerability"
    }
  ],
  "metadata": {
    "cve_id": "CVE-2026-1234"
  },
  "config": {
    "max_deferral_days": 90,
    "max_deferral_count": 3
  },
  "comments": [
    {
      "id": "cmt123AbCdEf",
      "author": "jane@example.com",
      "content": "This should be prioritized for the next sprint.",
      "created_at": "2026-04-06T14:30:00.000Z"
    }
  ],
  "audit_logs": [
    {
      "id": "3c35f973-d53b-4e60-a578-2e8fba1dbbb1",
      "actor": "jane@example.com",
      "action": "deferred",
      "details": {
        "from": "open",
        "to": "deferred",
        "reason": "Waiting for the next maintenance window."
      },
      "timestamp": "2026-04-06T12:00:00.000Z"
    }
  ],
  "created_at": "2026-04-06T12:00:00.000Z",
  "updated_at": "2026-04-06T12:00:00.000Z"
}

Changes