---
title: "Store the document's item types, whole: up to 32 types, each with its fields and custom fields. null goes back to the default types (Project, Task, Note, Idea, Action). expectedRev names the revision (itemTypesRev) the change was made to: when another change landed since, 409 item_types_stale answers with the stored types and revision to re-apply the change to. Needs edit access to the whole document."
method: PUT
path: "/documents/{id}/item-types"
tags: ["Items"]
---

# Store the document's item types, whole: up to 32 types, each with its fields and custom fields. null goes back to the default types (Project, Task, Note, Idea, Action). expectedRev names the revision (itemTypesRev) the change was made to: when another change landed since, 409 item_types_stale answers with the stored types and revision to re-apply the change to. Needs edit access to the whole document.

`PUT /documents/{id}/item-types`

## Request

- Base URL: `https://www.livediagram.app/api`
- URL: `https://www.livediagram.app/api/documents/{id}/item-types`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Owner-Id`

## Path parameters

- `id` string, required

## Request body

- ItemTypesRequest
  - `expectedRev` number
  - `itemTypes` ItemTypeCatalogue, required
    - `types` ItemTypeDef[], required
      - `color` string, required
      - `custom` CustomFieldDef[]
        - `currency` string
        - `id` string, required
        - `kind` 'text' | 'longtext' | 'number' | 'currency' | 'date' | 'checkbox' | 'link' | 'email' | 'choice' | 'multichoice' | 'rating' | 'card', required
        - `label` string, required
        - `linkType` string
        - `onCard` boolean
        - `options` string[]
        - `scale` number
      - `defaultStatus` string
      - `detailsLabel` string
      - `display` object
        - `compact` object
          - `body` CardField[]
            - union
              - …
          - `foot` CardField[]
            - union
              - …
          - `footEnd` CardField[]
            - union
              - …
          - `head` CardField[]
            - union
              - …
          - `headEnd` CardField[]
            - union
              - …
          - `lead` CardField[]
            - union
              - …
          - `row` CardField[]
            - union
              - …
          - `trail` CardField[]
            - union
              - …
        - `detailed` object
          - `body` CardField[]
            - union
              - …
          - `foot` CardField[]
            - union
              - …
          - `footEnd` CardField[]
            - union
              - …
          - `head` CardField[]
            - union
              - …
          - `headEnd` CardField[]
            - union
              - …
          - `lead` CardField[]
            - union
              - …
          - `row` CardField[]
            - union
              - …
          - `trail` CardField[]
            - union
              - …
        - `minimal` object
          - `body` CardField[]
            - union
              - …
          - `foot` CardField[]
            - union
              - …
          - `footEnd` CardField[]
            - union
              - …
          - `head` CardField[]
            - union
              - …
          - `headEnd` CardField[]
            - union
              - …
          - `lead` CardField[]
            - union
              - …
          - `row` CardField[]
            - union
              - …
          - `trail` CardField[]
            - union
              - …
      - `excludedStatuses` string[]
      - `fields` string[], required
      - `glyph` union, required
        - 'task' | 'story' | 'bug' | 'project' | 'action' | 'epic' | 'milestone' | 'release' | 'ticket' | 'kanban' | 'checklist' | 'inbox' | 'person' | 'team' | 'user-plus' | 'user-check' | 'contact' | 'crown' | 'chat' | 'mail' | 'phone' | 'megaphone' | 'bell' | 'send' | 'video' | 'at' | 'calendar' | 'flag' | 'clock' | 'target' | 'pin' | 'hourglass' | 'repeat' | 'note' | 'idea' | 'bookmark' | 'book' | 'document' | 'pencil' | 'lightbulb' | 'puzzle' | 'quote' | 'star' | 'heart' | 'risk' | 'shield' | 'lock' | 'eye' | 'fire' | 'sparkle' | 'info' | 'question' | 'ban' | 'trophy' | 'coin' | 'chart' | 'trend' | 'briefcase' | 'cart' | 'building' | 'percent' | 'wallet' | 'cube' | 'gift' | 'wrench' | 'code' | 'laptop' | 'database' | 'cloud' | 'globe' | 'home' | 'key' | 'leaf' | 'link'
        - 'item'
      - `id` string, required
      - `label` string, required
      - `newTitle` string, required
      - `tabs` ItemTypeTab[]
        - `fields` string[], required
        - `id` string, required
        - `label` string, required
    - `version` number, required

## Response `200`

Success.

- ItemTypesResponse
  - `itemTypes` ItemTypeCatalogue, required
    - `types` ItemTypeDef[], required
      - `color` string, required
      - `custom` CustomFieldDef[]
        - `currency` string
        - `id` string, required
        - `kind` 'text' | 'longtext' | 'number' | 'currency' | 'date' | 'checkbox' | 'link' | 'email' | 'choice' | 'multichoice' | 'rating' | 'card', required
        - `label` string, required
        - `linkType` string
        - `onCard` boolean
        - `options` string[]
        - `scale` number
      - `defaultStatus` string
      - `detailsLabel` string
      - `display` object
        - `compact` object
          - `body` CardField[]
            - union
              - …
          - `foot` CardField[]
            - union
              - …
          - `footEnd` CardField[]
            - union
              - …
          - `head` CardField[]
            - union
              - …
          - `headEnd` CardField[]
            - union
              - …
          - `lead` CardField[]
            - union
              - …
          - `row` CardField[]
            - union
              - …
          - `trail` CardField[]
            - union
              - …
        - `detailed` object
          - `body` CardField[]
            - union
              - …
          - `foot` CardField[]
            - union
              - …
          - `footEnd` CardField[]
            - union
              - …
          - `head` CardField[]
            - union
              - …
          - `headEnd` CardField[]
            - union
              - …
          - `lead` CardField[]
            - union
              - …
          - `row` CardField[]
            - union
              - …
          - `trail` CardField[]
            - union
              - …
        - `minimal` object
          - `body` CardField[]
            - union
              - …
          - `foot` CardField[]
            - union
              - …
          - `footEnd` CardField[]
            - union
              - …
          - `head` CardField[]
            - union
              - …
          - `headEnd` CardField[]
            - union
              - …
          - `lead` CardField[]
            - union
              - …
          - `row` CardField[]
            - union
              - …
          - `trail` CardField[]
            - union
              - …
      - `excludedStatuses` string[]
      - `fields` string[], required
      - `glyph` union, required
        - 'task' | 'story' | 'bug' | 'project' | 'action' | 'epic' | 'milestone' | 'release' | 'ticket' | 'kanban' | 'checklist' | 'inbox' | 'person' | 'team' | 'user-plus' | 'user-check' | 'contact' | 'crown' | 'chat' | 'mail' | 'phone' | 'megaphone' | 'bell' | 'send' | 'video' | 'at' | 'calendar' | 'flag' | 'clock' | 'target' | 'pin' | 'hourglass' | 'repeat' | 'note' | 'idea' | 'bookmark' | 'book' | 'document' | 'pencil' | 'lightbulb' | 'puzzle' | 'quote' | 'star' | 'heart' | 'risk' | 'shield' | 'lock' | 'eye' | 'fire' | 'sparkle' | 'info' | 'question' | 'ban' | 'trophy' | 'coin' | 'chart' | 'trend' | 'briefcase' | 'cart' | 'building' | 'percent' | 'wallet' | 'cube' | 'gift' | 'wrench' | 'code' | 'laptop' | 'database' | 'cloud' | 'globe' | 'home' | 'key' | 'leaf' | 'link'
        - 'item'
      - `id` string, required
      - `label` string, required
      - `newTitle` string, required
      - `tabs` ItemTypeTab[]
        - `fields` string[], required
        - `id` string, required
        - `label` string, required
    - `version` number, required
  - `itemTypesRev` number, required

## Other responses

- `400`: Error.
- `401`: Error.
- `403`: Error.
- `404`: Error.
- `405`: Error.
- `409`: Error.
- `410`: Error.
- `429`: Rate limited. Back off and retry.

---

[API](https://skmtc.dev/livediagram/apis/livediagram-api.md) · [All operations](https://skmtc.dev/livediagram/apis/livediagram-api/llms.txt) · [OpenAPI document](https://skmtc.dev/livediagram/apis/livediagram-api/revisions/f286d27acfd2?raw)
