---
title: "POST /item"
method: POST
path: "/item"
tags: ["Work Items and OKRs"]
---

# POST /item

`POST /item`

Create a work item

## Request body

- ItemCreate
  - `type` string, required
  - `workspaceId` string
  - `portfolioId` string
  - `title` string, required
  - `parent` NullableTypeEntityId
    - `id` string
  - `description` string, nullable
  - `storyPoints` number, double, nullable
  - `initiativeId` string, nullable
  - `value` number, double, nullable
  - `effort` number, double, nullable
  - `kano` string, nullable
  - `estimatedHours` number, double, nullable
  - `labels` string[]
  - `actualStartDate` string, date-time, nullable
  - `actualEndDate` string, date-time, nullable
  - `status` NullableTypeEntityId
    - `id` string
  - `importance` NullableTypeEntityId
    - `id` string
  - `objectives` EntityId[], nullable
    - `id` string
  - `keyResults` EntityId[], nullable
    - `id` string
  - `persona` NullableTypeEntityId
    - `id` string
  - `personas` EntityId[], nullable
    - `id` string
  - `sprint` NullableTypeEntityId
    - `id` string
  - `quarter` NullableTypeEntityId
    - `id` string
  - `assignee` unknown
  - `customFields` CustomFieldValue[]
    - `id` string, required
    - `name` string
    - `value` union
      - string
      - number, double
    - `values` string[], nullable
    - `label` string
  - `outIn` OutIn
    - `quarter` boolean
    - `sprint` boolean

## Response `200`

The item’s metadata

- Item
  - `id` string, nullable
  - `type` string — Workspace-facing type label — the workspace's custom terminology (e.g. "Subtask").
  - `typeKey` string — Canonical type name (requirement/feature/idea/task/bug/epic/product/story/…) — the value the `type` filter and write endpoints accept, independent of workspace terminology.
  - `workspaceId` string
  - `portfolioId` string
  - `shortId` string
  - `title` string
  - `description` string, nullable
  - `creationTime` string, date-time
  - `updateTime` string, date-time
  - `storyPoints` number, double
  - `initiativeId` string, nullable
  - `value` number, double
  - `effort` number, double
  - `kano` string
  - `estimatedHours` number, double
  - `labels` string[]
  - `actualStartDate` string, date-time, nullable
  - `actualEndDate` string, date-time, nullable
  - `devToolKey` DevToolKeyList
    - `jira` string
    - `ado` string
    - `github` string
    - `gitlab` string
    - `pivotaltracker` string
    - `targetprocess` string
  - `webUrl` string — Canonical Craft.io app URL for this item. Computed in PublishService.
  - `status` NullableTypeEntity
    - `id` string
    - `name` string, nullable
  - `importance` NullableTypeEntity
    - `id` string
    - `name` string, nullable
  - `objective` NullableTypeEntity
    - `id` string
    - `name` string, nullable
  - `keyResult` NullableTypeEntity
    - `id` string
    - `name` string, nullable
  - `objectives` Entity[], nullable
    - `id` string
    - `name` string, nullable
  - `keyResults` Entity[], nullable
    - `id` string
    - `name` string, nullable
  - `persona` NullableTypePersona
    - `id` string
    - `name` string, nullable
    - `position` string, required
  - `personas` Persona[], nullable
    - `id` string
    - `name` string, nullable
    - `position` string, required
  - `sprint` NullableTypeEntityWithDates
    - `id` string
    - `name` string, nullable
    - `startDate` string, nullable
    - `endDate` string, nullable
  - `quarter` NullableTypeEntityWithTerminologyAndEntityWithDates, nullable
    - `id` string
    - `name` string, nullable
    - `customTermName` string
    - `startDate` string, nullable
    - `endDate` string, nullable
  - `assignee` NullableTypeAssignee
    - `id` string
    - `team` string
    - `user` string
  - `parent` NullableTypeEntityParent
    - `id` string, required
    - `title` string
    - `shortId` string
    - `webUrl` string — Direct link to the parent item in the Craft.io app.
  - `createdBy` Entity
    - `id` string
    - `name` string, nullable
  - `customFields` CustomFieldValue[]
    - `id` string, required
    - `name` string
    - `value` union
      - string
      - number, double
    - `values` string[], nullable
    - `label` string
  - `outIn` OutIn
    - `quarter` boolean
    - `sprint` boolean
  - `dependencies` Dependency[]
    - `id` string, required
    - `name` string
    - `value` 'blocks' | 'blocked by' | 'related', required
    - `workspaceId` string
    - `portfolioId` string
  - `feedbackLinks` FeedbackLink[], nullable
    - `id` string
    - `shortId` string
    - `title` string
    - `status` NullableTypeId3F3AstringName3F3Astring — unresolved $ref
    - `webUrl` string — Direct link into the feedback portal for this linked feedback item.
  - `commentCount` number, double
  - `comments` ItemComment[]
    - `id` string
    - `author` Entity
      - `id` string
      - `name` string, nullable
    - `createdAt` string, nullable
    - `body` string
    - `parentId` string, nullable

## Other responses

- `401` — No access to account
- `403` — Access denied
- `404` — No workspace found
- `422` — Invalid item
- `500` — An error occurred while creating item

---

[API](https://skmtc.net/craft/apis/craft-io-public-api.md) · [All operations](https://skmtc.net/craft/apis/craft-io-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/craft/craft-io-public-api/revisions/2d001661c781/schema)
