> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Shortcut API reference

> API reference for the Shortcut plugin in Corsair: every `shortcut.api.*` operation with its input and output types, taken from the plugin's Zod schemas.

> [!NOTE]
>
> **New to Corsair?** See [API access](https://docs.corsair.dev/concepts/api.md), [authentication](https://docs.corsair.dev/concepts/auth.md), and [error handling](https://docs.corsair.dev/concepts/error-handling).

## Create Category

### post

`createCategory.post`

Create Category

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createCategory.post({"body":{"name":"Infrastructure"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name: string,
>   color?: string,
>   external_id?: string,
>   type?: any
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `archived` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `color` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `type` | `string` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `created_at` | `string` | Yes | — |

***

## Create Doc

### post

`createDoc.post`

Create Doc

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createDoc.post({"body":{"title":"Release notes","content":"# Release notes","content_format":"markdown"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

Shortcut defaults document content to HTML when `content_format` is omitted; set it to `markdown` when sending Markdown.

> [accordion] body full type
>
> ```ts theme={null}
> {
>   title: string,
>   content: string,
>   content_format?: markdown | html
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `title` | `string \| null` | Yes | — |
| `app_url` | `string` | Yes | — |

***

## Create Entity Template

### post

`createEntityTemplate.post`

Create Entity Template

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createEntityTemplate.post({"body":{"name":"Bug report","story_contents":{"story_type":"bug"}}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name: string,
>   author_id?: string,
>   story_contents: {
>     description?: string,
>     labels?: {
>       name: string,
>       description?: string,
>       color?: string,
>       external_id?: string
>     }[],
>     story_type?: string,
>     custom_fields?: {
>       field_id: string,
>       value_id: string,
>       value?: string
>     }[],
>     file_ids?: number[],
>     name?: string,
>     epic_id?: number | null,
>     external_links?: string[],
>     sub_tasks?: {
>       name: string,
>       owner_ids?: string[],
>       workflow_state_id?: number
>     }[],
>     iteration_id?: number | null,
>     tasks?: {
>       description: string,
>       complete?: boolean,
>       owner_ids?: string[],
>       external_id?: string
>     }[],
>     group_id?: string | null,
>     workflow_state_id?: number | null,
>     follower_ids?: string[],
>     owner_ids?: string[],
>     estimate?: number | null,
>     project_id?: number,
>     linked_file_ids?: number[],
>     deadline?: string | null
>   }
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `entity_type` | `string` | Yes | — |
| `id` | `string` | Yes | — |
| `created_at` | `string` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `author_id` | `string` | Yes | — |
| `last_used_at` | `string` | Yes | — |
| `story_contents` | `object` | Yes | — |

> [accordion] story\_contents full type
>
> ```ts theme={null}
> {
>   description?: string,
>   entity_type?: string,
>   labels?: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   story_type?: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value?: string
>   }[],
>   linked_files?: {
>     description: string | null,
>     entity_type: string,
>     story_ids: number[],
>     mention_ids: string[],
>     member_mention_ids: string[],
>     name: string,
>     thumbnail_url: string | null,
>     type: string,
>     size: number | null,
>     uploader_id: string,
>     content_type: string | null,
>     updated_at: string,
>     group_mention_ids: string[],
>     id: number,
>     url: string,
>     created_at: string
>   }[],
>   name?: string,
>   epic_id?: number,
>   external_links?: string[],
>   sub_tasks?: {
>     name: string,
>     owner_ids?: string[],
>     workflow_state_id?: number
>   }[],
>   iteration_id?: number,
>   tasks?: {
>     description: string,
>     position?: number,
>     complete?: boolean,
>     owner_ids?: string[],
>     external_id?: string | null
>   }[],
>   label_ids?: number[],
>   group_id?: string,
>   workflow_state_id?: number,
>   follower_ids?: string[],
>   owner_ids?: string[],
>   estimate?: number,
>   files?: {
>     description: string | null,
>     entity_type: string,
>     story_ids: number[],
>     mention_ids: string[],
>     member_mention_ids: string[],
>     name: string,
>     thumbnail_url: string | null,
>     size: number,
>     uploader_id: string,
>     content_type: string,
>     updated_at: string | null,
>     filename: string,
>     group_mention_ids: string[],
>     external_id: string | null,
>     id: number,
>     url: string | null,
>     created_at: string
>   }[],
>   project_id?: number,
>   deadline?: string
> }
> ```

***

## Create Epic

### post

`createEpic.post`

Create Epic

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createEpic.post({"body":{"name":"Checkout redesign"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   labels?: {
>     name: string,
>     description?: string,
>     color?: string,
>     external_id?: string
>   }[],
>   completed_at_override?: string,
>   objective_ids?: number[],
>   name: string,
>   planned_start_date?: string | null,
>   state?: in progress | to do | done,
>   milestone_id?: number | null,
>   requested_by_id?: string,
>   size?: small | xlarge | medium | large | null,
>   epic_state_id?: number,
>   started_at_override?: string,
>   group_id?: string | null,
>   updated_at?: string,
>   follower_ids?: string[],
>   group_ids?: string[],
>   converted_from_story_id?: number | null,
>   owner_ids?: string[],
>   external_id?: string,
>   deadline?: string | null,
>   created_at?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `started` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `labels` | `object[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `associated_groups` | `object[] \| null` | Yes | — |
| `project_ids` | `number[]` | Yes | — |
| `stories_without_projects` | `number` | Yes | — |
| `completed_at_override` | `string \| null` | Yes | — |
| `productboard_plugin_id` | `string \| null` | Yes | — |
| `started_at` | `string \| null` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `objective_ids` | `number[]` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `completed` | `boolean` | Yes | — |
| `comments` | `object[]` | Yes | — |
| `productboard_url` | `string \| null` | Yes | — |
| `planned_start_date` | `string \| null` | Yes | — |
| `state` | `string` | Yes | — |
| `milestone_id` | `number \| null` | Yes | — |
| `requested_by_id` | `string` | Yes | — |
| `size` | `string \| null` | Yes | — |
| `epic_state_id` | `number` | Yes | — |
| `label_ids` | `number[]` | Yes | — |
| `started_at_override` | `string \| null` | Yes | — |
| `group_id` | `string \| null` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `productboard_id` | `string \| null` | Yes | — |
| `follower_ids` | `string[]` | Yes | — |
| `group_ids` | `string[]` | Yes | — |
| `owner_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `health` | `object` | No | — |
| `position` | `number` | Yes | — |
| `productboard_name` | `string \| null` | Yes | — |
| `deadline` | `string \| null` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string \| null` | Yes | — |

> [accordion] labels full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string | null,
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   updated_at: string | null,
>   external_id: string | null,
>   id: number,
>   created_at: string | null
> }[]
> ```

> [accordion] associated\_groups full type
>
> ```ts theme={null}
> {
>   group_id: string,
>   associated_stories_count?: number
> }[] | null
> ```

> [accordion] comments full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   deleted: boolean,
>   mention_ids: string[],
>   author_id: string,
>   member_mention_ids: string[],
>   comments: (recursive)[],
>   updated_at: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   created_at: string,
>   text: string
> }[]
> ```

> [accordion] health full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   author_id?: string,
>   epic_id?: number,
>   objective_id?: number,
>   updated_at?: string,
>   status: At Risk | On Track | Off Track | No Health | string,
>   id: string | null,
>   created_at?: string,
>   text?: string
> }
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_points_done: number,
>   num_related_documents: number,
>   num_stories_unstarted: number,
>   num_stories_total: number,
>   last_story_update: string | null,
>   num_points_started: number,
>   num_points_unstarted: number,
>   num_stories_started: number,
>   num_stories_unestimated: number,
>   num_stories_backlog: number,
>   num_points_backlog: number,
>   num_points: number,
>   num_stories_done: number
> }
> ```

***

## Create Epic Comment

### post

`createEpicComment.post`

Create Epic Comment

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.createEpicComment.post({"path":{"epicPublicId":1},"body":{"text":"Looks good to me."}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   text: string,
>   author_id?: string,
>   created_at?: string,
>   updated_at?: string,
>   external_id?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `deleted` | `boolean` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `author_id` | `string` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `comments` | `object[]` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `created_at` | `string` | Yes | — |
| `text` | `string` | Yes | — |

> [accordion] comments full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   deleted: boolean,
>   mention_ids: string[],
>   author_id: string,
>   member_mention_ids: string[],
>   comments: (recursive)[],
>   updated_at: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   created_at: string,
>   text: string
> }[]
> ```

***

## Create Epic Comment Comment

### post

`createEpicCommentComment.post`

Create Epic Comment Comment

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.createEpicCommentComment.post({"path":{"epicPublicId":1,"commentPublicId":1},"body":{"text":"Looks good to me."}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number,
>   commentPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   text: string,
>   author_id?: string,
>   created_at?: string,
>   updated_at?: string,
>   external_id?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `deleted` | `boolean` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `author_id` | `string` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `comments` | `object[]` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `created_at` | `string` | Yes | — |
| `text` | `string` | Yes | — |

> [accordion] comments full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   deleted: boolean,
>   mention_ids: string[],
>   author_id: string,
>   member_mention_ids: string[],
>   comments: (recursive)[],
>   updated_at: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   created_at: string,
>   text: string
> }[]
> ```

***

## Create Epic Health

### post

`createEpicHealth.post`

Create Epic Health

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createEpicHealth.post({"path":{"epicPublicId":1},"body":{"status":"At Risk"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   status: At Risk | On Track | Off Track | No Health,
>   text?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `entity_type` | `string` | Yes | — |
| `author_id` | `string` | No | — |
| `epic_id` | `number` | No | — |
| `objective_id` | `number` | No | — |
| `updated_at` | `string` | No | — |
| `status` | `At Risk \| On Track \| Off Track \| No Health \| string` | Yes | — |
| `id` | `string \| null` | Yes | — |
| `created_at` | `string` | No | — |
| `text` | `string` | No | — |

***

## Create Group

### post

`createGroup.post`

Create Group

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createGroup.post({"body":{"mention_name":"platform-team","name":"Platform Team"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   card_aging_mode?: off | gradual | immediate | null,
>   color?: string,
>   card_aging_threshold_days?: number | null,
>   display_icon_id?: string,
>   mention_name: string,
>   name: string,
>   color_key?: blue | purple | midnight-blue | orange | yellow-green | brass | gray | fuchsia | yellow | pink | sky-blue | green | red | black | slate | turquoise,
>   member_ids?: string[],
>   workflow_ids?: number[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `card_aging_mode` | `off \| gradual \| immediate \| string \| null` | Yes | — |
| `color` | `string \| null` | Yes | — |
| `card_aging_threshold_days` | `number \| null` | Yes | — |
| `num_stories_started` | `number` | Yes | — |
| `mention_name` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `color_key` | `blue \| purple \| midnight-blue \| orange \| yellow-green \| brass \| gray \| fuchsia \| yellow \| pink \| sky-blue \| green \| red \| black \| slate \| turquoise \| null` | Yes | — |
| `num_stories` | `number` | Yes | — |
| `num_epics_started` | `number` | Yes | — |
| `creator_id` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `num_stories_backlog` | `number` | Yes | — |
| `id` | `string` | Yes | — |
| `display_icon` | `object \| null` | Yes | — |
| `default_workflow_id` | `number \| null` | No | — |
| `member_ids` | `string[]` | Yes | — |
| `workflow_ids` | `number[]` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] display\_icon full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   id: string,
>   created_at: string,
>   updated_at: string,
>   url: string
> } | null
> ```

***

## Create Iteration

### post

`createIteration.post`

Create Iteration

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createIteration.post({"body":{"name":"Sprint 12","start_date":"2026-12-01","end_date":"2026-12-14"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   follower_ids?: string[],
>   group_ids?: string[],
>   labels?: {
>     name: string,
>     description?: string,
>     color?: string,
>     external_id?: string
>   }[],
>   description?: string,
>   name: string,
>   start_date: string,
>   end_date: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `labels` | `object[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `associated_groups` | `object[] \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `label_ids` | `number[]` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `end_date` | `string` | Yes | — |
| `follower_ids` | `string[]` | Yes | — |
| `group_ids` | `string[]` | Yes | — |
| `start_date` | `string` | Yes | — |
| `status` | `string` | Yes | — |
| `id` | `number` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] labels full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string | null,
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   updated_at: string | null,
>   external_id: string | null,
>   id: number,
>   stats?: {
>     num_related_documents: number,
>     num_epics: number,
>     num_stories_unstarted: number,
>     num_stories_total: number,
>     num_epics_unstarted: number,
>     num_epics_in_progress: number,
>     num_points_unstarted: number,
>     num_stories_unestimated: number,
>     num_points_in_progress: number,
>     num_epics_total: number,
>     num_stories_completed: number,
>     num_points_completed: number,
>     num_stories_backlog: number,
>     num_points_total: number,
>     num_stories_in_progress: number,
>     num_points_backlog: number,
>     num_epics_completed: number
>   },
>   created_at: string | null
> }[]
> ```

> [accordion] associated\_groups full type
>
> ```ts theme={null}
> {
>   group_id: string,
>   associated_stories_count?: number
> }[] | null
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_points_done: number,
>   num_related_documents: number,
>   average_cycle_time?: number,
>   num_stories_unstarted: number,
>   num_points_started: number,
>   num_points_unstarted: number,
>   num_stories_started: number,
>   num_stories_unestimated: number,
>   num_stories_backlog: number,
>   average_lead_time?: number,
>   num_points_backlog: number,
>   num_points: number,
>   num_stories_done: number
> }
> ```

***

## Create Label

### post

`createLabel.post`

Create Label

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createLabel.post({"body":{"name":"needs-review"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name: string,
>   description?: string,
>   color?: string,
>   external_id?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string \| null` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `color` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `stats` | `object` | No | — |
| `created_at` | `string \| null` | Yes | — |

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_related_documents: number,
>   num_epics: number,
>   num_stories_unstarted: number,
>   num_stories_total: number,
>   num_epics_unstarted: number,
>   num_epics_in_progress: number,
>   num_points_unstarted: number,
>   num_stories_unestimated: number,
>   num_points_in_progress: number,
>   num_epics_total: number,
>   num_stories_completed: number,
>   num_points_completed: number,
>   num_stories_backlog: number,
>   num_points_total: number,
>   num_stories_in_progress: number,
>   num_points_backlog: number,
>   num_epics_completed: number
> }
> ```

***

## Create Linked File

### post

`createLinkedFile.post`

Create Linked File

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createLinkedFile.post({"body":{"name":"Design spec","type":"url","url":"https://example.com/design-spec"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   story_id?: number,
>   name: string,
>   thumbnail_url?: string,
>   type: google | url | dropbox | box | onedrive,
>   size?: number,
>   uploader_id?: string,
>   content_type?: string,
>   url: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `description` | `string \| null` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `story_ids` | `number[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `name` | `string` | Yes | — |
| `thumbnail_url` | `string \| null` | Yes | — |
| `type` | `string` | Yes | — |
| `size` | `number \| null` | Yes | — |
| `uploader_id` | `string` | Yes | — |
| `content_type` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `id` | `number` | Yes | — |
| `url` | `string` | Yes | — |
| `created_at` | `string` | Yes | — |

***

## Create Milestone

### post

`createMilestone.post`

Create Milestone

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createMilestone.post({"body":{"name":"Q1 launch"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name: string,
>   description?: string,
>   state?: in progress | to do | done,
>   started_at_override?: string,
>   completed_at_override?: string,
>   categories?: {
>     name: string,
>     color?: string,
>     external_id?: string
>   }[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `started` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `completed_at_override` | `string \| null` | Yes | — |
| `started_at` | `string \| null` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `completed` | `boolean` | Yes | — |
| `state` | `string` | Yes | — |
| `started_at_override` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `categories` | `object[]` | Yes | — |
| `id` | `number` | Yes | — |
| `key_result_ids` | `string[]` | Yes | — |
| `position` | `number` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] categories full type
>
> ```ts theme={null}
> {
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   type: string,
>   updated_at: string,
>   external_id: string | null,
>   id: number,
>   created_at: string
> }[]
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   average_cycle_time?: number,
>   average_lead_time?: number,
>   num_related_documents: number
> }
> ```

***

## Create Multiple Stories

### post

`createMultipleStories.post`

Create Multiple Stories

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createMultipleStories.post({"body":{"stories":[{"name":"Fix login redirect","workflow_state_id":500000001}]}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   stories: {
>     description?: string,
>     archived?: boolean,
>     story_links?: {
>       subject_id?: number,
>       verb: blocks | duplicates | relates to,
>       object_id?: number
>     }[],
>     labels?: {
>       name: string,
>       description?: string,
>       color?: string,
>       external_id?: string
>     }[],
>     story_type?: feature | chore | bug,
>     custom_fields?: {
>       field_id: string,
>       value_id: string,
>       value?: string
>     }[],
>     move_to?: last | first,
>     file_ids?: number[],
>     source_task_id?: number | null,
>     completed_at_override?: string,
>     name: string,
>     comments?: {
>       text: string,
>       author_id?: string,
>       created_at?: string,
>       updated_at?: string,
>       external_id?: string,
>       parent_id?: number | null
>     }[],
>     epic_id?: number | null,
>     story_template_id?: string | null,
>     external_links?: string[],
>     sub_tasks?: (
>       {
>         story_id: number
>       } | {
>         name: string,
>         owner_ids?: string[],
>         workflow_state_id?: number
>       }
>     )[],
>     requested_by_id?: string,
>     iteration_id?: number | null,
>     tasks?: {
>       description: string,
>       complete?: boolean,
>       owner_ids?: string[],
>       external_id?: string,
>       created_at?: string,
>       updated_at?: string
>     }[],
>     started_at_override?: string,
>     group_id?: string | null,
>     workflow_state_id?: number,
>     updated_at?: string,
>     follower_ids?: string[],
>     owner_ids?: string[],
>     external_id?: string,
>     parent_story_id?: number | null,
>     estimate?: number | null,
>     project_id?: number | null,
>     linked_file_ids?: number[],
>     deadline?: string | null,
>     created_at?: string
>   }[]
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   story_links: {
>     entity_type: string,
>     object_id: number,
>     verb: string,
>     type: string,
>     updated_at: string,
>     id: number,
>     subject_id: number,
>     subject_workflow_state_id: number,
>     created_at: string
>   }[],
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   task_ids: number[],
>   mention_ids: string[],
>   synced_item?: {
>     external_id: string,
>     url: string
>   },
>   member_mention_ids: string[],
>   story_type: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value: string
>   }[],
>   file_ids: number[],
>   num_tasks_completed: number,
>   workflow_id: number,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   blocker: boolean,
>   epic_id: number | null,
>   story_template_id: string | null,
>   external_links: string[],
>   previous_iteration_ids: number[],
>   requested_by_id: string,
>   iteration_id: number | null,
>   sub_task_story_ids?: number[],
>   formatted_vcs_branch_name?: string | null,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   workflow_state_id: number,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   follower_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   lead_time?: number,
>   parent_story_id?: number | null,
>   estimate: number | null,
>   position: number,
>   blocked: boolean,
>   project_id: number | null,
>   linked_file_ids: number[],
>   deadline: string | null,
>   stats: {
>     num_related_documents: number
>   },
>   comment_ids: number[],
>   cycle_time?: number,
>   created_at: string,
>   moved_at: string | null
> }[]
> ```

***

## Create Objective

### post

`createObjective.post`

Create Objective

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createObjective.post({"body":{"name":"Reduce churn"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name: string,
>   description?: string,
>   state?: in progress | to do | done,
>   started_at_override?: string,
>   completed_at_override?: string,
>   categories?: {
>     name: string,
>     color?: string,
>     external_id?: string
>   }[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `started` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `completed_at_override` | `string \| null` | Yes | — |
| `started_at` | `string \| null` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `completed` | `boolean` | Yes | — |
| `state` | `string` | Yes | — |
| `started_at_override` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `categories` | `object[]` | Yes | — |
| `id` | `number` | Yes | — |
| `key_result_ids` | `string[]` | Yes | — |
| `position` | `number` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] categories full type
>
> ```ts theme={null}
> {
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   type: string,
>   updated_at: string,
>   external_id: string | null,
>   id: number,
>   created_at: string
> }[]
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   average_cycle_time?: number,
>   average_lead_time?: number,
>   num_related_documents: number
> }
> ```

***

## Create Objective Health

### post

`createObjectiveHealth.post`

Create Objective Health

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createObjectiveHealth.post({"path":{"objectivePublicId":1},"body":{"status":"At Risk"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   objectivePublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   status: At Risk | On Track | Off Track | No Health,
>   text?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `entity_type` | `string` | Yes | — |
| `author_id` | `string` | No | — |
| `epic_id` | `number` | No | — |
| `objective_id` | `number` | No | — |
| `updated_at` | `string` | No | — |
| `status` | `At Risk \| On Track \| Off Track \| No Health \| string` | Yes | — |
| `id` | `string \| null` | Yes | — |
| `created_at` | `string` | No | — |
| `text` | `string` | No | — |

***

## Create Project

### post

`createProject.post`

Create Project

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createProject.post({"body":{"name":"Mobile app","team_id":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   color?: string,
>   name: string,
>   start_time?: string,
>   updated_at?: string,
>   follower_ids?: string[],
>   external_id?: string,
>   team_id: number,
>   iteration_length?: number,
>   abbreviation?: string,
>   created_at?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string \| null` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `days_to_thermometer` | `number` | Yes | — |
| `color` | `string \| null` | Yes | — |
| `workflow_id` | `number` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `start_time` | `string` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `follower_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `show_thermometer` | `boolean` | Yes | — |
| `team_id` | `number` | Yes | — |
| `iteration_length` | `number` | Yes | — |
| `abbreviation` | `string \| null` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string \| null` | Yes | — |

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_stories: number,
>   num_points: number,
>   num_related_documents: number
> }
> ```

***

## Create Story

### post

`createStory.post`

Create Story

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createStory.post({"body":{"name":"Fix login redirect","workflow_state_id":500000001}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   archived?: boolean,
>   story_links?: {
>     subject_id?: number,
>     verb: blocks | duplicates | relates to,
>     object_id?: number
>   }[],
>   labels?: {
>     name: string,
>     description?: string,
>     color?: string,
>     external_id?: string
>   }[],
>   story_type?: feature | chore | bug,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value?: string
>   }[],
>   move_to?: last | first,
>   file_ids?: number[],
>   source_task_id?: number | null,
>   completed_at_override?: string,
>   name: string,
>   comments?: {
>     text: string,
>     author_id?: string,
>     created_at?: string,
>     updated_at?: string,
>     external_id?: string,
>     parent_id?: number | null
>   }[],
>   epic_id?: number | null,
>   story_template_id?: string | null,
>   external_links?: string[],
>   sub_tasks?: (
>     {
>       story_id: number
>     } | {
>       name: string,
>       owner_ids?: string[],
>       workflow_state_id?: number
>     }
>   )[],
>   requested_by_id?: string,
>   iteration_id?: number | null,
>   tasks?: {
>     description: string,
>     complete?: boolean,
>     owner_ids?: string[],
>     external_id?: string,
>     created_at?: string,
>     updated_at?: string
>   }[],
>   started_at_override?: string,
>   group_id?: string | null,
>   workflow_state_id?: number,
>   updated_at?: string,
>   follower_ids?: string[],
>   owner_ids?: string[],
>   external_id?: string,
>   parent_story_id?: number | null,
>   estimate?: number | null,
>   project_id?: number | null,
>   linked_file_ids?: number[],
>   deadline?: string | null,
>   created_at?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `started` | `boolean` | Yes | — |
| `story_links` | `object[]` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `labels` | `object[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `synced_item` | `object` | No | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `story_type` | `string` | Yes | — |
| `custom_fields` | `object[]` | No | — |
| `linked_files` | `object[]` | Yes | — |
| `workflow_id` | `number` | Yes | — |
| `completed_at_override` | `string \| null` | Yes | — |
| `started_at` | `string \| null` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `completed` | `boolean` | Yes | — |
| `comments` | `object[]` | Yes | — |
| `blocker` | `boolean` | Yes | — |
| `branches` | `object[]` | Yes | — |
| `epic_id` | `number \| null` | Yes | — |
| `story_template_id` | `string \| null` | Yes | — |
| `external_links` | `string[]` | Yes | — |
| `previous_iteration_ids` | `number[]` | Yes | — |
| `requested_by_id` | `string` | Yes | — |
| `iteration_id` | `number \| null` | Yes | — |
| `sub_task_story_ids` | `number[]` | No | — |
| `tasks` | `object[]` | Yes | — |
| `formatted_vcs_branch_name` | `string \| null` | No | — |
| `label_ids` | `number[]` | Yes | — |
| `started_at_override` | `string \| null` | Yes | — |
| `group_id` | `string \| null` | Yes | — |
| `workflow_state_id` | `number` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `pull_requests` | `object[]` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `follower_ids` | `string[]` | Yes | — |
| `owner_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `lead_time` | `number` | No | — |
| `parent_story_id` | `number \| null` | No | — |
| `estimate` | `number \| null` | Yes | — |
| `commits` | `object[]` | Yes | — |
| `files` | `object[]` | Yes | — |
| `position` | `number` | Yes | — |
| `blocked` | `boolean` | Yes | — |
| `project_id` | `number \| null` | Yes | — |
| `deadline` | `string \| null` | Yes | — |
| `stats` | `object` | Yes | — |
| `cycle_time` | `number` | No | — |
| `created_at` | `string` | Yes | — |
| `moved_at` | `string \| null` | Yes | — |

> [accordion] story\_links full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   object_id: number,
>   verb: string,
>   type: string,
>   updated_at: string,
>   id: number,
>   subject_id: number,
>   subject_workflow_state_id: number,
>   created_at: string
> }[]
> ```

> [accordion] labels full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string | null,
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   updated_at: string | null,
>   external_id: string | null,
>   id: number,
>   created_at: string | null
> }[]
> ```

> [accordion] synced\_item full type
>
> ```ts theme={null}
> {
>   external_id: string,
>   url: string
> }
> ```

> [accordion] custom\_fields full type
>
> ```ts theme={null}
> {
>   field_id: string,
>   value_id: string,
>   value: string
> }[]
> ```

> [accordion] linked\_files full type
>
> ```ts theme={null}
> {
>   description: string | null,
>   entity_type: string,
>   story_ids: number[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   name: string,
>   thumbnail_url: string | null,
>   type: string,
>   size: number | null,
>   uploader_id: string,
>   content_type: string | null,
>   updated_at: string,
>   group_mention_ids: string[],
>   id: number,
>   url: string,
>   created_at: string
> }[]
> ```

> [accordion] comments full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   deleted: boolean,
>   story_id: number,
>   mention_ids: string[],
>   author_id: string | null,
>   member_mention_ids: string[],
>   blocker?: boolean,
>   linked_to_slack: boolean,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   external_id: string | null,
>   parent_id?: number | null,
>   id: number,
>   position: number,
>   unblocks_parent?: boolean,
>   reactions: {
>     emoji: string,
>     permission_ids: string[]
>   }[],
>   created_at: string,
>   text: string | null
> }[]
> ```

> [accordion] branches full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   deleted: boolean,
>   name: string,
>   persistent: boolean,
>   updated_at: string | null,
>   pull_requests: {
>     entity_type: string,
>     closed: boolean,
>     merged: boolean,
>     num_added: number,
>     branch_id: number,
>     overlapping_stories?: number[],
>     number: number,
>     branch_name: string,
>     target_branch_name: string,
>     num_commits: number | null,
>     title: string,
>     updated_at: string,
>     has_overlapping_stories: boolean,
>     draft: boolean,
>     id: number,
>     vcs_labels?: {
>       entity_type: string,
>       id: number,
>       color: string,
>       description?: string | null,
>       name: string
>     }[] | null,
>     url: string,
>     num_removed: number,
>     review_status?: string,
>     num_modified: number | null,
>     build_status?: string,
>     target_branch_id: number,
>     repository_id: number,
>     created_at: string
>   }[],
>   merged_branch_ids: number[],
>   id: number | null,
>   url: string,
>   repository_id: number,
>   created_at: string | null
> }[]
> ```

> [accordion] tasks full type
>
> ```ts theme={null}
> {
>   description: string,
>   entity_type: string,
>   story_id: number,
>   mention_ids: string[],
>   member_mention_ids: string[],
>   completed_at: string | null,
>   global_id: string,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   position: number,
>   complete: boolean,
>   created_at: string
> }[]
> ```

> [accordion] pull\_requests full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   closed: boolean,
>   merged: boolean,
>   num_added: number,
>   branch_id: number,
>   overlapping_stories?: number[],
>   number: number,
>   branch_name: string,
>   target_branch_name: string,
>   num_commits: number | null,
>   title: string,
>   updated_at: string,
>   has_overlapping_stories: boolean,
>   draft: boolean,
>   id: number,
>   vcs_labels?: {
>     entity_type: string,
>     id: number,
>     color: string,
>     description?: string | null,
>     name: string
>   }[] | null,
>   url: string,
>   num_removed: number,
>   review_status?: string,
>   num_modified: number | null,
>   build_status?: string,
>   target_branch_id: number,
>   repository_id: number,
>   created_at: string
> }[]
> ```

> [accordion] commits full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   author_id: string | null,
>   hash: string,
>   updated_at: string | null,
>   id: number | null,
>   url: string,
>   author_email: string,
>   timestamp: string,
>   author_identity: {
>     entity_type: string,
>     name: string | null,
>     type: slack | github | gitlab | bitbucket | string | null
>   },
>   repository_id: number | null,
>   created_at: string,
>   message: string
> }[]
> ```

> [accordion] files full type
>
> ```ts theme={null}
> {
>   description: string | null,
>   entity_type: string,
>   story_ids: number[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   name: string,
>   thumbnail_url: string | null,
>   size: number,
>   uploader_id: string,
>   content_type: string,
>   updated_at: string | null,
>   filename: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   url: string | null,
>   created_at: string
> }[]
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_related_documents: number
> }
> ```

***

## Create Story Comment

### post

`createStoryComment.post`

Create Story Comment

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.createStoryComment.post({"path":{"storyPublicId":1},"body":{"text":"Looks good to me."}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   text: string,
>   author_id?: string,
>   created_at?: string,
>   updated_at?: string,
>   external_id?: string,
>   parent_id?: number | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `deleted` | `boolean` | Yes | — |
| `story_id` | `number` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `author_id` | `string \| null` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `blocker` | `boolean` | No | — |
| `linked_to_slack` | `boolean` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `parent_id` | `number \| null` | No | — |
| `id` | `number` | Yes | — |
| `position` | `number` | Yes | — |
| `unblocks_parent` | `boolean` | No | — |
| `reactions` | `object[]` | Yes | — |
| `created_at` | `string` | Yes | — |
| `text` | `string \| null` | Yes | — |

> [accordion] reactions full type
>
> ```ts theme={null}
> {
>   emoji: string,
>   permission_ids: string[]
> }[]
> ```

***

## Create Story From Template

### post

`createStoryFromTemplate.post`

Create Story From Template

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createStoryFromTemplate.post({"body":{"story_template_id":"12345678-9012-3456-7890-123456789012"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   archived?: boolean,
>   story_links?: {
>     subject_id?: number,
>     verb: blocks | duplicates | relates to,
>     object_id?: number
>   }[],
>   labels?: {
>     name: string,
>     description?: string,
>     color?: string,
>     external_id?: string
>   }[],
>   external_links_add?: string[],
>   story_type?: feature | chore | bug,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value?: string
>   }[],
>   move_to?: last | first,
>   file_ids?: number[],
>   source_task_id?: number | null,
>   completed_at_override?: string,
>   name?: string,
>   file_ids_add?: number[],
>   file_ids_remove?: number[],
>   comments?: {
>     text: string,
>     author_id?: string,
>     created_at?: string,
>     updated_at?: string,
>     external_id?: string,
>     parent_id?: number | null
>   }[],
>   follower_ids_add?: string[],
>   epic_id?: number | null,
>   story_template_id: string,
>   external_links?: string[],
>   follower_ids_remove?: string[],
>   sub_tasks?: (
>     {
>       story_id: number
>     } | {
>       name: string,
>       owner_ids?: string[],
>       workflow_state_id?: number
>     }
>   )[],
>   linked_file_ids_remove?: number[],
>   requested_by_id?: string,
>   iteration_id?: number | null,
>   custom_fields_remove?: {
>     field_id: string
>   }[],
>   tasks?: {
>     description: string,
>     complete?: boolean,
>     owner_ids?: string[],
>     external_id?: string,
>     created_at?: string,
>     updated_at?: string
>   }[],
>   started_at_override?: string,
>   labels_add?: {
>     name: string,
>     description?: string,
>     color?: string,
>     external_id?: string
>   }[],
>   group_id?: string | null,
>   workflow_state_id?: number,
>   updated_at?: string,
>   follower_ids?: string[],
>   owner_ids?: string[],
>   external_id?: string,
>   parent_story_id?: number | null,
>   estimate?: number | null,
>   owner_ids_remove?: string[],
>   custom_fields_add?: {
>     field_id: string,
>     value_id: string,
>     value?: string
>   }[],
>   project_id?: number | null,
>   linked_file_ids_add?: number[],
>   linked_file_ids?: number[],
>   labels_remove?: {
>     name: string
>   }[],
>   deadline?: string | null,
>   owner_ids_add?: string[],
>   created_at?: string,
>   external_links_remove?: string[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `started` | `boolean` | Yes | — |
| `story_links` | `object[]` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `labels` | `object[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `synced_item` | `object` | No | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `story_type` | `string` | Yes | — |
| `custom_fields` | `object[]` | No | — |
| `linked_files` | `object[]` | Yes | — |
| `workflow_id` | `number` | Yes | — |
| `completed_at_override` | `string \| null` | Yes | — |
| `started_at` | `string \| null` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `completed` | `boolean` | Yes | — |
| `comments` | `object[]` | Yes | — |
| `blocker` | `boolean` | Yes | — |
| `branches` | `object[]` | Yes | — |
| `epic_id` | `number \| null` | Yes | — |
| `story_template_id` | `string \| null` | Yes | — |
| `external_links` | `string[]` | Yes | — |
| `previous_iteration_ids` | `number[]` | Yes | — |
| `requested_by_id` | `string` | Yes | — |
| `iteration_id` | `number \| null` | Yes | — |
| `sub_task_story_ids` | `number[]` | No | — |
| `tasks` | `object[]` | Yes | — |
| `formatted_vcs_branch_name` | `string \| null` | No | — |
| `label_ids` | `number[]` | Yes | — |
| `started_at_override` | `string \| null` | Yes | — |
| `group_id` | `string \| null` | Yes | — |
| `workflow_state_id` | `number` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `pull_requests` | `object[]` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `follower_ids` | `string[]` | Yes | — |
| `owner_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `lead_time` | `number` | No | — |
| `parent_story_id` | `number \| null` | No | — |
| `estimate` | `number \| null` | Yes | — |
| `commits` | `object[]` | Yes | — |
| `files` | `object[]` | Yes | — |
| `position` | `number` | Yes | — |
| `blocked` | `boolean` | Yes | — |
| `project_id` | `number \| null` | Yes | — |
| `deadline` | `string \| null` | Yes | — |
| `stats` | `object` | Yes | — |
| `cycle_time` | `number` | No | — |
| `created_at` | `string` | Yes | — |
| `moved_at` | `string \| null` | Yes | — |

> [accordion] story\_links full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   object_id: number,
>   verb: string,
>   type: string,
>   updated_at: string,
>   id: number,
>   subject_id: number,
>   subject_workflow_state_id: number,
>   created_at: string
> }[]
> ```

> [accordion] labels full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string | null,
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   updated_at: string | null,
>   external_id: string | null,
>   id: number,
>   created_at: string | null
> }[]
> ```

> [accordion] synced\_item full type
>
> ```ts theme={null}
> {
>   external_id: string,
>   url: string
> }
> ```

> [accordion] custom\_fields full type
>
> ```ts theme={null}
> {
>   field_id: string,
>   value_id: string,
>   value: string
> }[]
> ```

> [accordion] linked\_files full type
>
> ```ts theme={null}
> {
>   description: string | null,
>   entity_type: string,
>   story_ids: number[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   name: string,
>   thumbnail_url: string | null,
>   type: string,
>   size: number | null,
>   uploader_id: string,
>   content_type: string | null,
>   updated_at: string,
>   group_mention_ids: string[],
>   id: number,
>   url: string,
>   created_at: string
> }[]
> ```

> [accordion] comments full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   deleted: boolean,
>   story_id: number,
>   mention_ids: string[],
>   author_id: string | null,
>   member_mention_ids: string[],
>   blocker?: boolean,
>   linked_to_slack: boolean,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   external_id: string | null,
>   parent_id?: number | null,
>   id: number,
>   position: number,
>   unblocks_parent?: boolean,
>   reactions: {
>     emoji: string,
>     permission_ids: string[]
>   }[],
>   created_at: string,
>   text: string | null
> }[]
> ```

> [accordion] branches full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   deleted: boolean,
>   name: string,
>   persistent: boolean,
>   updated_at: string | null,
>   pull_requests: {
>     entity_type: string,
>     closed: boolean,
>     merged: boolean,
>     num_added: number,
>     branch_id: number,
>     overlapping_stories?: number[],
>     number: number,
>     branch_name: string,
>     target_branch_name: string,
>     num_commits: number | null,
>     title: string,
>     updated_at: string,
>     has_overlapping_stories: boolean,
>     draft: boolean,
>     id: number,
>     vcs_labels?: {
>       entity_type: string,
>       id: number,
>       color: string,
>       description?: string | null,
>       name: string
>     }[] | null,
>     url: string,
>     num_removed: number,
>     review_status?: string,
>     num_modified: number | null,
>     build_status?: string,
>     target_branch_id: number,
>     repository_id: number,
>     created_at: string
>   }[],
>   merged_branch_ids: number[],
>   id: number | null,
>   url: string,
>   repository_id: number,
>   created_at: string | null
> }[]
> ```

> [accordion] tasks full type
>
> ```ts theme={null}
> {
>   description: string,
>   entity_type: string,
>   story_id: number,
>   mention_ids: string[],
>   member_mention_ids: string[],
>   completed_at: string | null,
>   global_id: string,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   position: number,
>   complete: boolean,
>   created_at: string
> }[]
> ```

> [accordion] pull\_requests full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   closed: boolean,
>   merged: boolean,
>   num_added: number,
>   branch_id: number,
>   overlapping_stories?: number[],
>   number: number,
>   branch_name: string,
>   target_branch_name: string,
>   num_commits: number | null,
>   title: string,
>   updated_at: string,
>   has_overlapping_stories: boolean,
>   draft: boolean,
>   id: number,
>   vcs_labels?: {
>     entity_type: string,
>     id: number,
>     color: string,
>     description?: string | null,
>     name: string
>   }[] | null,
>   url: string,
>   num_removed: number,
>   review_status?: string,
>   num_modified: number | null,
>   build_status?: string,
>   target_branch_id: number,
>   repository_id: number,
>   created_at: string
> }[]
> ```

> [accordion] commits full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   author_id: string | null,
>   hash: string,
>   updated_at: string | null,
>   id: number | null,
>   url: string,
>   author_email: string,
>   timestamp: string,
>   author_identity: {
>     entity_type: string,
>     name: string | null,
>     type: slack | github | gitlab | bitbucket | string | null
>   },
>   repository_id: number | null,
>   created_at: string,
>   message: string
> }[]
> ```

> [accordion] files full type
>
> ```ts theme={null}
> {
>   description: string | null,
>   entity_type: string,
>   story_ids: number[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   name: string,
>   thumbnail_url: string | null,
>   size: number,
>   uploader_id: string,
>   content_type: string,
>   updated_at: string | null,
>   filename: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   url: string | null,
>   created_at: string
> }[]
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_related_documents: number
> }
> ```

***

## Create Story Link

### post

`createStoryLink.post`

Create Story Link

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createStoryLink.post({"body":{"verb":"blocks","subject_id":1,"object_id":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   verb: blocks | duplicates | relates to,
>   subject_id: number,
>   object_id: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `entity_type` | `string` | Yes | — |
| `id` | `number` | Yes | — |
| `subject_id` | `number` | Yes | — |
| `subject_workflow_state_id` | `number` | Yes | — |
| `verb` | `string` | Yes | — |
| `object_id` | `number` | Yes | — |
| `created_at` | `string` | Yes | — |
| `updated_at` | `string` | Yes | — |

***

## Create Story Reaction

### post

`createStoryReaction.post`

Create Story Reaction

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createStoryReaction.post({"path":{"storyPublicId":1,"commentPublicId":1},"body":{"emoji":":thumbsup:"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number,
>   commentPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   emoji: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   emoji: string,
>   permission_ids: string[]
> }[]
> ```

***

## Create Task

### post

`createTask.post`

Create Task

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.createTask.post({"path":{"storyPublicId":1},"body":{"description":"Add a regression test"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description: string,
>   complete?: boolean,
>   owner_ids?: string[],
>   external_id?: string,
>   created_at?: string,
>   updated_at?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `description` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `story_id` | `number` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `global_id` | `string` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `owner_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `position` | `number` | Yes | — |
| `complete` | `boolean` | Yes | — |
| `created_at` | `string` | Yes | — |

***

## Delete Category

### delete

`deleteCategory.delete`

Delete Category

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteCategory.delete({"path":{"categoryPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   categoryPublicId: number
> }
> ```

**Output:** `undefined`

***

## Delete Custom Field

### delete

`deleteCustomField.delete`

Delete Custom Field

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteCustomField.delete({"path":{"customFieldPublicId":"12345678-9012-3456-7890-123456789012"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   customFieldPublicId: string
> }
> ```

**Output:** `undefined`

***

## Delete Doc

### delete

`deleteDoc.delete`

Delete Doc

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteDoc.delete({"path":{"docPublicId":"12345678-9012-3456-7890-123456789012"},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   docPublicId: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   content_format?: markdown | html
> }
> ```

**Output:** `undefined`

***

## Delete Entity Template

### delete

`deleteEntityTemplate.delete`

Delete Entity Template

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteEntityTemplate.delete({"path":{"entityTemplatePublicId":"12345678-9012-3456-7890-123456789012"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   entityTemplatePublicId: string
> }
> ```

**Output:** `undefined`

***

## Delete Epic

### delete

`deleteEpic.delete`

Delete Epic

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteEpic.delete({"path":{"epicPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number
> }
> ```

**Output:** `undefined`

***

## Delete Epic Comment

### delete

`deleteEpicComment.delete`

Delete Epic Comment

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteEpicComment.delete({"path":{"epicPublicId":1,"commentPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number,
>   commentPublicId: number
> }
> ```

**Output:** `undefined`

***

## Delete File

### delete

`deleteFile.delete`

Delete File

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteFile.delete({"path":{"filePublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   filePublicId: number
> }
> ```

**Output:** `undefined`

***

## Delete Iteration

### delete

`deleteIteration.delete`

Delete Iteration

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteIteration.delete({"path":{"iterationPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   iterationPublicId: number
> }
> ```

**Output:** `undefined`

***

## Delete Label

### delete

`deleteLabel.delete`

Delete Label

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteLabel.delete({"path":{"labelPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   labelPublicId: number
> }
> ```

**Output:** `undefined`

***

## Delete Linked File

### delete

`deleteLinkedFile.delete`

Delete Linked File

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteLinkedFile.delete({"path":{"linkedFilePublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   linkedFilePublicId: number
> }
> ```

**Output:** `undefined`

***

## Delete Milestone

### delete

`deleteMilestone.delete`

Delete Milestone

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteMilestone.delete({"path":{"milestonePublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   milestonePublicId: number
> }
> ```

**Output:** `undefined`

***

## Delete Multiple Stories

### delete

`deleteMultipleStories.delete`

Delete Multiple Stories

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteMultipleStories.delete({"body":{"story_ids":[1]}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   story_ids: number[]
> }
> ```

**Output:** `undefined`

***

## Delete Objective

### delete

`deleteObjective.delete`

Delete Objective

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteObjective.delete({"path":{"objectivePublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   objectivePublicId: number
> }
> ```

**Output:** `undefined`

***

## Delete Project

### delete

`deleteProject.delete`

Delete Project

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteProject.delete({"path":{"projectPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   projectPublicId: number
> }
> ```

**Output:** `undefined`

***

## Delete Story

### delete

`deleteStory.delete`

Delete Story

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteStory.delete({"path":{"storyPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number
> }
> ```

**Output:** `undefined`

***

## Delete Story Comment

### delete

`deleteStoryComment.delete`

Delete Story Comment

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteStoryComment.delete({"path":{"storyPublicId":1,"commentPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number,
>   commentPublicId: number
> }
> ```

**Output:** `undefined`

***

## Delete Story Link

### delete

`deleteStoryLink.delete`

Delete Story Link

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteStoryLink.delete({"path":{"storyLinkPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyLinkPublicId: number
> }
> ```

**Output:** `undefined`

***

## Delete Story Reaction

### delete

`deleteStoryReaction.delete`

Delete Story Reaction

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteStoryReaction.delete({"path":{"storyPublicId":1,"commentPublicId":1},"body":{"emoji":":thumbsup:"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number,
>   commentPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   emoji: string
> }
> ```

**Output:** `undefined`

***

## Delete Task

### delete

`deleteTask.delete`

Delete Task

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.deleteTask.delete({"path":{"storyPublicId":1,"taskPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number,
>   taskPublicId: number
> }
> ```

**Output:** `undefined`

***

## Disable Iterations

### put

`disableIterations.put`

Disable Iterations

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.disableIterations.put({});
```

**Input:** *empty object*

**Output:** `undefined`

***

## Disable Story Templates

### put

`disableStoryTemplates.put`

Disable Story Templates

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.disableStoryTemplates.put({});
```

**Input:** *empty object*

**Output:** `undefined`

***

## Enable Iterations

### put

`enableIterations.put`

Enable Iterations

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.enableIterations.put({});
```

**Input:** *empty object*

**Output:** `undefined`

***

## Enable Story Templates

### put

`enableStoryTemplates.put`

Enable Story Templates

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.enableStoryTemplates.put({});
```

**Input:** *empty object*

**Output:** `undefined`

***

## Get Category

### get

`getCategory.get`

Get Category

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getCategory.get({"path":{"categoryPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   categoryPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `archived` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `color` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `type` | `string` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `created_at` | `string` | Yes | — |

***

## Get Current Member Info

### get

`getCurrentMemberInfo.get`

Get Current Member Info

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getCurrentMemberInfo.get({});
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `is_owner` | `boolean` | Yes | — |
| `mention_name` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `role` | `string` | Yes | — |
| `workspace2` | `object` | Yes | — |
| `organization2` | `object` | Yes | — |

> [accordion] workspace2 full type
>
> ```ts theme={null}
> {
>   id: string,
>   created_at: string,
>   default_workflow_id: number,
>   estimate_scale: number[],
>   name: string,
>   url_slug: string,
>   utc_offset: string,
>   korey_enabled?: boolean
> }
> ```

> [accordion] organization2 full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

***

## Get Custom Field

### get

`getCustomField.get`

Get Custom Field

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getCustomField.get({"path":{"customFieldPublicId":"12345678-9012-3456-7890-123456789012"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   customFieldPublicId: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `description` | `string` | No | — |
| `icon_set_identifier` | `string` | No | — |
| `entity_type` | `custom-field \| string` | Yes | — |
| `story_types` | `string[]` | No | — |
| `last_edited_by_id` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `fixed_position` | `boolean` | No | — |
| `creator_id` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `id` | `string` | Yes | — |
| `values` | `object[]` | No | — |
| `last_edited_at` | `string \| null` | Yes | — |
| `field_type` | `enum \| string` | Yes | — |
| `position` | `number` | Yes | — |
| `canonical_name` | `string` | No | — |
| `enabled` | `boolean` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] values full type
>
> ```ts theme={null}
> {
>   id: string,
>   value: string,
>   position: number,
>   color_key: string | null,
>   entity_type: custom-field-enum-value | string,
>   enabled: boolean
> }[]
> ```

***

## Get Doc

### get

`getDoc.get`

Get Doc

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getDoc.get({"path":{"docPublicId":"12345678-9012-3456-7890-123456789012"},"query":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | Yes | — |

Use `content_format: html` to include HTML content; the default response format is Markdown.

> [accordion] path full type
>
> ```ts theme={null}
> {
>   docPublicId: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   content_format?: markdown | html
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `title` | `string \| null` | Yes | — |
| `content_markdown` | `string \| null` | Yes | — |
| `content_html` | `string \| null` | No | — |
| `app_url` | `string` | Yes | — |
| `created_at` | `string` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |

***

## Get Entity Template

### get

`getEntityTemplate.get`

Get Entity Template

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getEntityTemplate.get({"path":{"entityTemplatePublicId":"12345678-9012-3456-7890-123456789012"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   entityTemplatePublicId: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `entity_type` | `string` | Yes | — |
| `id` | `string` | Yes | — |
| `created_at` | `string` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `author_id` | `string` | Yes | — |
| `last_used_at` | `string` | Yes | — |
| `story_contents` | `object` | Yes | — |

> [accordion] story\_contents full type
>
> ```ts theme={null}
> {
>   description?: string,
>   entity_type?: string,
>   labels?: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   story_type?: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value?: string
>   }[],
>   linked_files?: {
>     description: string | null,
>     entity_type: string,
>     story_ids: number[],
>     mention_ids: string[],
>     member_mention_ids: string[],
>     name: string,
>     thumbnail_url: string | null,
>     type: string,
>     size: number | null,
>     uploader_id: string,
>     content_type: string | null,
>     updated_at: string,
>     group_mention_ids: string[],
>     id: number,
>     url: string,
>     created_at: string
>   }[],
>   name?: string,
>   epic_id?: number,
>   external_links?: string[],
>   sub_tasks?: {
>     name: string,
>     owner_ids?: string[],
>     workflow_state_id?: number
>   }[],
>   iteration_id?: number,
>   tasks?: {
>     description: string,
>     position?: number,
>     complete?: boolean,
>     owner_ids?: string[],
>     external_id?: string | null
>   }[],
>   label_ids?: number[],
>   group_id?: string,
>   workflow_state_id?: number,
>   follower_ids?: string[],
>   owner_ids?: string[],
>   estimate?: number,
>   files?: {
>     description: string | null,
>     entity_type: string,
>     story_ids: number[],
>     mention_ids: string[],
>     member_mention_ids: string[],
>     name: string,
>     thumbnail_url: string | null,
>     size: number,
>     uploader_id: string,
>     content_type: string,
>     updated_at: string | null,
>     filename: string,
>     group_mention_ids: string[],
>     external_id: string | null,
>     id: number,
>     url: string | null,
>     created_at: string
>   }[],
>   project_id?: number,
>   deadline?: string
> }
> ```

***

## Get Epic

### get

`getEpic.get`

Get Epic

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getEpic.get({"path":{"epicPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `started` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `labels` | `object[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `associated_groups` | `object[] \| null` | Yes | — |
| `project_ids` | `number[]` | Yes | — |
| `stories_without_projects` | `number` | Yes | — |
| `completed_at_override` | `string \| null` | Yes | — |
| `productboard_plugin_id` | `string \| null` | Yes | — |
| `started_at` | `string \| null` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `objective_ids` | `number[]` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `completed` | `boolean` | Yes | — |
| `comments` | `object[]` | Yes | — |
| `productboard_url` | `string \| null` | Yes | — |
| `planned_start_date` | `string \| null` | Yes | — |
| `state` | `string` | Yes | — |
| `milestone_id` | `number \| null` | Yes | — |
| `requested_by_id` | `string` | Yes | — |
| `size` | `string \| null` | Yes | — |
| `epic_state_id` | `number` | Yes | — |
| `label_ids` | `number[]` | Yes | — |
| `started_at_override` | `string \| null` | Yes | — |
| `group_id` | `string \| null` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `productboard_id` | `string \| null` | Yes | — |
| `follower_ids` | `string[]` | Yes | — |
| `group_ids` | `string[]` | Yes | — |
| `owner_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `health` | `object` | No | — |
| `position` | `number` | Yes | — |
| `productboard_name` | `string \| null` | Yes | — |
| `deadline` | `string \| null` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string \| null` | Yes | — |

> [accordion] labels full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string | null,
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   updated_at: string | null,
>   external_id: string | null,
>   id: number,
>   created_at: string | null
> }[]
> ```

> [accordion] associated\_groups full type
>
> ```ts theme={null}
> {
>   group_id: string,
>   associated_stories_count?: number
> }[] | null
> ```

> [accordion] comments full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   deleted: boolean,
>   mention_ids: string[],
>   author_id: string,
>   member_mention_ids: string[],
>   comments: (recursive)[],
>   updated_at: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   created_at: string,
>   text: string
> }[]
> ```

> [accordion] health full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   author_id?: string,
>   epic_id?: number,
>   objective_id?: number,
>   updated_at?: string,
>   status: At Risk | On Track | Off Track | No Health | string,
>   id: string | null,
>   created_at?: string,
>   text?: string
> }
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_points_done: number,
>   num_related_documents: number,
>   num_stories_unstarted: number,
>   num_stories_total: number,
>   last_story_update: string | null,
>   num_points_started: number,
>   num_points_unstarted: number,
>   num_stories_started: number,
>   num_stories_unestimated: number,
>   num_stories_backlog: number,
>   num_points_backlog: number,
>   num_points: number,
>   num_stories_done: number
> }
> ```

***

## Get Epic Comment

### get

`getEpicComment.get`

Get Epic Comment

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getEpicComment.get({"path":{"epicPublicId":1,"commentPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number,
>   commentPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `deleted` | `boolean` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `author_id` | `string` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `comments` | `object[]` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `created_at` | `string` | Yes | — |
| `text` | `string` | Yes | — |

> [accordion] comments full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   deleted: boolean,
>   mention_ids: string[],
>   author_id: string,
>   member_mention_ids: string[],
>   comments: (recursive)[],
>   updated_at: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   created_at: string,
>   text: string
> }[]
> ```

***

## Get Epic Health

### get

`getEpicHealth.get`

Get Epic Health

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getEpicHealth.get({"path":{"epicPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `entity_type` | `string` | Yes | — |
| `author_id` | `string` | No | — |
| `epic_id` | `number` | No | — |
| `objective_id` | `number` | No | — |
| `updated_at` | `string` | No | — |
| `status` | `At Risk \| On Track \| Off Track \| No Health \| string` | Yes | — |
| `id` | `string \| null` | Yes | — |
| `created_at` | `string` | No | — |
| `text` | `string` | No | — |

***

## Get Epic Workflow

### get

`getEpicWorkflow.get`

Get Epic Workflow

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getEpicWorkflow.get({});
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `entity_type` | `string` | Yes | — |
| `id` | `number` | Yes | — |
| `created_at` | `string` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `default_epic_state_id` | `number` | Yes | — |
| `epic_states` | `object[]` | Yes | — |

> [accordion] epic\_states full type
>
> ```ts theme={null}
> {
>   description: string,
>   entity_type: string,
>   color?: string,
>   name: string,
>   global_id: string,
>   type: string,
>   updated_at: string,
>   id: number,
>   position: number,
>   created_at: string
> }[]
> ```

***

## Get External Link Stories

### get

`getExternalLinkStories.get`

Get External Link Stories

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getExternalLinkStories.get({"query":{"external_link":"https://github.com/acme/app/issues/42"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   external_link: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   story_links: {
>     entity_type: string,
>     object_id: number,
>     verb: string,
>     type: string,
>     updated_at: string,
>     id: number,
>     subject_id: number,
>     subject_workflow_state_id: number,
>     created_at: string
>   }[],
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   task_ids: number[],
>   mention_ids: string[],
>   synced_item?: {
>     external_id: string,
>     url: string
>   },
>   member_mention_ids: string[],
>   story_type: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value: string
>   }[],
>   file_ids: number[],
>   num_tasks_completed: number,
>   workflow_id: number,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   blocker: boolean,
>   epic_id: number | null,
>   story_template_id: string | null,
>   external_links: string[],
>   previous_iteration_ids: number[],
>   requested_by_id: string,
>   iteration_id: number | null,
>   sub_task_story_ids?: number[],
>   formatted_vcs_branch_name?: string | null,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   workflow_state_id: number,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   follower_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   lead_time?: number,
>   parent_story_id?: number | null,
>   estimate: number | null,
>   position: number,
>   blocked: boolean,
>   project_id: number | null,
>   linked_file_ids: number[],
>   deadline: string | null,
>   stats: {
>     num_related_documents: number
>   },
>   comment_ids: number[],
>   cycle_time?: number,
>   created_at: string,
>   moved_at: string | null
> }[]
> ```

***

## Get File

### get

`getFile.get`

Get File

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getFile.get({"path":{"filePublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   filePublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `description` | `string \| null` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `story_ids` | `number[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `name` | `string` | Yes | — |
| `thumbnail_url` | `string \| null` | Yes | — |
| `size` | `number` | Yes | — |
| `uploader_id` | `string` | Yes | — |
| `content_type` | `string` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `filename` | `string` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `url` | `string \| null` | Yes | — |
| `created_at` | `string` | Yes | — |

***

## Get Group

### get

`getGroup.get`

Get Group

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getGroup.get({"path":{"groupPublicId":"12345678-9012-3456-7890-123456789012"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   groupPublicId: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `card_aging_mode` | `off \| gradual \| immediate \| string \| null` | Yes | — |
| `color` | `string \| null` | Yes | — |
| `card_aging_threshold_days` | `number \| null` | Yes | — |
| `num_stories_started` | `number` | Yes | — |
| `mention_name` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `color_key` | `blue \| purple \| midnight-blue \| orange \| yellow-green \| brass \| gray \| fuchsia \| yellow \| pink \| sky-blue \| green \| red \| black \| slate \| turquoise \| null` | Yes | — |
| `num_stories` | `number` | Yes | — |
| `num_epics_started` | `number` | Yes | — |
| `creator_id` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `num_stories_backlog` | `number` | Yes | — |
| `id` | `string` | Yes | — |
| `display_icon` | `object \| null` | Yes | — |
| `default_workflow_id` | `number \| null` | No | — |
| `member_ids` | `string[]` | Yes | — |
| `workflow_ids` | `number[]` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] display\_icon full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   id: string,
>   created_at: string,
>   updated_at: string,
>   url: string
> } | null
> ```

***

## Get Iteration

### get

`getIteration.get`

Get Iteration

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getIteration.get({"path":{"iterationPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   iterationPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `labels` | `object[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `associated_groups` | `object[] \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `label_ids` | `number[]` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `end_date` | `string` | Yes | — |
| `follower_ids` | `string[]` | Yes | — |
| `group_ids` | `string[]` | Yes | — |
| `start_date` | `string` | Yes | — |
| `status` | `string` | Yes | — |
| `id` | `number` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] labels full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string | null,
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   updated_at: string | null,
>   external_id: string | null,
>   id: number,
>   stats?: {
>     num_related_documents: number,
>     num_epics: number,
>     num_stories_unstarted: number,
>     num_stories_total: number,
>     num_epics_unstarted: number,
>     num_epics_in_progress: number,
>     num_points_unstarted: number,
>     num_stories_unestimated: number,
>     num_points_in_progress: number,
>     num_epics_total: number,
>     num_stories_completed: number,
>     num_points_completed: number,
>     num_stories_backlog: number,
>     num_points_total: number,
>     num_stories_in_progress: number,
>     num_points_backlog: number,
>     num_epics_completed: number
>   },
>   created_at: string | null
> }[]
> ```

> [accordion] associated\_groups full type
>
> ```ts theme={null}
> {
>   group_id: string,
>   associated_stories_count?: number
> }[] | null
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_points_done: number,
>   num_related_documents: number,
>   average_cycle_time?: number,
>   num_stories_unstarted: number,
>   num_points_started: number,
>   num_points_unstarted: number,
>   num_stories_started: number,
>   num_stories_unestimated: number,
>   num_stories_backlog: number,
>   average_lead_time?: number,
>   num_points_backlog: number,
>   num_points: number,
>   num_stories_done: number
> }
> ```

***

## Get Key Result

### get

`getKeyResult.get`

Get Key Result

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getKeyResult.get({"path":{"keyResultPublicId":"12345678-9012-3456-7890-123456789012"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   keyResultPublicId: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `objective_id` | `number` | Yes | — |
| `type` | `percent \| boolean \| numeric \| string` | Yes | — |
| `initial_observed_value` | `object` | Yes | — |
| `current_observed_value` | `object` | Yes | — |
| `current_target_value` | `object` | Yes | — |
| `progress` | `number` | Yes | — |

> [accordion] initial\_observed\_value full type
>
> ```ts theme={null}
> {
>   numeric_value?: string,
>   boolean_value?: boolean
> }
> ```

> [accordion] current\_observed\_value full type
>
> ```ts theme={null}
> {
>   numeric_value?: string,
>   boolean_value?: boolean
> }
> ```

> [accordion] current\_target\_value full type
>
> ```ts theme={null}
> {
>   numeric_value?: string,
>   boolean_value?: boolean
> }
> ```

***

## Get Label

### get

`getLabel.get`

Get Label

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getLabel.get({"path":{"labelPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   labelPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string \| null` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `color` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `stats` | `object` | No | — |
| `created_at` | `string \| null` | Yes | — |

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_related_documents: number,
>   num_epics: number,
>   num_stories_unstarted: number,
>   num_stories_total: number,
>   num_epics_unstarted: number,
>   num_epics_in_progress: number,
>   num_points_unstarted: number,
>   num_stories_unestimated: number,
>   num_points_in_progress: number,
>   num_epics_total: number,
>   num_stories_completed: number,
>   num_points_completed: number,
>   num_stories_backlog: number,
>   num_points_total: number,
>   num_stories_in_progress: number,
>   num_points_backlog: number,
>   num_epics_completed: number
> }
> ```

***

## Get Linked File

### get

`getLinkedFile.get`

Get Linked File

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getLinkedFile.get({"path":{"linkedFilePublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   linkedFilePublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `description` | `string \| null` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `story_ids` | `number[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `name` | `string` | Yes | — |
| `thumbnail_url` | `string \| null` | Yes | — |
| `type` | `string` | Yes | — |
| `size` | `number \| null` | Yes | — |
| `uploader_id` | `string` | Yes | — |
| `content_type` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `id` | `number` | Yes | — |
| `url` | `string` | Yes | — |
| `created_at` | `string` | Yes | — |

***

## Get Member

### get

`getMember.get`

Get Member

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getMember.get({"path":{"memberPublicId":"12345678-9012-3456-7890-123456789012"},"query":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   memberPublicId: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   org-public-id?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `role` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `disabled` | `boolean` | Yes | — |
| `global_id` | `string` | Yes | — |
| `state` | `partial \| full \| disabled \| imported \| string` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `created_without_invite` | `boolean` | Yes | — |
| `group_ids` | `string[]` | Yes | — |
| `id` | `string` | Yes | — |
| `installation_id` | `string` | No | — |
| `profile` | `object` | Yes | — |
| `created_at` | `string \| null` | Yes | — |
| `replaced_by` | `string` | No | — |

> [accordion] profile full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   deactivated: boolean,
>   two_factor_auth_activated?: boolean,
>   mention_name: string,
>   is_mentionable?: boolean,
>   name: string | null,
>   is_agent?: boolean,
>   gravatar_hash: string | null,
>   id: string,
>   display_icon: {
>     entity_type: string,
>     id: string,
>     created_at: string,
>     updated_at: string,
>     url: string
>   } | null,
>   is_owner: boolean,
>   is_assignable?: boolean,
>   email_address: string | null
> }
> ```

***

## Get Milestone

### get

`getMilestone.get`

Get Milestone

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getMilestone.get({"path":{"milestonePublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   milestonePublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `started` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `completed_at_override` | `string \| null` | Yes | — |
| `started_at` | `string \| null` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `completed` | `boolean` | Yes | — |
| `state` | `string` | Yes | — |
| `started_at_override` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `categories` | `object[]` | Yes | — |
| `id` | `number` | Yes | — |
| `key_result_ids` | `string[]` | Yes | — |
| `position` | `number` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] categories full type
>
> ```ts theme={null}
> {
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   type: string,
>   updated_at: string,
>   external_id: string | null,
>   id: number,
>   created_at: string
> }[]
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   average_cycle_time?: number,
>   average_lead_time?: number,
>   num_related_documents: number
> }
> ```

***

## Get Objective

### get

`getObjective.get`

Get Objective

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getObjective.get({"path":{"objectivePublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   objectivePublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `started` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `completed_at_override` | `string \| null` | Yes | — |
| `started_at` | `string \| null` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `completed` | `boolean` | Yes | — |
| `state` | `string` | Yes | — |
| `started_at_override` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `categories` | `object[]` | Yes | — |
| `id` | `number` | Yes | — |
| `key_result_ids` | `string[]` | Yes | — |
| `position` | `number` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] categories full type
>
> ```ts theme={null}
> {
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   type: string,
>   updated_at: string,
>   external_id: string | null,
>   id: number,
>   created_at: string
> }[]
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   average_cycle_time?: number,
>   average_lead_time?: number,
>   num_related_documents: number
> }
> ```

***

## Get Objective Health

### get

`getObjectiveHealth.get`

Get Objective Health

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getObjectiveHealth.get({"path":{"objectivePublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   objectivePublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `entity_type` | `string` | Yes | — |
| `author_id` | `string` | No | — |
| `epic_id` | `number` | No | — |
| `objective_id` | `number` | No | — |
| `updated_at` | `string` | No | — |
| `status` | `At Risk \| On Track \| Off Track \| No Health \| string` | Yes | — |
| `id` | `string \| null` | Yes | — |
| `created_at` | `string` | No | — |
| `text` | `string` | No | — |

***

## Get Project

### get

`getProject.get`

Get Project

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getProject.get({"path":{"projectPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   projectPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string \| null` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `days_to_thermometer` | `number` | Yes | — |
| `color` | `string \| null` | Yes | — |
| `workflow_id` | `number` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `start_time` | `string` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `follower_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `show_thermometer` | `boolean` | Yes | — |
| `team_id` | `number` | Yes | — |
| `iteration_length` | `number` | Yes | — |
| `abbreviation` | `string \| null` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string \| null` | Yes | — |

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_stories: number,
>   num_points: number,
>   num_related_documents: number
> }
> ```

***

## Get Repository

### get

`getRepository.get`

Get Repository

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getRepository.get({"path":{"repoPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   repoPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `entity_type` | `string` | Yes | — |
| `name` | `string \| null` | Yes | — |
| `type` | `github \| gitlab \| bitbucket \| string` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number \| null` | Yes | — |
| `url` | `string \| null` | Yes | — |
| `full_name` | `string \| null` | Yes | — |
| `created_at` | `string \| null` | Yes | — |

***

## Get Story

### get

`getStory.get`

Get Story

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getStory.get({"path":{"storyPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `started` | `boolean` | Yes | — |
| `story_links` | `object[]` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `labels` | `object[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `synced_item` | `object` | No | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `story_type` | `string` | Yes | — |
| `custom_fields` | `object[]` | No | — |
| `linked_files` | `object[]` | Yes | — |
| `workflow_id` | `number` | Yes | — |
| `completed_at_override` | `string \| null` | Yes | — |
| `started_at` | `string \| null` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `completed` | `boolean` | Yes | — |
| `comments` | `object[]` | Yes | — |
| `blocker` | `boolean` | Yes | — |
| `branches` | `object[]` | Yes | — |
| `epic_id` | `number \| null` | Yes | — |
| `story_template_id` | `string \| null` | Yes | — |
| `external_links` | `string[]` | Yes | — |
| `previous_iteration_ids` | `number[]` | Yes | — |
| `requested_by_id` | `string` | Yes | — |
| `iteration_id` | `number \| null` | Yes | — |
| `sub_task_story_ids` | `number[]` | No | — |
| `tasks` | `object[]` | Yes | — |
| `formatted_vcs_branch_name` | `string \| null` | No | — |
| `label_ids` | `number[]` | Yes | — |
| `started_at_override` | `string \| null` | Yes | — |
| `group_id` | `string \| null` | Yes | — |
| `workflow_state_id` | `number` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `pull_requests` | `object[]` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `follower_ids` | `string[]` | Yes | — |
| `owner_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `lead_time` | `number` | No | — |
| `parent_story_id` | `number \| null` | No | — |
| `estimate` | `number \| null` | Yes | — |
| `commits` | `object[]` | Yes | — |
| `files` | `object[]` | Yes | — |
| `position` | `number` | Yes | — |
| `blocked` | `boolean` | Yes | — |
| `project_id` | `number \| null` | Yes | — |
| `deadline` | `string \| null` | Yes | — |
| `stats` | `object` | Yes | — |
| `cycle_time` | `number` | No | — |
| `created_at` | `string` | Yes | — |
| `moved_at` | `string \| null` | Yes | — |

> [accordion] story\_links full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   object_id: number,
>   verb: string,
>   type: string,
>   updated_at: string,
>   id: number,
>   subject_id: number,
>   subject_workflow_state_id: number,
>   created_at: string
> }[]
> ```

> [accordion] labels full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string | null,
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   updated_at: string | null,
>   external_id: string | null,
>   id: number,
>   created_at: string | null
> }[]
> ```

> [accordion] synced\_item full type
>
> ```ts theme={null}
> {
>   external_id: string,
>   url: string
> }
> ```

> [accordion] custom\_fields full type
>
> ```ts theme={null}
> {
>   field_id: string,
>   value_id: string,
>   value: string
> }[]
> ```

> [accordion] linked\_files full type
>
> ```ts theme={null}
> {
>   description: string | null,
>   entity_type: string,
>   story_ids: number[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   name: string,
>   thumbnail_url: string | null,
>   type: string,
>   size: number | null,
>   uploader_id: string,
>   content_type: string | null,
>   updated_at: string,
>   group_mention_ids: string[],
>   id: number,
>   url: string,
>   created_at: string
> }[]
> ```

> [accordion] comments full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   deleted: boolean,
>   story_id: number,
>   mention_ids: string[],
>   author_id: string | null,
>   member_mention_ids: string[],
>   blocker?: boolean,
>   linked_to_slack: boolean,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   external_id: string | null,
>   parent_id?: number | null,
>   id: number,
>   position: number,
>   unblocks_parent?: boolean,
>   reactions: {
>     emoji: string,
>     permission_ids: string[]
>   }[],
>   created_at: string,
>   text: string | null
> }[]
> ```

> [accordion] branches full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   deleted: boolean,
>   name: string,
>   persistent: boolean,
>   updated_at: string | null,
>   pull_requests: {
>     entity_type: string,
>     closed: boolean,
>     merged: boolean,
>     num_added: number,
>     branch_id: number,
>     overlapping_stories?: number[],
>     number: number,
>     branch_name: string,
>     target_branch_name: string,
>     num_commits: number | null,
>     title: string,
>     updated_at: string,
>     has_overlapping_stories: boolean,
>     draft: boolean,
>     id: number,
>     vcs_labels?: {
>       entity_type: string,
>       id: number,
>       color: string,
>       description?: string | null,
>       name: string
>     }[] | null,
>     url: string,
>     num_removed: number,
>     review_status?: string,
>     num_modified: number | null,
>     build_status?: string,
>     target_branch_id: number,
>     repository_id: number,
>     created_at: string
>   }[],
>   merged_branch_ids: number[],
>   id: number | null,
>   url: string,
>   repository_id: number,
>   created_at: string | null
> }[]
> ```

> [accordion] tasks full type
>
> ```ts theme={null}
> {
>   description: string,
>   entity_type: string,
>   story_id: number,
>   mention_ids: string[],
>   member_mention_ids: string[],
>   completed_at: string | null,
>   global_id: string,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   position: number,
>   complete: boolean,
>   created_at: string
> }[]
> ```

> [accordion] pull\_requests full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   closed: boolean,
>   merged: boolean,
>   num_added: number,
>   branch_id: number,
>   overlapping_stories?: number[],
>   number: number,
>   branch_name: string,
>   target_branch_name: string,
>   num_commits: number | null,
>   title: string,
>   updated_at: string,
>   has_overlapping_stories: boolean,
>   draft: boolean,
>   id: number,
>   vcs_labels?: {
>     entity_type: string,
>     id: number,
>     color: string,
>     description?: string | null,
>     name: string
>   }[] | null,
>   url: string,
>   num_removed: number,
>   review_status?: string,
>   num_modified: number | null,
>   build_status?: string,
>   target_branch_id: number,
>   repository_id: number,
>   created_at: string
> }[]
> ```

> [accordion] commits full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   author_id: string | null,
>   hash: string,
>   updated_at: string | null,
>   id: number | null,
>   url: string,
>   author_email: string,
>   timestamp: string,
>   author_identity: {
>     entity_type: string,
>     name: string | null,
>     type: slack | github | gitlab | bitbucket | string | null
>   },
>   repository_id: number | null,
>   created_at: string,
>   message: string
> }[]
> ```

> [accordion] files full type
>
> ```ts theme={null}
> {
>   description: string | null,
>   entity_type: string,
>   story_ids: number[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   name: string,
>   thumbnail_url: string | null,
>   size: number,
>   uploader_id: string,
>   content_type: string,
>   updated_at: string | null,
>   filename: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   url: string | null,
>   created_at: string
> }[]
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_related_documents: number
> }
> ```

***

## Get Story Comment

### get

`getStoryComment.get`

Get Story Comment

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getStoryComment.get({"path":{"storyPublicId":1,"commentPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number,
>   commentPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `deleted` | `boolean` | Yes | — |
| `story_id` | `number` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `author_id` | `string \| null` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `blocker` | `boolean` | No | — |
| `linked_to_slack` | `boolean` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `parent_id` | `number \| null` | No | — |
| `id` | `number` | Yes | — |
| `position` | `number` | Yes | — |
| `unblocks_parent` | `boolean` | No | — |
| `reactions` | `object[]` | Yes | — |
| `created_at` | `string` | Yes | — |
| `text` | `string \| null` | Yes | — |

> [accordion] reactions full type
>
> ```ts theme={null}
> {
>   emoji: string,
>   permission_ids: string[]
> }[]
> ```

***

## Get Story Link

### get

`getStoryLink.get`

Get Story Link

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getStoryLink.get({"path":{"storyLinkPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyLinkPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `entity_type` | `string` | Yes | — |
| `id` | `number` | Yes | — |
| `subject_id` | `number` | Yes | — |
| `subject_workflow_state_id` | `number` | Yes | — |
| `verb` | `string` | Yes | — |
| `object_id` | `number` | Yes | — |
| `created_at` | `string` | Yes | — |
| `updated_at` | `string` | Yes | — |

***

## Get Task

### get

`getTask.get`

Get Task

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getTask.get({"path":{"storyPublicId":1,"taskPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number,
>   taskPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `description` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `story_id` | `number` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `global_id` | `string` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `owner_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `position` | `number` | Yes | — |
| `complete` | `boolean` | Yes | — |
| `created_at` | `string` | Yes | — |

***

## Get Workflow

### get

`getWorkflow.get`

Get Workflow

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.getWorkflow.get({"path":{"workflowPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   workflowPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `description` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `project_ids` | `number[]` | Yes | — |
| `states` | `object[]` | Yes | — |
| `name` | `string` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `auto_assign_owner` | `boolean` | Yes | — |
| `id` | `number` | Yes | — |
| `team_id` | `number` | Yes | — |
| `created_at` | `string` | Yes | — |
| `default_state_id` | `number` | Yes | — |

> [accordion] states full type
>
> ```ts theme={null}
> {
>   description: string,
>   entity_type: string,
>   color?: string,
>   verb: string | null,
>   name: string,
>   global_id: string,
>   num_stories: number,
>   type: string,
>   updated_at: string,
>   id: number,
>   num_story_templates: number,
>   position: number,
>   created_at: string
> }[]
> ```

***

## Link Document To Epic

### put

`linkDocumentToEpic.put`

Link Document to Epic

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.linkDocumentToEpic.put({"path":{"docPublicId":"12345678-9012-3456-7890-123456789012","epicPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   docPublicId: string,
>   epicPublicId: number
> }
> ```

**Output:** `undefined`

***

## List Categories

### get

`listCategories.get`

List Categories

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listCategories.get({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   type: string,
>   updated_at: string,
>   external_id: string | null,
>   id: number,
>   created_at: string
> }[]
> ```

***

## List Category Milestones

### get

`listCategoryMilestones.get`

List Category Milestones

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listCategoryMilestones.get({"path":{"categoryPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   categoryPublicId: number
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string,
>   archived: boolean,
>   started: boolean,
>   entity_type: string,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   state: string,
>   started_at_override: string | null,
>   updated_at: string,
>   categories: {
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     type: string,
>     updated_at: string,
>     external_id: string | null,
>     id: number,
>     created_at: string
>   }[],
>   id: number,
>   key_result_ids: string[],
>   position: number,
>   stats: {
>     average_cycle_time?: number,
>     average_lead_time?: number,
>     num_related_documents: number
>   },
>   created_at: string
> }[]
> ```

***

## List Category Objectives

### get

`listCategoryObjectives.get`

List Category Objectives

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listCategoryObjectives.get({"path":{"categoryPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   categoryPublicId: number
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string,
>   archived: boolean,
>   started: boolean,
>   entity_type: string,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   state: string,
>   started_at_override: string | null,
>   updated_at: string,
>   categories: {
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     type: string,
>     updated_at: string,
>     external_id: string | null,
>     id: number,
>     created_at: string
>   }[],
>   id: number,
>   key_result_ids: string[],
>   position: number,
>   stats: {
>     average_cycle_time?: number,
>     average_lead_time?: number,
>     num_related_documents: number
>   },
>   created_at: string
> }[]
> ```

***

## List Custom Fields

### get

`listCustomFields.get`

List Custom Fields

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listCustomFields.get({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   description?: string,
>   icon_set_identifier?: string,
>   entity_type: custom-field | string,
>   story_types?: string[],
>   last_edited_by_id: string | null,
>   name: string,
>   fixed_position?: boolean,
>   creator_id: string | null,
>   updated_at: string,
>   id: string,
>   values?: {
>     id: string,
>     value: string,
>     position: number,
>     color_key: string | null,
>     entity_type: custom-field-enum-value | string,
>     enabled: boolean
>   }[],
>   last_edited_at: string | null,
>   field_type: enum | string,
>   position: number,
>   canonical_name?: string,
>   enabled: boolean,
>   created_at: string
> }[]
> ```

***

## List Docs

### get

`listDocs.get`

List Docs

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listDocs.get({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   id: string,
>   title: string | null,
>   app_url: string
> }[]
> ```

***

## List Document Epics

### get

`listDocumentEpics.get`

List Document Epics

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listDocumentEpics.get({"path":{"docPublicId":"12345678-9012-3456-7890-123456789012"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   docPublicId: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   associated_groups: {
>     group_id: string,
>     associated_stories_count?: number
>   }[] | null,
>   project_ids: number[],
>   stories_without_projects: number,
>   completed_at_override: string | null,
>   productboard_plugin_id: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   objective_ids: number[],
>   name: string,
>   global_id: string,
>   completed: boolean,
>   productboard_url: string | null,
>   planned_start_date: string | null,
>   state: string,
>   milestone_id: number | null,
>   requested_by_id: string,
>   size: string | null,
>   epic_state_id: number,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   productboard_id: string | null,
>   follower_ids: string[],
>   group_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   position: number,
>   productboard_name: string | null,
>   deadline: string | null,
>   stats: {
>     num_points_done: number,
>     num_related_documents: number,
>     num_stories_unstarted: number,
>     num_stories_total: number,
>     last_story_update: string | null,
>     num_points_started: number,
>     num_points_unstarted: number,
>     num_stories_started: number,
>     num_stories_unestimated: number,
>     num_stories_backlog: number,
>     num_points_backlog: number,
>     num_points: number,
>     num_stories_done: number
>   },
>   created_at: string | null
> }[]
> ```

***

## List Entity Templates

### get

`listEntityTemplates.get`

List Entity Templates

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listEntityTemplates.get({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   id: string,
>   created_at: string,
>   updated_at: string,
>   name: string,
>   author_id: string,
>   last_used_at: string,
>   story_contents: {
>     description?: string,
>     entity_type?: string,
>     labels?: {
>       app_url: string,
>       description: string | null,
>       archived: boolean,
>       entity_type: string,
>       color: string | null,
>       name: string,
>       global_id: string,
>       updated_at: string | null,
>       external_id: string | null,
>       id: number,
>       created_at: string | null
>     }[],
>     story_type?: string,
>     custom_fields?: {
>       field_id: string,
>       value_id: string,
>       value?: string
>     }[],
>     linked_files?: {
>       description: string | null,
>       entity_type: string,
>       story_ids: number[],
>       mention_ids: string[],
>       member_mention_ids: string[],
>       name: string,
>       thumbnail_url: string | null,
>       type: string,
>       size: number | null,
>       uploader_id: string,
>       content_type: string | null,
>       updated_at: string,
>       group_mention_ids: string[],
>       id: number,
>       url: string,
>       created_at: string
>     }[],
>     name?: string,
>     epic_id?: number,
>     external_links?: string[],
>     sub_tasks?: {
>       name: string,
>       owner_ids?: string[],
>       workflow_state_id?: number
>     }[],
>     iteration_id?: number,
>     tasks?: {
>       description: string,
>       position?: number,
>       complete?: boolean,
>       owner_ids?: string[],
>       external_id?: string | null
>     }[],
>     label_ids?: number[],
>     group_id?: string,
>     workflow_state_id?: number,
>     follower_ids?: string[],
>     owner_ids?: string[],
>     estimate?: number,
>     files?: {
>       description: string | null,
>       entity_type: string,
>       story_ids: number[],
>       mention_ids: string[],
>       member_mention_ids: string[],
>       name: string,
>       thumbnail_url: string | null,
>       size: number,
>       uploader_id: string,
>       content_type: string,
>       updated_at: string | null,
>       filename: string,
>       group_mention_ids: string[],
>       external_id: string | null,
>       id: number,
>       url: string | null,
>       created_at: string
>     }[],
>     project_id?: number,
>     deadline?: string
>   }
> }[]
> ```

***

## List Epic Comments

### get

`listEpicComments.get`

List Epic Comments

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listEpicComments.get({"path":{"epicPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   deleted: boolean,
>   mention_ids: string[],
>   author_id: string,
>   member_mention_ids: string[],
>   comments: (recursive)[],
>   updated_at: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   created_at: string,
>   text: string
> }[]
> ```

***

## List Epic Documents

### get

`listEpicDocuments.get`

List Epic Documents

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listEpicDocuments.get({"path":{"epicPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   id: string,
>   title: string | null,
>   app_url: string
> }[]
> ```

***

## List Epic Healths

### get

`listEpicHealths.get`

List Epic Healths

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listEpicHealths.get({"path":{"epicPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   author_id?: string,
>   epic_id?: number,
>   objective_id?: number,
>   updated_at?: string,
>   status: At Risk | On Track | Off Track | No Health | string,
>   id: string | null,
>   created_at?: string,
>   text?: string
> }[]
> ```

***

## List Epics

### get

`listEpics.get`

List Epics

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listEpics.get({"query":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   includes_description?: boolean
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   associated_groups: {
>     group_id: string,
>     associated_stories_count?: number
>   }[] | null,
>   project_ids: number[],
>   stories_without_projects: number,
>   completed_at_override: string | null,
>   productboard_plugin_id: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   objective_ids: number[],
>   name: string,
>   global_id: string,
>   completed: boolean,
>   productboard_url: string | null,
>   planned_start_date: string | null,
>   state: string,
>   milestone_id: number | null,
>   requested_by_id: string,
>   size: string | null,
>   epic_state_id: number,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   productboard_id: string | null,
>   follower_ids: string[],
>   group_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   position: number,
>   productboard_name: string | null,
>   deadline: string | null,
>   stats: {
>     num_points_done: number,
>     num_related_documents: number,
>     num_stories_unstarted: number,
>     num_stories_total: number,
>     last_story_update: string | null,
>     num_points_started: number,
>     num_points_unstarted: number,
>     num_stories_started: number,
>     num_stories_unestimated: number,
>     num_stories_backlog: number,
>     num_points_backlog: number,
>     num_points: number,
>     num_stories_done: number
>   },
>   created_at: string | null
> }[]
> ```

***

## List Epics Paginated

### get

`listEpicsPaginated.get`

List Epics Paginated

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listEpicsPaginated.get({"query":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

This route supports `page` and `page_size`; values are forwarded without local pagination defaults.

> [accordion] query full type
>
> ```ts theme={null}
> {
>   includes_description?: boolean,
>   page?: number,
>   page_size?: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `object[]` | Yes | — |
| `next` | `number \| null` | Yes | — |
| `total` | `number` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   associated_groups: {
>     group_id: string,
>     associated_stories_count?: number
>   }[] | null,
>   project_ids: number[],
>   stories_without_projects: number,
>   completed_at_override: string | null,
>   productboard_plugin_id: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   objective_ids: number[],
>   name: string,
>   global_id: string,
>   completed: boolean,
>   productboard_url: string | null,
>   planned_start_date: string | null,
>   state: string,
>   milestone_id: number | null,
>   requested_by_id: string,
>   size: string | null,
>   epic_state_id: number,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   productboard_id: string | null,
>   follower_ids: string[],
>   group_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   position: number,
>   productboard_name: string | null,
>   deadline: string | null,
>   stats: {
>     num_points_done: number,
>     num_related_documents: number,
>     num_stories_unstarted: number,
>     num_stories_total: number,
>     last_story_update: string | null,
>     num_points_started: number,
>     num_points_unstarted: number,
>     num_stories_started: number,
>     num_stories_unestimated: number,
>     num_stories_backlog: number,
>     num_points_backlog: number,
>     num_points: number,
>     num_stories_done: number
>   },
>   created_at: string | null
> }[]
> ```

***

## List Epic Stories

### get

`listEpicStories.get`

List Epic Stories

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listEpicStories.get({"path":{"epicPublicId":1},"query":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   includes_description?: boolean
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   story_links: {
>     entity_type: string,
>     object_id: number,
>     verb: string,
>     type: string,
>     updated_at: string,
>     id: number,
>     subject_id: number,
>     subject_workflow_state_id: number,
>     created_at: string
>   }[],
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   task_ids: number[],
>   mention_ids: string[],
>   synced_item?: {
>     external_id: string,
>     url: string
>   },
>   member_mention_ids: string[],
>   story_type: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value: string
>   }[],
>   file_ids: number[],
>   num_tasks_completed: number,
>   workflow_id: number,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   blocker: boolean,
>   epic_id: number | null,
>   story_template_id: string | null,
>   external_links: string[],
>   previous_iteration_ids: number[],
>   requested_by_id: string,
>   iteration_id: number | null,
>   sub_task_story_ids?: number[],
>   formatted_vcs_branch_name?: string | null,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   workflow_state_id: number,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   follower_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   lead_time?: number,
>   parent_story_id?: number | null,
>   estimate: number | null,
>   position: number,
>   blocked: boolean,
>   project_id: number | null,
>   linked_file_ids: number[],
>   deadline: string | null,
>   stats: {
>     num_related_documents: number
>   },
>   comment_ids: number[],
>   cycle_time?: number,
>   created_at: string,
>   moved_at: string | null
> }[]
> ```

***

## List Files

### get

`listFiles.get`

List Files

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listFiles.get({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   description: string | null,
>   entity_type: string,
>   story_ids: number[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   name: string,
>   thumbnail_url: string | null,
>   size: number,
>   uploader_id: string,
>   content_type: string,
>   updated_at: string | null,
>   filename: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   url: string | null,
>   created_at: string
> }[]
> ```

***

## List Groups

### get

`listGroups.get`

List Groups

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listGroups.get({"query":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   archived?: boolean
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string,
>   archived: boolean,
>   entity_type: string,
>   card_aging_mode: off | gradual | immediate | string | null,
>   color: string | null,
>   card_aging_threshold_days: number | null,
>   num_stories_started: number,
>   mention_name: string,
>   name: string,
>   global_id: string,
>   color_key: blue | purple | midnight-blue | orange | yellow-green | brass | gray | fuchsia | yellow | pink | sky-blue | green | red | black | slate | turquoise | null,
>   num_stories: number,
>   num_epics_started: number,
>   creator_id: string | null,
>   updated_at: string,
>   num_stories_backlog: number,
>   id: string,
>   display_icon: {
>     entity_type: string,
>     id: string,
>     created_at: string,
>     updated_at: string,
>     url: string
>   } | null,
>   default_workflow_id?: number | null,
>   member_ids: string[],
>   workflow_ids: number[],
>   created_at: string
> }[]
> ```

***

## List Group Stories

### get

`listGroupStories.get`

List Group Stories

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listGroupStories.get({"path":{"groupPublicId":"12345678-9012-3456-7890-123456789012"},"query":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | Yes | — |

This route supports `limit` and `offset` pagination.

> [accordion] path full type
>
> ```ts theme={null}
> {
>   groupPublicId: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   limit?: number,
>   offset?: number
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   story_links: {
>     entity_type: string,
>     object_id: number,
>     verb: string,
>     type: string,
>     updated_at: string,
>     id: number,
>     subject_id: number,
>     subject_workflow_state_id: number,
>     created_at: string
>   }[],
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   task_ids: number[],
>   mention_ids: string[],
>   synced_item?: {
>     external_id: string,
>     url: string
>   },
>   member_mention_ids: string[],
>   story_type: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value: string
>   }[],
>   file_ids: number[],
>   num_tasks_completed: number,
>   workflow_id: number,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   blocker: boolean,
>   epic_id: number | null,
>   story_template_id: string | null,
>   external_links: string[],
>   previous_iteration_ids: number[],
>   requested_by_id: string,
>   iteration_id: number | null,
>   sub_task_story_ids?: number[],
>   formatted_vcs_branch_name?: string | null,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   workflow_state_id: number,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   follower_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   lead_time?: number,
>   parent_story_id?: number | null,
>   estimate: number | null,
>   position: number,
>   blocked: boolean,
>   project_id: number | null,
>   linked_file_ids: number[],
>   deadline: string | null,
>   stats: {
>     num_related_documents: number
>   },
>   comment_ids: number[],
>   cycle_time?: number,
>   created_at: string,
>   moved_at: string | null
> }[]
> ```

***

## List Iterations

### get

`listIterations.get`

List Iterations

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listIterations.get({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     stats?: {
>       num_related_documents: number,
>       num_epics: number,
>       num_stories_unstarted: number,
>       num_stories_total: number,
>       num_epics_unstarted: number,
>       num_epics_in_progress: number,
>       num_points_unstarted: number,
>       num_stories_unestimated: number,
>       num_points_in_progress: number,
>       num_epics_total: number,
>       num_stories_completed: number,
>       num_points_completed: number,
>       num_stories_backlog: number,
>       num_points_total: number,
>       num_stories_in_progress: number,
>       num_points_backlog: number,
>       num_epics_completed: number
>     },
>     created_at: string | null
>   }[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   associated_groups: {
>     group_id: string,
>     associated_stories_count?: number
>   }[] | null,
>   name: string,
>   global_id: string,
>   label_ids: number[],
>   updated_at: string,
>   group_mention_ids: string[],
>   end_date: string,
>   follower_ids: string[],
>   group_ids: string[],
>   start_date: string,
>   status: string,
>   id: number,
>   stats: {
>     num_points_done: number,
>     num_related_documents: number,
>     average_cycle_time?: number,
>     num_stories_unstarted: number,
>     num_points_started: number,
>     num_points_unstarted: number,
>     num_stories_started: number,
>     num_stories_unestimated: number,
>     num_stories_backlog: number,
>     average_lead_time?: number,
>     num_points_backlog: number,
>     num_points: number,
>     num_stories_done: number
>   },
>   created_at: string
> }[]
> ```

***

## List Iteration Stories

### get

`listIterationStories.get`

List Iteration Stories

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listIterationStories.get({"path":{"iterationPublicId":1},"query":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   iterationPublicId: number
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   includes_description?: boolean
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   story_links: {
>     entity_type: string,
>     object_id: number,
>     verb: string,
>     type: string,
>     updated_at: string,
>     id: number,
>     subject_id: number,
>     subject_workflow_state_id: number,
>     created_at: string
>   }[],
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   task_ids: number[],
>   mention_ids: string[],
>   synced_item?: {
>     external_id: string,
>     url: string
>   },
>   member_mention_ids: string[],
>   story_type: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value: string
>   }[],
>   file_ids: number[],
>   num_tasks_completed: number,
>   workflow_id: number,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   blocker: boolean,
>   epic_id: number | null,
>   story_template_id: string | null,
>   external_links: string[],
>   previous_iteration_ids: number[],
>   requested_by_id: string,
>   iteration_id: number | null,
>   sub_task_story_ids?: number[],
>   formatted_vcs_branch_name?: string | null,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   workflow_state_id: number,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   follower_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   lead_time?: number,
>   parent_story_id?: number | null,
>   estimate: number | null,
>   position: number,
>   blocked: boolean,
>   project_id: number | null,
>   linked_file_ids: number[],
>   deadline: string | null,
>   stats: {
>     num_related_documents: number
>   },
>   comment_ids: number[],
>   cycle_time?: number,
>   created_at: string,
>   moved_at: string | null
> }[]
> ```

***

## List Label Epics

### get

`listLabelEpics.get`

List Label Epics

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listLabelEpics.get({"path":{"labelPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   labelPublicId: number
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   associated_groups: {
>     group_id: string,
>     associated_stories_count?: number
>   }[] | null,
>   project_ids: number[],
>   stories_without_projects: number,
>   completed_at_override: string | null,
>   productboard_plugin_id: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   objective_ids: number[],
>   name: string,
>   global_id: string,
>   completed: boolean,
>   productboard_url: string | null,
>   planned_start_date: string | null,
>   state: string,
>   milestone_id: number | null,
>   requested_by_id: string,
>   size: string | null,
>   epic_state_id: number,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   productboard_id: string | null,
>   follower_ids: string[],
>   group_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   position: number,
>   productboard_name: string | null,
>   deadline: string | null,
>   stats: {
>     num_points_done: number,
>     num_related_documents: number,
>     num_stories_unstarted: number,
>     num_stories_total: number,
>     last_story_update: string | null,
>     num_points_started: number,
>     num_points_unstarted: number,
>     num_stories_started: number,
>     num_stories_unestimated: number,
>     num_stories_backlog: number,
>     num_points_backlog: number,
>     num_points: number,
>     num_stories_done: number
>   },
>   created_at: string | null
> }[]
> ```

***

## List Labels

### get

`listLabels.get`

List Labels

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listLabels.get({"query":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   slim?: boolean
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string | null,
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   updated_at: string | null,
>   external_id: string | null,
>   id: number,
>   stats?: {
>     num_related_documents: number,
>     num_epics: number,
>     num_stories_unstarted: number,
>     num_stories_total: number,
>     num_epics_unstarted: number,
>     num_epics_in_progress: number,
>     num_points_unstarted: number,
>     num_stories_unestimated: number,
>     num_points_in_progress: number,
>     num_epics_total: number,
>     num_stories_completed: number,
>     num_points_completed: number,
>     num_stories_backlog: number,
>     num_points_total: number,
>     num_stories_in_progress: number,
>     num_points_backlog: number,
>     num_epics_completed: number
>   },
>   created_at: string | null
> }[]
> ```

***

## List Label Stories

### get

`listLabelStories.get`

List Label Stories

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listLabelStories.get({"path":{"labelPublicId":1},"query":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   labelPublicId: number
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   includes_description?: boolean
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   story_links: {
>     entity_type: string,
>     object_id: number,
>     verb: string,
>     type: string,
>     updated_at: string,
>     id: number,
>     subject_id: number,
>     subject_workflow_state_id: number,
>     created_at: string
>   }[],
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   task_ids: number[],
>   mention_ids: string[],
>   synced_item?: {
>     external_id: string,
>     url: string
>   },
>   member_mention_ids: string[],
>   story_type: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value: string
>   }[],
>   file_ids: number[],
>   num_tasks_completed: number,
>   workflow_id: number,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   blocker: boolean,
>   epic_id: number | null,
>   story_template_id: string | null,
>   external_links: string[],
>   previous_iteration_ids: number[],
>   requested_by_id: string,
>   iteration_id: number | null,
>   sub_task_story_ids?: number[],
>   formatted_vcs_branch_name?: string | null,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   workflow_state_id: number,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   follower_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   lead_time?: number,
>   parent_story_id?: number | null,
>   estimate: number | null,
>   position: number,
>   blocked: boolean,
>   project_id: number | null,
>   linked_file_ids: number[],
>   deadline: string | null,
>   stats: {
>     num_related_documents: number
>   },
>   comment_ids: number[],
>   cycle_time?: number,
>   created_at: string,
>   moved_at: string | null
> }[]
> ```

***

## List Linked Files

### get

`listLinkedFiles.get`

List Linked Files

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listLinkedFiles.get({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   description: string | null,
>   entity_type: string,
>   story_ids: number[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   name: string,
>   thumbnail_url: string | null,
>   type: string,
>   size: number | null,
>   uploader_id: string,
>   content_type: string | null,
>   updated_at: string,
>   group_mention_ids: string[],
>   id: number,
>   url: string,
>   created_at: string
> }[]
> ```

***

## List Members

### get

`listMembers.get`

List Members

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listMembers.get({"query":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   org-public-id?: string,
>   disabled?: boolean
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   role: string,
>   entity_type: string,
>   disabled: boolean,
>   global_id: string,
>   state: partial | full | disabled | imported | string,
>   updated_at: string | null,
>   created_without_invite: boolean,
>   group_ids: string[],
>   id: string,
>   installation_id?: string,
>   profile: {
>     entity_type: string,
>     deactivated: boolean,
>     two_factor_auth_activated?: boolean,
>     mention_name: string,
>     is_mentionable?: boolean,
>     name: string | null,
>     is_agent?: boolean,
>     gravatar_hash: string | null,
>     id: string,
>     display_icon: {
>       entity_type: string,
>       id: string,
>       created_at: string,
>       updated_at: string,
>       url: string
>     } | null,
>     is_owner: boolean,
>     is_assignable?: boolean,
>     email_address: string | null
>   },
>   created_at: string | null,
>   replaced_by?: string
> }[]
> ```

***

## List Milestone Epics

### get

`listMilestoneEpics.get`

List Milestone Epics

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listMilestoneEpics.get({"path":{"milestonePublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   milestonePublicId: number
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   associated_groups: {
>     group_id: string,
>     associated_stories_count?: number
>   }[] | null,
>   project_ids: number[],
>   stories_without_projects: number,
>   completed_at_override: string | null,
>   productboard_plugin_id: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   objective_ids: number[],
>   name: string,
>   global_id: string,
>   completed: boolean,
>   productboard_url: string | null,
>   planned_start_date: string | null,
>   state: string,
>   milestone_id: number | null,
>   requested_by_id: string,
>   size: string | null,
>   epic_state_id: number,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   productboard_id: string | null,
>   follower_ids: string[],
>   group_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   position: number,
>   productboard_name: string | null,
>   deadline: string | null,
>   stats: {
>     num_points_done: number,
>     num_related_documents: number,
>     num_stories_unstarted: number,
>     num_stories_total: number,
>     last_story_update: string | null,
>     num_points_started: number,
>     num_points_unstarted: number,
>     num_stories_started: number,
>     num_stories_unestimated: number,
>     num_stories_backlog: number,
>     num_points_backlog: number,
>     num_points: number,
>     num_stories_done: number
>   },
>   created_at: string | null
> }[]
> ```

***

## List Milestones

### get

`listMilestones.get`

List Milestones

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listMilestones.get({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string,
>   archived: boolean,
>   started: boolean,
>   entity_type: string,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   state: string,
>   started_at_override: string | null,
>   updated_at: string,
>   categories: {
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     type: string,
>     updated_at: string,
>     external_id: string | null,
>     id: number,
>     created_at: string
>   }[],
>   id: number,
>   key_result_ids: string[],
>   position: number,
>   stats: {
>     average_cycle_time?: number,
>     average_lead_time?: number,
>     num_related_documents: number
>   },
>   created_at: string
> }[]
> ```

***

## List Objective Epics

### get

`listObjectiveEpics.get`

List Objective Epics

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listObjectiveEpics.get({"path":{"objectivePublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   objectivePublicId: number
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   associated_groups: {
>     group_id: string,
>     associated_stories_count?: number
>   }[] | null,
>   project_ids: number[],
>   stories_without_projects: number,
>   completed_at_override: string | null,
>   productboard_plugin_id: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   objective_ids: number[],
>   name: string,
>   global_id: string,
>   completed: boolean,
>   productboard_url: string | null,
>   planned_start_date: string | null,
>   state: string,
>   milestone_id: number | null,
>   requested_by_id: string,
>   size: string | null,
>   epic_state_id: number,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   productboard_id: string | null,
>   follower_ids: string[],
>   group_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   position: number,
>   productboard_name: string | null,
>   deadline: string | null,
>   stats: {
>     num_points_done: number,
>     num_related_documents: number,
>     num_stories_unstarted: number,
>     num_stories_total: number,
>     last_story_update: string | null,
>     num_points_started: number,
>     num_points_unstarted: number,
>     num_stories_started: number,
>     num_stories_unestimated: number,
>     num_stories_backlog: number,
>     num_points_backlog: number,
>     num_points: number,
>     num_stories_done: number
>   },
>   created_at: string | null
> }[]
> ```

***

## List Objective Healths

### get

`listObjectiveHealths.get`

List Objective Healths

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listObjectiveHealths.get({"path":{"objectivePublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   objectivePublicId: number
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   author_id?: string,
>   epic_id?: number,
>   objective_id?: number,
>   updated_at?: string,
>   status: At Risk | On Track | Off Track | No Health | string,
>   id: string | null,
>   created_at?: string,
>   text?: string
> }[]
> ```

***

## List Objectives

### get

`listObjectives.get`

List Objectives

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listObjectives.get({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string,
>   archived: boolean,
>   started: boolean,
>   entity_type: string,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   state: string,
>   started_at_override: string | null,
>   updated_at: string,
>   categories: {
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     type: string,
>     updated_at: string,
>     external_id: string | null,
>     id: number,
>     created_at: string
>   }[],
>   id: number,
>   key_result_ids: string[],
>   position: number,
>   stats: {
>     average_cycle_time?: number,
>     average_lead_time?: number,
>     num_related_documents: number
>   },
>   created_at: string
> }[]
> ```

***

## List Projects

### get

`listProjects.get`

List Projects

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listProjects.get({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string | null,
>   archived: boolean,
>   entity_type: string,
>   days_to_thermometer: number,
>   color: string | null,
>   workflow_id: number,
>   name: string,
>   global_id: string,
>   start_time: string,
>   updated_at: string | null,
>   follower_ids: string[],
>   external_id: string | null,
>   id: number,
>   show_thermometer: boolean,
>   team_id: number,
>   iteration_length: number,
>   abbreviation: string | null,
>   stats: {
>     num_stories: number,
>     num_points: number,
>     num_related_documents: number
>   },
>   created_at: string | null
> }[]
> ```

***

## List Repositories

### get

`listRepositories.get`

List Repositories

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listRepositories.get({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   name: string | null,
>   type: github | gitlab | bitbucket | string,
>   updated_at: string | null,
>   external_id: string | null,
>   id: number | null,
>   url: string | null,
>   full_name: string | null,
>   created_at: string | null
> }[]
> ```

***

## List Stories

### get

`listStories.get`

List Stories

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listStories.get({"path":{"projectPublicId":1},"query":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   projectPublicId: number
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   includes_description?: boolean
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   story_links: {
>     entity_type: string,
>     object_id: number,
>     verb: string,
>     type: string,
>     updated_at: string,
>     id: number,
>     subject_id: number,
>     subject_workflow_state_id: number,
>     created_at: string
>   }[],
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   task_ids: number[],
>   mention_ids: string[],
>   synced_item?: {
>     external_id: string,
>     url: string
>   },
>   member_mention_ids: string[],
>   story_type: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value: string
>   }[],
>   file_ids: number[],
>   num_tasks_completed: number,
>   workflow_id: number,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   blocker: boolean,
>   epic_id: number | null,
>   story_template_id: string | null,
>   external_links: string[],
>   previous_iteration_ids: number[],
>   requested_by_id: string,
>   iteration_id: number | null,
>   sub_task_story_ids?: number[],
>   formatted_vcs_branch_name?: string | null,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   workflow_state_id: number,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   follower_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   lead_time?: number,
>   parent_story_id?: number | null,
>   estimate: number | null,
>   position: number,
>   blocked: boolean,
>   project_id: number | null,
>   linked_file_ids: number[],
>   deadline: string | null,
>   stats: {
>     num_related_documents: number
>   },
>   comment_ids: number[],
>   cycle_time?: number,
>   created_at: string,
>   moved_at: string | null
> }[]
> ```

***

## List Story Comment

### get

`listStoryComment.get`

List Story Comment

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listStoryComment.get({"path":{"storyPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   deleted: boolean,
>   story_id: number,
>   mention_ids: string[],
>   author_id: string | null,
>   member_mention_ids: string[],
>   blocker?: boolean,
>   linked_to_slack: boolean,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   external_id: string | null,
>   parent_id?: number | null,
>   id: number,
>   position: number,
>   unblocks_parent?: boolean,
>   reactions: {
>     emoji: string,
>     permission_ids: string[]
>   }[],
>   created_at: string,
>   text: string | null
> }[]
> ```

***

## List Story Sub Tasks

### get

`listStorySubTasks.get`

List Story Sub tasks

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listStorySubTasks.get({"path":{"storyPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   story_links: {
>     entity_type: string,
>     object_id: number,
>     verb: string,
>     type: string,
>     updated_at: string,
>     id: number,
>     subject_id: number,
>     subject_workflow_state_id: number,
>     created_at: string
>   }[],
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   task_ids: number[],
>   mention_ids: string[],
>   synced_item?: {
>     external_id: string,
>     url: string
>   },
>   member_mention_ids: string[],
>   story_type: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value: string
>   }[],
>   file_ids: number[],
>   num_tasks_completed: number,
>   workflow_id: number,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   blocker: boolean,
>   epic_id: number | null,
>   story_template_id: string | null,
>   external_links: string[],
>   previous_iteration_ids: number[],
>   requested_by_id: string,
>   iteration_id: number | null,
>   sub_task_story_ids?: number[],
>   formatted_vcs_branch_name?: string | null,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   workflow_state_id: number,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   follower_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   lead_time?: number,
>   parent_story_id?: number | null,
>   estimate: number | null,
>   position: number,
>   blocked: boolean,
>   project_id: number | null,
>   linked_file_ids: number[],
>   deadline: string | null,
>   stats: {
>     num_related_documents: number
>   },
>   comment_ids: number[],
>   cycle_time?: number,
>   created_at: string,
>   moved_at: string | null
> }[]
> ```

***

## List Workflows

### get

`listWorkflows.get`

List Workflows

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.listWorkflows.get({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   description: string,
>   entity_type: string,
>   project_ids: number[],
>   states: {
>     description: string,
>     entity_type: string,
>     color?: string,
>     verb: string | null,
>     name: string,
>     global_id: string,
>     num_stories: number,
>     type: string,
>     updated_at: string,
>     id: number,
>     num_story_templates: number,
>     position: number,
>     created_at: string
>   }[],
>   name: string,
>   updated_at: string,
>   auto_assign_owner: boolean,
>   id: number,
>   team_id: number,
>   created_at: string,
>   default_state_id: number
> }[]
> ```

***

## Query Stories

### post

`queryStories.post`

Query Stories

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.queryStories.post({"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   archived?: boolean,
>   owner_id?: string | null,
>   story_type?: feature | chore | bug,
>   epic_ids?: number[],
>   project_ids?: (number | null)[],
>   updated_at_end?: string,
>   completed_at_end?: string,
>   workflow_state_types?: (started | backlog | unstarted | done)[],
>   deadline_end?: string,
>   created_at_start?: string,
>   epic_id?: number | null,
>   label_name?: string,
>   requested_by_id?: string,
>   iteration_id?: number | null,
>   label_ids?: number[],
>   group_id?: string | null,
>   workflow_state_id?: number,
>   iteration_ids?: number[],
>   created_at_end?: string,
>   deadline_start?: string,
>   group_ids?: string[],
>   owner_ids?: string[],
>   external_id?: string,
>   includes_description?: boolean,
>   estimate?: number,
>   project_id?: number | null,
>   completed_at_start?: string,
>   updated_at_start?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   story_links: {
>     entity_type: string,
>     object_id: number,
>     verb: string,
>     type: string,
>     updated_at: string,
>     id: number,
>     subject_id: number,
>     subject_workflow_state_id: number,
>     created_at: string
>   }[],
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   task_ids: number[],
>   mention_ids: string[],
>   synced_item?: {
>     external_id: string,
>     url: string
>   },
>   member_mention_ids: string[],
>   story_type: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value: string
>   }[],
>   file_ids: number[],
>   num_tasks_completed: number,
>   workflow_id: number,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   blocker: boolean,
>   epic_id: number | null,
>   story_template_id: string | null,
>   external_links: string[],
>   previous_iteration_ids: number[],
>   requested_by_id: string,
>   iteration_id: number | null,
>   sub_task_story_ids?: number[],
>   formatted_vcs_branch_name?: string | null,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   workflow_state_id: number,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   follower_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   lead_time?: number,
>   parent_story_id?: number | null,
>   estimate: number | null,
>   position: number,
>   blocked: boolean,
>   project_id: number | null,
>   linked_file_ids: number[],
>   deadline: string | null,
>   stats: {
>     num_related_documents: number
>   },
>   comment_ids: number[],
>   cycle_time?: number,
>   created_at: string,
>   moved_at: string | null
> }[]
> ```

***

## Search

### get

`search.get`

Search

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.search.get({"query":{"query":"login bug"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

Continuation pagination uses the documented `next` query value and `page_size`.

> [accordion] query full type
>
> ```ts theme={null}
> {
>   query: string,
>   page_size?: number,
>   detail?: full | slim,
>   next?: string,
>   entity_types?: (story | milestone | epic | iteration | objective)[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `epics` | `object` | No | — |
| `stories` | `object` | No | — |
| `iterations` | `object` | No | — |
| `milestones` | `object` | No | — |

> [accordion] epics full type
>
> ```ts theme={null}
> {
>   total: number,
>   data: {
>     app_url: string,
>     description?: string,
>     archived: boolean,
>     started: boolean,
>     entity_type: string,
>     labels: {
>       app_url: string,
>       description: string | null,
>       archived: boolean,
>       entity_type: string,
>       color: string | null,
>       name: string,
>       global_id: string,
>       updated_at: string | null,
>       external_id: string | null,
>       id: number,
>       created_at: string | null
>     }[],
>     mention_ids: string[],
>     member_mention_ids: string[],
>     associated_groups: {
>       group_id: string,
>       associated_stories_count?: number
>     }[] | null,
>     project_ids: number[],
>     stories_without_projects: number,
>     completed_at_override: string | null,
>     productboard_plugin_id: string | null,
>     started_at: string | null,
>     completed_at: string | null,
>     objective_ids: number[],
>     name: string,
>     global_id: string,
>     completed: boolean,
>     comments?: {
>       app_url: string,
>       entity_type: string,
>       deleted: boolean,
>       mention_ids: string[],
>       author_id: string,
>       member_mention_ids: string[],
>       comments: (recursive)[],
>       updated_at: string,
>       group_mention_ids: string[],
>       external_id: string | null,
>       id: number,
>       created_at: string,
>       text: string
>     }[],
>     productboard_url: string | null,
>     planned_start_date: string | null,
>     state: string,
>     milestone_id: number | null,
>     requested_by_id: string,
>     size: string | null,
>     epic_state_id: number,
>     label_ids: number[],
>     started_at_override: string | null,
>     group_id: string | null,
>     updated_at: string | null,
>     group_mention_ids: string[],
>     productboard_id: string | null,
>     follower_ids: string[],
>     group_ids: string[],
>     owner_ids: string[],
>     external_id: string | null,
>     id: number,
>     health?: {
>       entity_type: string,
>       author_id?: string,
>       epic_id?: number,
>       objective_id?: number,
>       updated_at?: string,
>       status: At Risk | On Track | Off Track | No Health | string,
>       id: string | null,
>       created_at?: string,
>       text?: string
>     },
>     position: number,
>     productboard_name: string | null,
>     deadline: string | null,
>     stats: {
>       num_points_done: number,
>       num_related_documents: number,
>       num_stories_unstarted: number,
>       num_stories_total: number,
>       last_story_update: string | null,
>       num_points_started: number,
>       num_points_unstarted: number,
>       num_stories_started: number,
>       num_stories_unestimated: number,
>       num_stories_backlog: number,
>       num_points_backlog: number,
>       num_points: number,
>       num_stories_done: number
>     },
>     created_at: string | null
>   }[],
>   next: string | null
> }
> ```

> [accordion] stories full type
>
> ```ts theme={null}
> {
>   total: number,
>   data: {
>     app_url: string,
>     description?: string,
>     archived: boolean,
>     started: boolean,
>     story_links: {
>       entity_type: string,
>       object_id: number,
>       verb: string,
>       type: string,
>       updated_at: string,
>       id: number,
>       subject_id: number,
>       subject_workflow_state_id: number,
>       created_at: string
>     }[],
>     entity_type: string,
>     labels: {
>       app_url: string,
>       description: string | null,
>       archived: boolean,
>       entity_type: string,
>       color: string | null,
>       name: string,
>       global_id: string,
>       updated_at: string | null,
>       external_id: string | null,
>       id: number,
>       created_at: string | null
>     }[],
>     task_ids?: number[],
>     mention_ids: string[],
>     synced_item?: {
>       external_id: string,
>       url: string
>     },
>     member_mention_ids: string[],
>     story_type: string,
>     custom_fields?: {
>       field_id: string,
>       value_id: string,
>       value: string
>     }[],
>     linked_files?: {
>       description: string | null,
>       entity_type: string,
>       story_ids: number[],
>       mention_ids: string[],
>       member_mention_ids: string[],
>       name: string,
>       thumbnail_url: string | null,
>       type: string,
>       size: number | null,
>       uploader_id: string,
>       content_type: string | null,
>       updated_at: string,
>       group_mention_ids: string[],
>       id: number,
>       url: string,
>       created_at: string
>     }[],
>     file_ids?: number[],
>     num_tasks_completed?: number,
>     workflow_id: number,
>     completed_at_override: string | null,
>     started_at: string | null,
>     completed_at: string | null,
>     name: string,
>     global_id: string,
>     completed: boolean,
>     comments?: {
>       app_url: string,
>       entity_type: string,
>       deleted: boolean,
>       story_id: number,
>       mention_ids: string[],
>       author_id: string | null,
>       member_mention_ids: string[],
>       blocker?: boolean,
>       linked_to_slack: boolean,
>       updated_at: string | null,
>       group_mention_ids: string[],
>       external_id: string | null,
>       parent_id?: number | null,
>       id: number,
>       position: number,
>       unblocks_parent?: boolean,
>       reactions: {
>         emoji: string,
>         permission_ids: string[]
>       }[],
>       created_at: string,
>       text: string | null
>     }[],
>     blocker: boolean,
>     branches?: {
>       entity_type: string,
>       deleted: boolean,
>       name: string,
>       persistent: boolean,
>       updated_at: string | null,
>       pull_requests: {
>         entity_type: string,
>         closed: boolean,
>         merged: boolean,
>         num_added: number,
>         branch_id: number,
>         overlapping_stories?: number[],
>         number: number,
>         branch_name: string,
>         target_branch_name: string,
>         num_commits: number | null,
>         title: string,
>         updated_at: string,
>         has_overlapping_stories: boolean,
>         draft: boolean,
>         id: number,
>         vcs_labels?: {
>           entity_type: string,
>           id: number,
>           color: string,
>           description?: string | null,
>           name: string
>         }[] | null,
>         url: string,
>         num_removed: number,
>         review_status?: string,
>         num_modified: number | null,
>         build_status?: string,
>         target_branch_id: number,
>         repository_id: number,
>         created_at: string
>       }[],
>       merged_branch_ids: number[],
>       id: number | null,
>       url: string,
>       repository_id: number,
>       created_at: string | null
>     }[],
>     epic_id: number | null,
>     story_template_id: string | null,
>     external_links: string[],
>     previous_iteration_ids: number[],
>     requested_by_id: string,
>     iteration_id: number | null,
>     sub_task_story_ids?: number[],
>     tasks?: {
>       description: string,
>       entity_type: string,
>       story_id: number,
>       mention_ids: string[],
>       member_mention_ids: string[],
>       completed_at: string | null,
>       global_id: string,
>       updated_at: string | null,
>       group_mention_ids: string[],
>       owner_ids: string[],
>       external_id: string | null,
>       id: number,
>       position: number,
>       complete: boolean,
>       created_at: string
>     }[],
>     formatted_vcs_branch_name?: string | null,
>     label_ids: number[],
>     started_at_override: string | null,
>     group_id: string | null,
>     workflow_state_id: number,
>     updated_at: string | null,
>     pull_requests?: {
>       entity_type: string,
>       closed: boolean,
>       merged: boolean,
>       num_added: number,
>       branch_id: number,
>       overlapping_stories?: number[],
>       number: number,
>       branch_name: string,
>       target_branch_name: string,
>       num_commits: number | null,
>       title: string,
>       updated_at: string,
>       has_overlapping_stories: boolean,
>       draft: boolean,
>       id: number,
>       vcs_labels?: {
>         entity_type: string,
>         id: number,
>         color: string,
>         description?: string | null,
>         name: string
>       }[] | null,
>       url: string,
>       num_removed: number,
>       review_status?: string,
>       num_modified: number | null,
>       build_status?: string,
>       target_branch_id: number,
>       repository_id: number,
>       created_at: string
>     }[],
>     group_mention_ids: string[],
>     follower_ids: string[],
>     owner_ids: string[],
>     external_id: string | null,
>     id: number,
>     lead_time?: number,
>     parent_story_id?: number | null,
>     estimate: number | null,
>     commits?: {
>       entity_type: string,
>       author_id: string | null,
>       hash: string,
>       updated_at: string | null,
>       id: number | null,
>       url: string,
>       author_email: string,
>       timestamp: string,
>       author_identity: {
>         entity_type: string,
>         name: string | null,
>         type: slack | github | gitlab | bitbucket | string | null
>       },
>       repository_id: number | null,
>       created_at: string,
>       message: string
>     }[],
>     files?: {
>       description: string | null,
>       entity_type: string,
>       story_ids: number[],
>       mention_ids: string[],
>       member_mention_ids: string[],
>       name: string,
>       thumbnail_url: string | null,
>       size: number,
>       uploader_id: string,
>       content_type: string,
>       updated_at: string | null,
>       filename: string,
>       group_mention_ids: string[],
>       external_id: string | null,
>       id: number,
>       url: string | null,
>       created_at: string
>     }[],
>     position: number,
>     blocked: boolean,
>     project_id: number | null,
>     linked_file_ids?: number[],
>     deadline: string | null,
>     stats: {
>       num_related_documents: number
>     },
>     comment_ids?: number[],
>     cycle_time?: number,
>     created_at: string,
>     moved_at: string | null
>   }[],
>   next: string | null
> }
> ```

> [accordion] iterations full type
>
> ```ts theme={null}
> {
>   total: number,
>   data: {
>     app_url: string,
>     entity_type: string,
>     labels: {
>       app_url: string,
>       description: string | null,
>       archived: boolean,
>       entity_type: string,
>       color: string | null,
>       name: string,
>       global_id: string,
>       updated_at: string | null,
>       external_id: string | null,
>       id: number,
>       stats?: {
>         num_related_documents: number,
>         num_epics: number,
>         num_stories_unstarted: number,
>         num_stories_total: number,
>         num_epics_unstarted: number,
>         num_epics_in_progress: number,
>         num_points_unstarted: number,
>         num_stories_unestimated: number,
>         num_points_in_progress: number,
>         num_epics_total: number,
>         num_stories_completed: number,
>         num_points_completed: number,
>         num_stories_backlog: number,
>         num_points_total: number,
>         num_stories_in_progress: number,
>         num_points_backlog: number,
>         num_epics_completed: number
>       },
>       created_at: string | null
>     }[],
>     mention_ids: string[],
>     member_mention_ids: string[],
>     associated_groups: {
>       group_id: string,
>       associated_stories_count?: number
>     }[] | null,
>     name: string,
>     global_id: string,
>     label_ids: number[],
>     updated_at: string,
>     group_mention_ids: string[],
>     end_date: string,
>     follower_ids: string[],
>     group_ids: string[],
>     start_date: string,
>     status: string,
>     id: number,
>     stats: {
>       num_points_done: number,
>       num_related_documents: number,
>       average_cycle_time?: number,
>       num_stories_unstarted: number,
>       num_points_started: number,
>       num_points_unstarted: number,
>       num_stories_started: number,
>       num_stories_unestimated: number,
>       num_stories_backlog: number,
>       average_lead_time?: number,
>       num_points_backlog: number,
>       num_points: number,
>       num_stories_done: number
>     },
>     created_at: string
>   }[],
>   next: string | null
> }
> ```

> [accordion] milestones full type
>
> ```ts theme={null}
> {
>   total: number,
>   data: {
>     app_url: string,
>     description?: string,
>     archived: boolean,
>     started: boolean,
>     entity_type: string,
>     completed_at_override: string | null,
>     started_at: string | null,
>     completed_at: string | null,
>     name: string,
>     global_id: string,
>     completed: boolean,
>     state: string,
>     started_at_override: string | null,
>     updated_at: string,
>     categories: {
>       archived: boolean,
>       entity_type: string,
>       color: string | null,
>       name: string,
>       global_id: string,
>       type: string,
>       updated_at: string,
>       external_id: string | null,
>       id: number,
>       created_at: string
>     }[],
>     id: number,
>     key_result_ids: string[],
>     position: number,
>     stats: {
>       average_cycle_time?: number,
>       average_lead_time?: number,
>       num_related_documents: number
>     },
>     created_at: string
>   }[],
>   next: string | null
> }
> ```

***

## Search Documents

### get

`searchDocuments.get`

Search Documents

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.searchDocuments.get({"query":{"title":"Release notes"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

Continuation pagination uses the documented `next` query value and `page_size`.

> [accordion] query full type
>
> ```ts theme={null}
> {
>   title: string,
>   archived?: boolean,
>   created_by_me?: boolean,
>   followed_by_me?: boolean,
>   page_size?: number,
>   next?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | Yes | — |
| `data` | `object[]` | Yes | — |
| `next` | `string \| null` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   id: string,
>   title: string | null,
>   app_url: string
> }[]
> ```

***

## Search Epics

### get

`searchEpics.get`

Search Epics

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.searchEpics.get({"query":{"query":"login bug"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

Continuation pagination uses the documented `next` query value and `page_size`.

> [accordion] query full type
>
> ```ts theme={null}
> {
>   query: string,
>   page_size?: number,
>   detail?: full | slim,
>   next?: string,
>   entity_types?: (story | milestone | epic | iteration | objective)[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | Yes | — |
| `data` | `object[]` | Yes | — |
| `next` | `string \| null` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   associated_groups: {
>     group_id: string,
>     associated_stories_count?: number
>   }[] | null,
>   project_ids: number[],
>   stories_without_projects: number,
>   completed_at_override: string | null,
>   productboard_plugin_id: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   objective_ids: number[],
>   name: string,
>   global_id: string,
>   completed: boolean,
>   comments?: {
>     app_url: string,
>     entity_type: string,
>     deleted: boolean,
>     mention_ids: string[],
>     author_id: string,
>     member_mention_ids: string[],
>     comments: (recursive)[],
>     updated_at: string,
>     group_mention_ids: string[],
>     external_id: string | null,
>     id: number,
>     created_at: string,
>     text: string
>   }[],
>   productboard_url: string | null,
>   planned_start_date: string | null,
>   state: string,
>   milestone_id: number | null,
>   requested_by_id: string,
>   size: string | null,
>   epic_state_id: number,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   productboard_id: string | null,
>   follower_ids: string[],
>   group_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   health?: {
>     entity_type: string,
>     author_id?: string,
>     epic_id?: number,
>     objective_id?: number,
>     updated_at?: string,
>     status: At Risk | On Track | Off Track | No Health | string,
>     id: string | null,
>     created_at?: string,
>     text?: string
>   },
>   position: number,
>   productboard_name: string | null,
>   deadline: string | null,
>   stats: {
>     num_points_done: number,
>     num_related_documents: number,
>     num_stories_unstarted: number,
>     num_stories_total: number,
>     last_story_update: string | null,
>     num_points_started: number,
>     num_points_unstarted: number,
>     num_stories_started: number,
>     num_stories_unestimated: number,
>     num_stories_backlog: number,
>     num_points_backlog: number,
>     num_points: number,
>     num_stories_done: number
>   },
>   created_at: string | null
> }[]
> ```

***

## Search Iterations

### get

`searchIterations.get`

Search Iterations

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.searchIterations.get({"query":{"query":"login bug"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

Continuation pagination uses the documented `next` query value and `page_size`.

> [accordion] query full type
>
> ```ts theme={null}
> {
>   query: string,
>   page_size?: number,
>   detail?: full | slim,
>   next?: string,
>   entity_types?: (story | milestone | epic | iteration | objective)[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | Yes | — |
| `data` | `object[]` | Yes | — |
| `next` | `string \| null` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     stats?: {
>       num_related_documents: number,
>       num_epics: number,
>       num_stories_unstarted: number,
>       num_stories_total: number,
>       num_epics_unstarted: number,
>       num_epics_in_progress: number,
>       num_points_unstarted: number,
>       num_stories_unestimated: number,
>       num_points_in_progress: number,
>       num_epics_total: number,
>       num_stories_completed: number,
>       num_points_completed: number,
>       num_stories_backlog: number,
>       num_points_total: number,
>       num_stories_in_progress: number,
>       num_points_backlog: number,
>       num_epics_completed: number
>     },
>     created_at: string | null
>   }[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   associated_groups: {
>     group_id: string,
>     associated_stories_count?: number
>   }[] | null,
>   name: string,
>   global_id: string,
>   label_ids: number[],
>   updated_at: string,
>   group_mention_ids: string[],
>   end_date: string,
>   follower_ids: string[],
>   group_ids: string[],
>   start_date: string,
>   status: string,
>   id: number,
>   stats: {
>     num_points_done: number,
>     num_related_documents: number,
>     average_cycle_time?: number,
>     num_stories_unstarted: number,
>     num_points_started: number,
>     num_points_unstarted: number,
>     num_stories_started: number,
>     num_stories_unestimated: number,
>     num_stories_backlog: number,
>     average_lead_time?: number,
>     num_points_backlog: number,
>     num_points: number,
>     num_stories_done: number
>   },
>   created_at: string
> }[]
> ```

***

## Search Milestones

### get

`searchMilestones.get`

Search Milestones

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.searchMilestones.get({"query":{"query":"login bug"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

Continuation pagination uses the documented `next` query value and `page_size`.

> [accordion] query full type
>
> ```ts theme={null}
> {
>   query: string,
>   page_size?: number,
>   detail?: full | slim,
>   next?: string,
>   entity_types?: (story | milestone | epic | iteration | objective)[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | Yes | — |
| `data` | `object[]` | Yes | — |
| `next` | `string \| null` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   entity_type: string,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   state: string,
>   started_at_override: string | null,
>   updated_at: string,
>   categories: {
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     type: string,
>     updated_at: string,
>     external_id: string | null,
>     id: number,
>     created_at: string
>   }[],
>   id: number,
>   key_result_ids: string[],
>   position: number,
>   stats: {
>     average_cycle_time?: number,
>     average_lead_time?: number,
>     num_related_documents: number
>   },
>   created_at: string
> }[]
> ```

***

## Search Objectives

### get

`searchObjectives.get`

Search Objectives

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.searchObjectives.get({"query":{"query":"login bug"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

Continuation pagination uses the documented `next` query value and `page_size`.

> [accordion] query full type
>
> ```ts theme={null}
> {
>   query: string,
>   page_size?: number,
>   detail?: full | slim,
>   next?: string,
>   entity_types?: (story | milestone | epic | iteration | objective)[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | Yes | — |
| `data` | `object[]` | Yes | — |
| `next` | `string \| null` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   entity_type: string,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   state: string,
>   started_at_override: string | null,
>   updated_at: string,
>   categories: {
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     type: string,
>     updated_at: string,
>     external_id: string | null,
>     id: number,
>     created_at: string
>   }[],
>   id: number,
>   key_result_ids: string[],
>   position: number,
>   stats: {
>     average_cycle_time?: number,
>     average_lead_time?: number,
>     num_related_documents: number
>   },
>   created_at: string
> }[]
> ```

***

## Search Stories

### get

`searchStories.get`

Search Stories

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.searchStories.get({"query":{"query":"login bug"}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

Continuation pagination uses the documented `next` query value and `page_size`.

> [accordion] query full type
>
> ```ts theme={null}
> {
>   query: string,
>   page_size?: number,
>   detail?: full | slim,
>   next?: string,
>   entity_types?: (story | milestone | epic | iteration | objective)[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | Yes | — |
| `data` | `object[]` | Yes | — |
| `next` | `string \| null` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   story_links: {
>     entity_type: string,
>     object_id: number,
>     verb: string,
>     type: string,
>     updated_at: string,
>     id: number,
>     subject_id: number,
>     subject_workflow_state_id: number,
>     created_at: string
>   }[],
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   task_ids?: number[],
>   mention_ids: string[],
>   synced_item?: {
>     external_id: string,
>     url: string
>   },
>   member_mention_ids: string[],
>   story_type: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value: string
>   }[],
>   linked_files?: {
>     description: string | null,
>     entity_type: string,
>     story_ids: number[],
>     mention_ids: string[],
>     member_mention_ids: string[],
>     name: string,
>     thumbnail_url: string | null,
>     type: string,
>     size: number | null,
>     uploader_id: string,
>     content_type: string | null,
>     updated_at: string,
>     group_mention_ids: string[],
>     id: number,
>     url: string,
>     created_at: string
>   }[],
>   file_ids?: number[],
>   num_tasks_completed?: number,
>   workflow_id: number,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   comments?: {
>     app_url: string,
>     entity_type: string,
>     deleted: boolean,
>     story_id: number,
>     mention_ids: string[],
>     author_id: string | null,
>     member_mention_ids: string[],
>     blocker?: boolean,
>     linked_to_slack: boolean,
>     updated_at: string | null,
>     group_mention_ids: string[],
>     external_id: string | null,
>     parent_id?: number | null,
>     id: number,
>     position: number,
>     unblocks_parent?: boolean,
>     reactions: {
>       emoji: string,
>       permission_ids: string[]
>     }[],
>     created_at: string,
>     text: string | null
>   }[],
>   blocker: boolean,
>   branches?: {
>     entity_type: string,
>     deleted: boolean,
>     name: string,
>     persistent: boolean,
>     updated_at: string | null,
>     pull_requests: {
>       entity_type: string,
>       closed: boolean,
>       merged: boolean,
>       num_added: number,
>       branch_id: number,
>       overlapping_stories?: number[],
>       number: number,
>       branch_name: string,
>       target_branch_name: string,
>       num_commits: number | null,
>       title: string,
>       updated_at: string,
>       has_overlapping_stories: boolean,
>       draft: boolean,
>       id: number,
>       vcs_labels?: {
>         entity_type: string,
>         id: number,
>         color: string,
>         description?: string | null,
>         name: string
>       }[] | null,
>       url: string,
>       num_removed: number,
>       review_status?: string,
>       num_modified: number | null,
>       build_status?: string,
>       target_branch_id: number,
>       repository_id: number,
>       created_at: string
>     }[],
>     merged_branch_ids: number[],
>     id: number | null,
>     url: string,
>     repository_id: number,
>     created_at: string | null
>   }[],
>   epic_id: number | null,
>   story_template_id: string | null,
>   external_links: string[],
>   previous_iteration_ids: number[],
>   requested_by_id: string,
>   iteration_id: number | null,
>   sub_task_story_ids?: number[],
>   tasks?: {
>     description: string,
>     entity_type: string,
>     story_id: number,
>     mention_ids: string[],
>     member_mention_ids: string[],
>     completed_at: string | null,
>     global_id: string,
>     updated_at: string | null,
>     group_mention_ids: string[],
>     owner_ids: string[],
>     external_id: string | null,
>     id: number,
>     position: number,
>     complete: boolean,
>     created_at: string
>   }[],
>   formatted_vcs_branch_name?: string | null,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   workflow_state_id: number,
>   updated_at: string | null,
>   pull_requests?: {
>     entity_type: string,
>     closed: boolean,
>     merged: boolean,
>     num_added: number,
>     branch_id: number,
>     overlapping_stories?: number[],
>     number: number,
>     branch_name: string,
>     target_branch_name: string,
>     num_commits: number | null,
>     title: string,
>     updated_at: string,
>     has_overlapping_stories: boolean,
>     draft: boolean,
>     id: number,
>     vcs_labels?: {
>       entity_type: string,
>       id: number,
>       color: string,
>       description?: string | null,
>       name: string
>     }[] | null,
>     url: string,
>     num_removed: number,
>     review_status?: string,
>     num_modified: number | null,
>     build_status?: string,
>     target_branch_id: number,
>     repository_id: number,
>     created_at: string
>   }[],
>   group_mention_ids: string[],
>   follower_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   lead_time?: number,
>   parent_story_id?: number | null,
>   estimate: number | null,
>   commits?: {
>     entity_type: string,
>     author_id: string | null,
>     hash: string,
>     updated_at: string | null,
>     id: number | null,
>     url: string,
>     author_email: string,
>     timestamp: string,
>     author_identity: {
>       entity_type: string,
>       name: string | null,
>       type: slack | github | gitlab | bitbucket | string | null
>     },
>     repository_id: number | null,
>     created_at: string,
>     message: string
>   }[],
>   files?: {
>     description: string | null,
>     entity_type: string,
>     story_ids: number[],
>     mention_ids: string[],
>     member_mention_ids: string[],
>     name: string,
>     thumbnail_url: string | null,
>     size: number,
>     uploader_id: string,
>     content_type: string,
>     updated_at: string | null,
>     filename: string,
>     group_mention_ids: string[],
>     external_id: string | null,
>     id: number,
>     url: string | null,
>     created_at: string
>   }[],
>   position: number,
>   blocked: boolean,
>   project_id: number | null,
>   linked_file_ids?: number[],
>   deadline: string | null,
>   stats: {
>     num_related_documents: number
>   },
>   comment_ids?: number[],
>   cycle_time?: number,
>   created_at: string,
>   moved_at: string | null
> }[]
> ```

***

## Story History

### get

`storyHistory.get`

Story History

**Risk:** `read`

```ts theme={null}
await corsair.shortcut.api.storyHistory.get({"path":{"storyPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   actor_name?: string,
>   changed_at: string,
>   primary_id?: number | string,
>   references?: (
>     {
>       id: number | string,
>       entity_type: string,
>       name: string,
>       url: string
>     } | {
>       id: number | string,
>       entity_type: string,
>       message: string,
>       url: string
>     } | {
>       id: number | string,
>       entity_type: string,
>       app_url: string,
>       name: string
>     } | {
>       id: string,
>       entity_type: string,
>       name: string
>     } | {
>       id: number | string,
>       entity_type: string,
>       app_url: string,
>       name: string
>     } | {
>       id: number | string,
>       entity_type: string,
>       app_url: string,
>       name: string
>     } | {
>       id: number | string,
>       entity_type: string,
>       app_url: string,
>       name: string
>     } | {
>       id: number | string,
>       entity_type: string,
>       app_url: string,
>       name: string,
>       story_type: feature | chore | bug | string,
>       parent_story_id?: number
>     } | {
>       id: number | string,
>       entity_type: string,
>       description: string
>     } | {
>       id: number | string,
>       entity_type: string,
>       string_value: string | null,
>       enum_value_enabled: boolean | null,
>       field_id: string,
>       field_type: string,
>       field_name: string,
>       field_enabled: boolean
>     } | {
>       id: number | string,
>       entity_type: string,
>       type: started | backlog | unstarted | done | string,
>       name: string
>     } | {
>       id: number | string,
>       entity_type: string,
>       name: string
>     }
>   )[],
>   actions: (
>     {
>       id: number,
>       entity_type: string,
>       name: string,
>       url: string,
>       action: create | string
>     } | {
>       id: number,
>       entity_type: string,
>       name: string,
>       url: string,
>       action: merge | string
>     } | {
>       id: number,
>       entity_type: string,
>       name: string,
>       url: string,
>       action: push | string
>     } | {
>       id: number,
>       entity_type: string,
>       action: create | string,
>       app_url: string,
>       name: string
>     } | {
>       id: number,
>       entity_type: string,
>       action: update | string
>     } | {
>       id: number,
>       entity_type: string,
>       action: delete | string,
>       name: string
>     } | {
>       id: number,
>       entity_type: string,
>       action: update | string,
>       app_url: string,
>       name: string
>     } | {
>       id: number,
>       entity_type: string,
>       action: open | update | reopen | close | sync | comment | string,
>       number: number,
>       title: string,
>       url: string
>     } | {
>       app_url: string,
>       description?: string,
>       started?: boolean,
>       entity_type: string,
>       task_ids?: number[],
>       story_type: feature | chore | bug | string,
>       name: string,
>       completed?: boolean,
>       blocker?: boolean,
>       epic_id?: number,
>       requested_by_id?: string,
>       iteration_id?: number | null,
>       label_ids?: number[],
>       group_id?: string,
>       workflow_state_id?: number,
>       object_story_link_ids?: number[],
>       follower_ids?: string[],
>       owner_ids?: string[],
>       custom_field_value_ids?: string[],
>       id: number,
>       parent_story_id?: number,
>       estimate?: number,
>       subject_story_link_ids?: number[],
>       action: create | string,
>       blocked?: boolean,
>       project_id?: number,
>       deadline?: string
>     } | {
>       id: number,
>       entity_type: string,
>       action: update | string,
>       app_url: string,
>       changes?: {
>         description?: {
>           old?: string | null,
>           new?: string
>         },
>         archived?: {
>           old?: boolean,
>           new?: boolean
>         },
>         started?: {
>           old?: boolean,
>           new?: boolean
>         },
>         task_ids?: {
>           adds?: number[],
>           removes?: number[]
>         },
>         mention_ids?: {
>           adds?: string[],
>           removes?: string[]
>         },
>         story_type?: {
>           old?: string | null,
>           new?: string
>         },
>         name?: {
>           old?: string | null,
>           new?: string
>         },
>         completed?: {
>           old?: boolean,
>           new?: boolean
>         },
>         blocker?: {
>           old?: boolean,
>           new?: boolean
>         },
>         epic_id?: {
>           old?: number,
>           new?: number
>         },
>         branch_ids?: {
>           adds?: number[],
>           removes?: number[]
>         },
>         commit_ids?: {
>           adds?: number[],
>           removes?: number[]
>         },
>         requested_by_id?: {
>           old?: string,
>           new?: string
>         },
>         iteration_id?: {
>           old?: number,
>           new?: number
>         },
>         label_ids?: {
>           adds?: number[],
>           removes?: number[]
>         },
>         group_id?: {
>           old?: string,
>           new?: string
>         },
>         workflow_state_id?: {
>           old?: number,
>           new?: number
>         },
>         object_story_link_ids?: {
>           adds?: number[],
>           removes?: number[]
>         },
>         follower_ids?: {
>           adds?: string[],
>           removes?: string[]
>         },
>         owner_ids?: {
>           adds?: string[],
>           removes?: string[]
>         },
>         custom_field_value_ids?: {
>           adds?: string[],
>           removes?: string[]
>         },
>         parent_story_id?: {
>           old?: number,
>           new?: number
>         },
>         estimate?: {
>           old?: number,
>           new?: number
>         },
>         subject_story_link_ids?: {
>           adds?: number[],
>           removes?: number[]
>         },
>         blocked?: {
>           old?: boolean,
>           new?: boolean
>         },
>         project_id?: {
>           old?: number,
>           new?: number
>         },
>         deadline?: {
>           old?: string | null,
>           new?: string
>         }
>       },
>       name: string,
>       story_type: feature | chore | bug | string,
>       parent_story_id?: number
>     } | {
>       id: number,
>       entity_type: string,
>       action: delete | string,
>       name: string,
>       story_type: feature | chore | bug | string,
>       parent_story_id?: number
>     } | {
>       id: number,
>       entity_type: string,
>       action: create | string,
>       app_url: string,
>       author_id: string
>     } | {
>       id: number,
>       entity_type: string,
>       action: create | string,
>       verb: blocks | duplicates | relates to | string,
>       subject_id: number,
>       object_id: number
>     } | {
>       id: number,
>       entity_type: string,
>       action: update | string,
>       verb: blocks | duplicates | relates to | string,
>       subject_id: number,
>       object_id: number,
>       changes: {
>         verb?: {
>           old?: string | null,
>           new?: string
>         },
>         object_id?: {
>           old?: number,
>           new?: number
>         },
>         subject_id?: {
>           old?: number,
>           new?: number
>         }
>       }
>     } | {
>       id: number,
>       entity_type: string,
>       action: delete | string,
>       verb: blocks | duplicates | relates to | string,
>       subject_id: number | null,
>       object_id: number | null
>     } | {
>       description: string,
>       entity_type: string,
>       mention_ids?: string[],
>       group_mention_ids?: string[],
>       owner_ids?: string[],
>       id: number,
>       action: create | string,
>       complete: boolean,
>       deadline?: string
>     } | {
>       id: number,
>       entity_type: string,
>       action: update | string,
>       changes: {
>         complete?: {
>           old?: boolean,
>           new?: boolean
>         },
>         description?: {
>           old?: string | null,
>           new?: string
>         },
>         mention_ids?: {
>           adds?: string[],
>           removes?: string[]
>         },
>         owner_ids?: {
>           adds?: string[],
>           removes?: string[]
>         }
>       },
>       complete?: boolean,
>       description: string,
>       story_id: number
>     } | {
>       id: number,
>       entity_type: string,
>       action: delete | string,
>       description: string
>     } | {
>       id: string,
>       entity_type: string,
>       action: bulk-update | string,
>       name: string
>     }
>   )[],
>   member_id?: string,
>   external_id?: string,
>   id: string,
>   version: v1 | string,
>   webhook_id?: string | null,
>   automation_id?: string
> }[]
> ```

***

## Unlink Comment Thread From Slack

### post

`unlinkCommentThreadFromSlack.post`

Unlink Comment thread from Slack

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.unlinkCommentThreadFromSlack.post({"path":{"storyPublicId":1,"commentPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number,
>   commentPublicId: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `deleted` | `boolean` | Yes | — |
| `story_id` | `number` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `author_id` | `string \| null` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `blocker` | `boolean` | No | — |
| `linked_to_slack` | `boolean` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `parent_id` | `number \| null` | No | — |
| `id` | `number` | Yes | — |
| `position` | `number` | Yes | — |
| `unblocks_parent` | `boolean` | No | — |
| `reactions` | `object[]` | Yes | — |
| `created_at` | `string` | Yes | — |
| `text` | `string \| null` | Yes | — |

> [accordion] reactions full type
>
> ```ts theme={null}
> {
>   emoji: string,
>   permission_ids: string[]
> }[]
> ```

***

## Unlink Document From Epic

### delete

`unlinkDocumentFromEpic.delete`

Unlink Document from Epic

**Risk:** `destructive`

```ts theme={null}
await corsair.shortcut.api.unlinkDocumentFromEpic.delete({"path":{"docPublicId":"12345678-9012-3456-7890-123456789012","epicPublicId":1}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   docPublicId: string,
>   epicPublicId: number
> }
> ```

**Output:** `undefined`

***

## Update Category

### put

`updateCategory.put`

Update Category

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateCategory.put({"path":{"categoryPublicId":1},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   categoryPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name?: string,
>   color?: string | null,
>   archived?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `archived` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `color` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `type` | `string` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `created_at` | `string` | Yes | — |

***

## Update Custom Field

### put

`updateCustomField.put`

Update Custom Field

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateCustomField.put({"path":{"customFieldPublicId":"12345678-9012-3456-7890-123456789012"},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   customFieldPublicId: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   enabled?: boolean,
>   name?: string,
>   values?: {
>     id?: string,
>     value?: string,
>     color_key?: blue | purple | midnight-blue | orange | yellow-green | brass | gray | fuchsia | yellow | pink | sky-blue | green | red | black | slate | turquoise | null,
>     enabled?: boolean
>   }[],
>   icon_set_identifier?: string,
>   description?: string,
>   before_id?: string,
>   after_id?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `description` | `string` | No | — |
| `icon_set_identifier` | `string` | No | — |
| `entity_type` | `custom-field \| string` | Yes | — |
| `story_types` | `string[]` | No | — |
| `last_edited_by_id` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `fixed_position` | `boolean` | No | — |
| `creator_id` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `id` | `string` | Yes | — |
| `values` | `object[]` | No | — |
| `last_edited_at` | `string \| null` | Yes | — |
| `field_type` | `enum \| string` | Yes | — |
| `position` | `number` | Yes | — |
| `canonical_name` | `string` | No | — |
| `enabled` | `boolean` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] values full type
>
> ```ts theme={null}
> {
>   id: string,
>   value: string,
>   position: number,
>   color_key: string | null,
>   entity_type: custom-field-enum-value | string,
>   enabled: boolean
> }[]
> ```

***

## Update Doc

### put

`updateDoc.put`

Update Doc

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateDoc.put({"path":{"docPublicId":"12345678-9012-3456-7890-123456789012"},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

Shortcut defaults document content to HTML when `content_format` is omitted. Set `markdown` when writing Markdown content.

> [accordion] path full type
>
> ```ts theme={null}
> {
>   docPublicId: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   title?: string,
>   content?: string,
>   content_format?: markdown | html
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `title` | `string \| null` | Yes | — |
| `content_markdown` | `string \| null` | Yes | — |
| `content_html` | `string \| null` | No | — |
| `app_url` | `string` | Yes | — |
| `created_at` | `string` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |

***

## Update Entity Template

### put

`updateEntityTemplate.put`

Update Entity Template

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateEntityTemplate.put({"path":{"entityTemplatePublicId":"12345678-9012-3456-7890-123456789012"},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   entityTemplatePublicId: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name?: string,
>   story_contents?: {
>     description?: string,
>     labels?: {
>       name: string,
>       description?: string,
>       color?: string,
>       external_id?: string
>     }[],
>     story_type?: string,
>     custom_fields?: {
>       field_id: string,
>       value_id: string,
>       value?: string
>     }[],
>     file_ids?: number[],
>     name?: string,
>     epic_id?: number | null,
>     external_links?: string[],
>     sub_tasks?: {
>       name: string,
>       owner_ids?: string[],
>       workflow_state_id?: number
>     }[],
>     iteration_id?: number | null,
>     tasks?: {
>       description: string,
>       complete?: boolean,
>       owner_ids?: string[],
>       external_id?: string
>     }[],
>     group_id?: string | null,
>     workflow_state_id?: number | null,
>     follower_ids?: string[],
>     owner_ids?: string[],
>     estimate?: number | null,
>     project_id?: number | null,
>     linked_file_ids?: number[],
>     deadline?: string | null
>   }
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `entity_type` | `string` | Yes | — |
| `id` | `string` | Yes | — |
| `created_at` | `string` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `author_id` | `string` | Yes | — |
| `last_used_at` | `string` | Yes | — |
| `story_contents` | `object` | Yes | — |

> [accordion] story\_contents full type
>
> ```ts theme={null}
> {
>   description?: string,
>   entity_type?: string,
>   labels?: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   story_type?: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value?: string
>   }[],
>   linked_files?: {
>     description: string | null,
>     entity_type: string,
>     story_ids: number[],
>     mention_ids: string[],
>     member_mention_ids: string[],
>     name: string,
>     thumbnail_url: string | null,
>     type: string,
>     size: number | null,
>     uploader_id: string,
>     content_type: string | null,
>     updated_at: string,
>     group_mention_ids: string[],
>     id: number,
>     url: string,
>     created_at: string
>   }[],
>   name?: string,
>   epic_id?: number,
>   external_links?: string[],
>   sub_tasks?: {
>     name: string,
>     owner_ids?: string[],
>     workflow_state_id?: number
>   }[],
>   iteration_id?: number,
>   tasks?: {
>     description: string,
>     position?: number,
>     complete?: boolean,
>     owner_ids?: string[],
>     external_id?: string | null
>   }[],
>   label_ids?: number[],
>   group_id?: string,
>   workflow_state_id?: number,
>   follower_ids?: string[],
>   owner_ids?: string[],
>   estimate?: number,
>   files?: {
>     description: string | null,
>     entity_type: string,
>     story_ids: number[],
>     mention_ids: string[],
>     member_mention_ids: string[],
>     name: string,
>     thumbnail_url: string | null,
>     size: number,
>     uploader_id: string,
>     content_type: string,
>     updated_at: string | null,
>     filename: string,
>     group_mention_ids: string[],
>     external_id: string | null,
>     id: number,
>     url: string | null,
>     created_at: string
>   }[],
>   project_id?: number,
>   deadline?: string
> }
> ```

***

## Update Epic

### put

`updateEpic.put`

Update Epic

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateEpic.put({"path":{"epicPublicId":1},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   archived?: boolean,
>   labels?: {
>     name: string,
>     description?: string,
>     color?: string,
>     external_id?: string
>   }[],
>   completed_at_override?: string | null,
>   objective_ids?: number[],
>   name?: string,
>   planned_start_date?: string | null,
>   state?: in progress | to do | done,
>   milestone_id?: number | null,
>   requested_by_id?: string,
>   size?: small | xlarge | medium | large | null,
>   epic_state_id?: number,
>   started_at_override?: string | null,
>   group_id?: string | null,
>   follower_ids?: string[],
>   group_ids?: string[],
>   owner_ids?: string[],
>   external_id?: string,
>   before_id?: number,
>   after_id?: number,
>   deadline?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `started` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `labels` | `object[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `associated_groups` | `object[] \| null` | Yes | — |
| `project_ids` | `number[]` | Yes | — |
| `stories_without_projects` | `number` | Yes | — |
| `completed_at_override` | `string \| null` | Yes | — |
| `productboard_plugin_id` | `string \| null` | Yes | — |
| `started_at` | `string \| null` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `objective_ids` | `number[]` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `completed` | `boolean` | Yes | — |
| `comments` | `object[]` | Yes | — |
| `productboard_url` | `string \| null` | Yes | — |
| `planned_start_date` | `string \| null` | Yes | — |
| `state` | `string` | Yes | — |
| `milestone_id` | `number \| null` | Yes | — |
| `requested_by_id` | `string` | Yes | — |
| `size` | `string \| null` | Yes | — |
| `epic_state_id` | `number` | Yes | — |
| `label_ids` | `number[]` | Yes | — |
| `started_at_override` | `string \| null` | Yes | — |
| `group_id` | `string \| null` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `productboard_id` | `string \| null` | Yes | — |
| `follower_ids` | `string[]` | Yes | — |
| `group_ids` | `string[]` | Yes | — |
| `owner_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `health` | `object` | No | — |
| `position` | `number` | Yes | — |
| `productboard_name` | `string \| null` | Yes | — |
| `deadline` | `string \| null` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string \| null` | Yes | — |

> [accordion] labels full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string | null,
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   updated_at: string | null,
>   external_id: string | null,
>   id: number,
>   created_at: string | null
> }[]
> ```

> [accordion] associated\_groups full type
>
> ```ts theme={null}
> {
>   group_id: string,
>   associated_stories_count?: number
> }[] | null
> ```

> [accordion] comments full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   deleted: boolean,
>   mention_ids: string[],
>   author_id: string,
>   member_mention_ids: string[],
>   comments: (recursive)[],
>   updated_at: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   created_at: string,
>   text: string
> }[]
> ```

> [accordion] health full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   author_id?: string,
>   epic_id?: number,
>   objective_id?: number,
>   updated_at?: string,
>   status: At Risk | On Track | Off Track | No Health | string,
>   id: string | null,
>   created_at?: string,
>   text?: string
> }
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_points_done: number,
>   num_related_documents: number,
>   num_stories_unstarted: number,
>   num_stories_total: number,
>   last_story_update: string | null,
>   num_points_started: number,
>   num_points_unstarted: number,
>   num_stories_started: number,
>   num_stories_unestimated: number,
>   num_stories_backlog: number,
>   num_points_backlog: number,
>   num_points: number,
>   num_stories_done: number
> }
> ```

***

## Update Epic Comment

### put

`updateEpicComment.put`

Update Epic Comment

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateEpicComment.put({"path":{"epicPublicId":1,"commentPublicId":1},"body":{"text":"Looks good to me."}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   epicPublicId: number,
>   commentPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   text: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `deleted` | `boolean` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `author_id` | `string` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `comments` | `object[]` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `created_at` | `string` | Yes | — |
| `text` | `string` | Yes | — |

> [accordion] comments full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   deleted: boolean,
>   mention_ids: string[],
>   author_id: string,
>   member_mention_ids: string[],
>   comments: (recursive)[],
>   updated_at: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   created_at: string,
>   text: string
> }[]
> ```

***

## Update File

### put

`updateFile.put`

Update File

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateFile.put({"path":{"filePublicId":1},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   filePublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   created_at?: string,
>   updated_at?: string,
>   name?: string,
>   uploader_id?: string,
>   external_id?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `description` | `string \| null` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `story_ids` | `number[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `name` | `string` | Yes | — |
| `thumbnail_url` | `string \| null` | Yes | — |
| `size` | `number` | Yes | — |
| `uploader_id` | `string` | Yes | — |
| `content_type` | `string` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `filename` | `string` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `url` | `string \| null` | Yes | — |
| `created_at` | `string` | Yes | — |

***

## Update Group

### put

`updateGroup.put`

Update Group

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateGroup.put({"path":{"groupPublicId":"12345678-9012-3456-7890-123456789012"},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   groupPublicId: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   archived?: boolean | null,
>   card_aging_mode?: off | gradual | immediate | null,
>   color?: string | null,
>   card_aging_threshold_days?: number | null,
>   display_icon_id?: string | null,
>   mention_name?: string,
>   name?: string,
>   color_key?: blue | purple | midnight-blue | orange | yellow-green | brass | gray | fuchsia | yellow | pink | sky-blue | green | red | black | slate | turquoise,
>   default_workflow_id?: number | null,
>   member_ids?: string[],
>   workflow_ids?: number[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `card_aging_mode` | `off \| gradual \| immediate \| string \| null` | Yes | — |
| `color` | `string \| null` | Yes | — |
| `card_aging_threshold_days` | `number \| null` | Yes | — |
| `num_stories_started` | `number` | Yes | — |
| `mention_name` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `color_key` | `blue \| purple \| midnight-blue \| orange \| yellow-green \| brass \| gray \| fuchsia \| yellow \| pink \| sky-blue \| green \| red \| black \| slate \| turquoise \| null` | Yes | — |
| `num_stories` | `number` | Yes | — |
| `num_epics_started` | `number` | Yes | — |
| `creator_id` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `num_stories_backlog` | `number` | Yes | — |
| `id` | `string` | Yes | — |
| `display_icon` | `object \| null` | Yes | — |
| `default_workflow_id` | `number \| null` | No | — |
| `member_ids` | `string[]` | Yes | — |
| `workflow_ids` | `number[]` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] display\_icon full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   id: string,
>   created_at: string,
>   updated_at: string,
>   url: string
> } | null
> ```

***

## Update Health

### put

`updateHealth.put`

Update Health

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateHealth.put({"path":{"healthPublicId":"12345678-9012-3456-7890-123456789012"},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   healthPublicId: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   status?: At Risk | On Track | Off Track | No Health,
>   text?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `entity_type` | `string` | Yes | — |
| `author_id` | `string` | No | — |
| `epic_id` | `number` | No | — |
| `objective_id` | `number` | No | — |
| `updated_at` | `string` | No | — |
| `status` | `At Risk \| On Track \| Off Track \| No Health \| string` | Yes | — |
| `id` | `string \| null` | Yes | — |
| `created_at` | `string` | No | — |
| `text` | `string` | No | — |

***

## Update Iteration

### put

`updateIteration.put`

Update Iteration

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateIteration.put({"path":{"iterationPublicId":1},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   iterationPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   follower_ids?: string[],
>   group_ids?: string[],
>   labels?: {
>     name: string,
>     description?: string,
>     color?: string,
>     external_id?: string
>   }[],
>   description?: string,
>   name?: string,
>   start_date?: string,
>   end_date?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `labels` | `object[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `associated_groups` | `object[] \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `label_ids` | `number[]` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `end_date` | `string` | Yes | — |
| `follower_ids` | `string[]` | Yes | — |
| `group_ids` | `string[]` | Yes | — |
| `start_date` | `string` | Yes | — |
| `status` | `string` | Yes | — |
| `id` | `number` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] labels full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string | null,
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   updated_at: string | null,
>   external_id: string | null,
>   id: number,
>   stats?: {
>     num_related_documents: number,
>     num_epics: number,
>     num_stories_unstarted: number,
>     num_stories_total: number,
>     num_epics_unstarted: number,
>     num_epics_in_progress: number,
>     num_points_unstarted: number,
>     num_stories_unestimated: number,
>     num_points_in_progress: number,
>     num_epics_total: number,
>     num_stories_completed: number,
>     num_points_completed: number,
>     num_stories_backlog: number,
>     num_points_total: number,
>     num_stories_in_progress: number,
>     num_points_backlog: number,
>     num_epics_completed: number
>   },
>   created_at: string | null
> }[]
> ```

> [accordion] associated\_groups full type
>
> ```ts theme={null}
> {
>   group_id: string,
>   associated_stories_count?: number
> }[] | null
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_points_done: number,
>   num_related_documents: number,
>   average_cycle_time?: number,
>   num_stories_unstarted: number,
>   num_points_started: number,
>   num_points_unstarted: number,
>   num_stories_started: number,
>   num_stories_unestimated: number,
>   num_stories_backlog: number,
>   average_lead_time?: number,
>   num_points_backlog: number,
>   num_points: number,
>   num_stories_done: number
> }
> ```

***

## Update Key Result

### put

`updateKeyResult.put`

Update Key Result

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateKeyResult.put({"path":{"keyResultPublicId":"12345678-9012-3456-7890-123456789012"},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   keyResultPublicId: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name?: string,
>   initial_observed_value?: {
>     numeric_value?: string,
>     boolean_value?: boolean
>   },
>   observed_value?: {
>     numeric_value?: string,
>     boolean_value?: boolean
>   },
>   target_value?: {
>     numeric_value?: string,
>     boolean_value?: boolean
>   }
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `objective_id` | `number` | Yes | — |
| `type` | `percent \| boolean \| numeric \| string` | Yes | — |
| `initial_observed_value` | `object` | Yes | — |
| `current_observed_value` | `object` | Yes | — |
| `current_target_value` | `object` | Yes | — |
| `progress` | `number` | Yes | — |

> [accordion] initial\_observed\_value full type
>
> ```ts theme={null}
> {
>   numeric_value?: string,
>   boolean_value?: boolean
> }
> ```

> [accordion] current\_observed\_value full type
>
> ```ts theme={null}
> {
>   numeric_value?: string,
>   boolean_value?: boolean
> }
> ```

> [accordion] current\_target\_value full type
>
> ```ts theme={null}
> {
>   numeric_value?: string,
>   boolean_value?: boolean
> }
> ```

***

## Update Label

### put

`updateLabel.put`

Update Label

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateLabel.put({"path":{"labelPublicId":1},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   labelPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name?: string,
>   description?: string,
>   color?: string | null,
>   archived?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string \| null` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `color` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `stats` | `object` | No | — |
| `created_at` | `string \| null` | Yes | — |

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_related_documents: number,
>   num_epics: number,
>   num_stories_unstarted: number,
>   num_stories_total: number,
>   num_epics_unstarted: number,
>   num_epics_in_progress: number,
>   num_points_unstarted: number,
>   num_stories_unestimated: number,
>   num_points_in_progress: number,
>   num_epics_total: number,
>   num_stories_completed: number,
>   num_points_completed: number,
>   num_stories_backlog: number,
>   num_points_total: number,
>   num_stories_in_progress: number,
>   num_points_backlog: number,
>   num_epics_completed: number
> }
> ```

***

## Update Linked File

### put

`updateLinkedFile.put`

Update Linked File

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateLinkedFile.put({"path":{"linkedFilePublicId":1},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   linkedFilePublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   story_id?: number,
>   name?: string,
>   thumbnail_url?: string,
>   type?: google | url | dropbox | box | onedrive,
>   size?: number,
>   uploader_id?: string,
>   url?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `description` | `string \| null` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `story_ids` | `number[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `name` | `string` | Yes | — |
| `thumbnail_url` | `string \| null` | Yes | — |
| `type` | `string` | Yes | — |
| `size` | `number \| null` | Yes | — |
| `uploader_id` | `string` | Yes | — |
| `content_type` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `id` | `number` | Yes | — |
| `url` | `string` | Yes | — |
| `created_at` | `string` | Yes | — |

***

## Update Milestone

### put

`updateMilestone.put`

Update Milestone

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateMilestone.put({"path":{"milestonePublicId":1},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   milestonePublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   archived?: boolean,
>   completed_at_override?: string | null,
>   name?: string,
>   state?: in progress | to do | done,
>   started_at_override?: string | null,
>   categories?: {
>     name: string,
>     color?: string,
>     external_id?: string
>   }[],
>   before_id?: number,
>   after_id?: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `started` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `completed_at_override` | `string \| null` | Yes | — |
| `started_at` | `string \| null` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `completed` | `boolean` | Yes | — |
| `state` | `string` | Yes | — |
| `started_at_override` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `categories` | `object[]` | Yes | — |
| `id` | `number` | Yes | — |
| `key_result_ids` | `string[]` | Yes | — |
| `position` | `number` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] categories full type
>
> ```ts theme={null}
> {
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   type: string,
>   updated_at: string,
>   external_id: string | null,
>   id: number,
>   created_at: string
> }[]
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   average_cycle_time?: number,
>   average_lead_time?: number,
>   num_related_documents: number
> }
> ```

***

## Update Multiple Stories

### put

`updateMultipleStories.put`

Update Multiple Stories

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateMultipleStories.put({"body":{"story_ids":[1]}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   archived?: boolean,
>   story_ids: number[],
>   story_type?: feature | chore | bug,
>   move_to?: last | first,
>   follower_ids_add?: string[],
>   epic_id?: number | null,
>   external_links?: string[],
>   follower_ids_remove?: string[],
>   requested_by_id?: string,
>   iteration_id?: number | null,
>   custom_fields_remove?: {
>     field_id: string,
>     value_id: string,
>     value?: string
>   }[],
>   labels_add?: {
>     name: string,
>     description?: string,
>     color?: string,
>     external_id?: string
>   }[],
>   group_id?: string | null,
>   workflow_state_id?: number,
>   before_id?: number,
>   estimate?: number | null,
>   after_id?: number,
>   owner_ids_remove?: string[],
>   custom_fields_add?: {
>     field_id: string,
>     value_id: string,
>     value?: string
>   }[],
>   project_id?: number | null,
>   labels_remove?: {
>     name: string,
>     description?: string,
>     color?: string,
>     external_id?: string
>   }[],
>   deadline?: string | null,
>   owner_ids_add?: string[]
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description?: string,
>   archived: boolean,
>   started: boolean,
>   story_links: {
>     entity_type: string,
>     object_id: number,
>     verb: string,
>     type: string,
>     updated_at: string,
>     id: number,
>     subject_id: number,
>     subject_workflow_state_id: number,
>     created_at: string
>   }[],
>   entity_type: string,
>   labels: {
>     app_url: string,
>     description: string | null,
>     archived: boolean,
>     entity_type: string,
>     color: string | null,
>     name: string,
>     global_id: string,
>     updated_at: string | null,
>     external_id: string | null,
>     id: number,
>     created_at: string | null
>   }[],
>   task_ids: number[],
>   mention_ids: string[],
>   synced_item?: {
>     external_id: string,
>     url: string
>   },
>   member_mention_ids: string[],
>   story_type: string,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value: string
>   }[],
>   file_ids: number[],
>   num_tasks_completed: number,
>   workflow_id: number,
>   completed_at_override: string | null,
>   started_at: string | null,
>   completed_at: string | null,
>   name: string,
>   global_id: string,
>   completed: boolean,
>   blocker: boolean,
>   epic_id: number | null,
>   story_template_id: string | null,
>   external_links: string[],
>   previous_iteration_ids: number[],
>   requested_by_id: string,
>   iteration_id: number | null,
>   sub_task_story_ids?: number[],
>   formatted_vcs_branch_name?: string | null,
>   label_ids: number[],
>   started_at_override: string | null,
>   group_id: string | null,
>   workflow_state_id: number,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   follower_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   lead_time?: number,
>   parent_story_id?: number | null,
>   estimate: number | null,
>   position: number,
>   blocked: boolean,
>   project_id: number | null,
>   linked_file_ids: number[],
>   deadline: string | null,
>   stats: {
>     num_related_documents: number
>   },
>   comment_ids: number[],
>   cycle_time?: number,
>   created_at: string,
>   moved_at: string | null
> }[]
> ```

***

## Update Objective

### put

`updateObjective.put`

Update Objective

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateObjective.put({"path":{"objectivePublicId":1},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   objectivePublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   archived?: boolean,
>   completed_at_override?: string | null,
>   name?: string,
>   state?: in progress | to do | done,
>   started_at_override?: string | null,
>   categories?: {
>     name: string,
>     color?: string,
>     external_id?: string
>   }[],
>   before_id?: number,
>   after_id?: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `started` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `completed_at_override` | `string \| null` | Yes | — |
| `started_at` | `string \| null` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `completed` | `boolean` | Yes | — |
| `state` | `string` | Yes | — |
| `started_at_override` | `string \| null` | Yes | — |
| `updated_at` | `string` | Yes | — |
| `categories` | `object[]` | Yes | — |
| `id` | `number` | Yes | — |
| `key_result_ids` | `string[]` | Yes | — |
| `position` | `number` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string` | Yes | — |

> [accordion] categories full type
>
> ```ts theme={null}
> {
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   type: string,
>   updated_at: string,
>   external_id: string | null,
>   id: number,
>   created_at: string
> }[]
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   average_cycle_time?: number,
>   average_lead_time?: number,
>   num_related_documents: number
> }
> ```

***

## Update Project

### put

`updateProject.put`

Update Project

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateProject.put({"path":{"projectPublicId":1},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   projectPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   archived?: boolean,
>   days_to_thermometer?: number,
>   color?: string,
>   name?: string,
>   follower_ids?: string[],
>   show_thermometer?: boolean,
>   team_id?: number,
>   abbreviation?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string \| null` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `days_to_thermometer` | `number` | Yes | — |
| `color` | `string \| null` | Yes | — |
| `workflow_id` | `number` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `start_time` | `string` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `follower_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `show_thermometer` | `boolean` | Yes | — |
| `team_id` | `number` | Yes | — |
| `iteration_length` | `number` | Yes | — |
| `abbreviation` | `string \| null` | Yes | — |
| `stats` | `object` | Yes | — |
| `created_at` | `string \| null` | Yes | — |

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_stories: number,
>   num_points: number,
>   num_related_documents: number
> }
> ```

***

## Update Story

### put

`updateStory.put`

Update Story

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateStory.put({"path":{"storyPublicId":1},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   archived?: boolean,
>   labels?: {
>     name: string,
>     description?: string,
>     color?: string,
>     external_id?: string
>   }[],
>   pull_request_ids?: number[],
>   story_type?: feature | chore | bug,
>   custom_fields?: {
>     field_id: string,
>     value_id: string,
>     value?: string
>   }[],
>   move_to?: last | first,
>   file_ids?: number[],
>   completed_at_override?: string | null,
>   name?: string,
>   epic_id?: number | null,
>   external_links?: string[],
>   branch_ids?: number[],
>   commit_ids?: number[],
>   sub_tasks?: {
>     story_id: number
>   }[],
>   requested_by_id?: string,
>   iteration_id?: number | null,
>   started_at_override?: string | null,
>   group_id?: string | null,
>   workflow_state_id?: number,
>   follower_ids?: string[],
>   owner_ids?: string[],
>   parent_story_id?: number | null,
>   before_id?: number,
>   estimate?: number | null,
>   after_id?: number,
>   project_id?: number | null,
>   linked_file_ids?: number[],
>   deadline?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `description` | `string` | Yes | — |
| `archived` | `boolean` | Yes | — |
| `started` | `boolean` | Yes | — |
| `story_links` | `object[]` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `labels` | `object[]` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `synced_item` | `object` | No | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `story_type` | `string` | Yes | — |
| `custom_fields` | `object[]` | No | — |
| `linked_files` | `object[]` | Yes | — |
| `workflow_id` | `number` | Yes | — |
| `completed_at_override` | `string \| null` | Yes | — |
| `started_at` | `string \| null` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `name` | `string` | Yes | — |
| `global_id` | `string` | Yes | — |
| `completed` | `boolean` | Yes | — |
| `comments` | `object[]` | Yes | — |
| `blocker` | `boolean` | Yes | — |
| `branches` | `object[]` | Yes | — |
| `epic_id` | `number \| null` | Yes | — |
| `story_template_id` | `string \| null` | Yes | — |
| `external_links` | `string[]` | Yes | — |
| `previous_iteration_ids` | `number[]` | Yes | — |
| `requested_by_id` | `string` | Yes | — |
| `iteration_id` | `number \| null` | Yes | — |
| `sub_task_story_ids` | `number[]` | No | — |
| `tasks` | `object[]` | Yes | — |
| `formatted_vcs_branch_name` | `string \| null` | No | — |
| `label_ids` | `number[]` | Yes | — |
| `started_at_override` | `string \| null` | Yes | — |
| `group_id` | `string \| null` | Yes | — |
| `workflow_state_id` | `number` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `pull_requests` | `object[]` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `follower_ids` | `string[]` | Yes | — |
| `owner_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `lead_time` | `number` | No | — |
| `parent_story_id` | `number \| null` | No | — |
| `estimate` | `number \| null` | Yes | — |
| `commits` | `object[]` | Yes | — |
| `files` | `object[]` | Yes | — |
| `position` | `number` | Yes | — |
| `blocked` | `boolean` | Yes | — |
| `project_id` | `number \| null` | Yes | — |
| `deadline` | `string \| null` | Yes | — |
| `stats` | `object` | Yes | — |
| `cycle_time` | `number` | No | — |
| `created_at` | `string` | Yes | — |
| `moved_at` | `string \| null` | Yes | — |

> [accordion] story\_links full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   object_id: number,
>   verb: string,
>   type: string,
>   updated_at: string,
>   id: number,
>   subject_id: number,
>   subject_workflow_state_id: number,
>   created_at: string
> }[]
> ```

> [accordion] labels full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   description: string | null,
>   archived: boolean,
>   entity_type: string,
>   color: string | null,
>   name: string,
>   global_id: string,
>   updated_at: string | null,
>   external_id: string | null,
>   id: number,
>   created_at: string | null
> }[]
> ```

> [accordion] synced\_item full type
>
> ```ts theme={null}
> {
>   external_id: string,
>   url: string
> }
> ```

> [accordion] custom\_fields full type
>
> ```ts theme={null}
> {
>   field_id: string,
>   value_id: string,
>   value: string
> }[]
> ```

> [accordion] linked\_files full type
>
> ```ts theme={null}
> {
>   description: string | null,
>   entity_type: string,
>   story_ids: number[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   name: string,
>   thumbnail_url: string | null,
>   type: string,
>   size: number | null,
>   uploader_id: string,
>   content_type: string | null,
>   updated_at: string,
>   group_mention_ids: string[],
>   id: number,
>   url: string,
>   created_at: string
> }[]
> ```

> [accordion] comments full type
>
> ```ts theme={null}
> {
>   app_url: string,
>   entity_type: string,
>   deleted: boolean,
>   story_id: number,
>   mention_ids: string[],
>   author_id: string | null,
>   member_mention_ids: string[],
>   blocker?: boolean,
>   linked_to_slack: boolean,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   external_id: string | null,
>   parent_id?: number | null,
>   id: number,
>   position: number,
>   unblocks_parent?: boolean,
>   reactions: {
>     emoji: string,
>     permission_ids: string[]
>   }[],
>   created_at: string,
>   text: string | null
> }[]
> ```

> [accordion] branches full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   deleted: boolean,
>   name: string,
>   persistent: boolean,
>   updated_at: string | null,
>   pull_requests: {
>     entity_type: string,
>     closed: boolean,
>     merged: boolean,
>     num_added: number,
>     branch_id: number,
>     overlapping_stories?: number[],
>     number: number,
>     branch_name: string,
>     target_branch_name: string,
>     num_commits: number | null,
>     title: string,
>     updated_at: string,
>     has_overlapping_stories: boolean,
>     draft: boolean,
>     id: number,
>     vcs_labels?: {
>       entity_type: string,
>       id: number,
>       color: string,
>       description?: string | null,
>       name: string
>     }[] | null,
>     url: string,
>     num_removed: number,
>     review_status?: string,
>     num_modified: number | null,
>     build_status?: string,
>     target_branch_id: number,
>     repository_id: number,
>     created_at: string
>   }[],
>   merged_branch_ids: number[],
>   id: number | null,
>   url: string,
>   repository_id: number,
>   created_at: string | null
> }[]
> ```

> [accordion] tasks full type
>
> ```ts theme={null}
> {
>   description: string,
>   entity_type: string,
>   story_id: number,
>   mention_ids: string[],
>   member_mention_ids: string[],
>   completed_at: string | null,
>   global_id: string,
>   updated_at: string | null,
>   group_mention_ids: string[],
>   owner_ids: string[],
>   external_id: string | null,
>   id: number,
>   position: number,
>   complete: boolean,
>   created_at: string
> }[]
> ```

> [accordion] pull\_requests full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   closed: boolean,
>   merged: boolean,
>   num_added: number,
>   branch_id: number,
>   overlapping_stories?: number[],
>   number: number,
>   branch_name: string,
>   target_branch_name: string,
>   num_commits: number | null,
>   title: string,
>   updated_at: string,
>   has_overlapping_stories: boolean,
>   draft: boolean,
>   id: number,
>   vcs_labels?: {
>     entity_type: string,
>     id: number,
>     color: string,
>     description?: string | null,
>     name: string
>   }[] | null,
>   url: string,
>   num_removed: number,
>   review_status?: string,
>   num_modified: number | null,
>   build_status?: string,
>   target_branch_id: number,
>   repository_id: number,
>   created_at: string
> }[]
> ```

> [accordion] commits full type
>
> ```ts theme={null}
> {
>   entity_type: string,
>   author_id: string | null,
>   hash: string,
>   updated_at: string | null,
>   id: number | null,
>   url: string,
>   author_email: string,
>   timestamp: string,
>   author_identity: {
>     entity_type: string,
>     name: string | null,
>     type: slack | github | gitlab | bitbucket | string | null
>   },
>   repository_id: number | null,
>   created_at: string,
>   message: string
> }[]
> ```

> [accordion] files full type
>
> ```ts theme={null}
> {
>   description: string | null,
>   entity_type: string,
>   story_ids: number[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   name: string,
>   thumbnail_url: string | null,
>   size: number,
>   uploader_id: string,
>   content_type: string,
>   updated_at: string | null,
>   filename: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   url: string | null,
>   created_at: string
> }[]
> ```

> [accordion] stats full type
>
> ```ts theme={null}
> {
>   num_related_documents: number
> }
> ```

***

## Update Story Comment

### put

`updateStoryComment.put`

Update Story Comment

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateStoryComment.put({"path":{"storyPublicId":1,"commentPublicId":1},"body":{"text":"Looks good to me."}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number,
>   commentPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   text: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_url` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `deleted` | `boolean` | Yes | — |
| `story_id` | `number` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `author_id` | `string \| null` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `blocker` | `boolean` | No | — |
| `linked_to_slack` | `boolean` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `parent_id` | `number \| null` | No | — |
| `id` | `number` | Yes | — |
| `position` | `number` | Yes | — |
| `unblocks_parent` | `boolean` | No | — |
| `reactions` | `object[]` | Yes | — |
| `created_at` | `string` | Yes | — |
| `text` | `string \| null` | Yes | — |

> [accordion] reactions full type
>
> ```ts theme={null}
> {
>   emoji: string,
>   permission_ids: string[]
> }[]
> ```

***

## Update Story Link

### put

`updateStoryLink.put`

Update Story Link

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateStoryLink.put({"path":{"storyLinkPublicId":1},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyLinkPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   verb?: blocks | duplicates | relates to,
>   subject_id?: number,
>   object_id?: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `entity_type` | `string` | Yes | — |
| `id` | `number` | Yes | — |
| `subject_id` | `number` | Yes | — |
| `subject_workflow_state_id` | `number` | Yes | — |
| `verb` | `string` | Yes | — |
| `object_id` | `number` | Yes | — |
| `created_at` | `string` | Yes | — |
| `updated_at` | `string` | Yes | — |

***

## Update Task

### put

`updateTask.put`

Update Task

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.updateTask.put({"path":{"storyPublicId":1,"taskPublicId":1},"body":{}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   storyPublicId: number,
>   taskPublicId: number
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   owner_ids?: string[],
>   complete?: boolean,
>   before_id?: number,
>   after_id?: number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `description` | `string` | Yes | — |
| `entity_type` | `string` | Yes | — |
| `story_id` | `number` | Yes | — |
| `mention_ids` | `string[]` | Yes | — |
| `member_mention_ids` | `string[]` | Yes | — |
| `completed_at` | `string \| null` | Yes | — |
| `global_id` | `string` | Yes | — |
| `updated_at` | `string \| null` | Yes | — |
| `group_mention_ids` | `string[]` | Yes | — |
| `owner_ids` | `string[]` | Yes | — |
| `external_id` | `string \| null` | Yes | — |
| `id` | `number` | Yes | — |
| `position` | `number` | Yes | — |
| `complete` | `boolean` | Yes | — |
| `created_at` | `string` | Yes | — |

***

## Upload Files

### post

`uploadFiles.post`

Upload Files

**Risk:** `write`

```ts theme={null}
await corsair.shortcut.api.uploadFiles.post({"body":{"file0": new Blob(["sample"])}});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

Provide at least `file0`; `file1` through `file3` are optional multipart file fields.

> [accordion] body full type
>
> ```ts theme={null}
> {
>   story_id?: number,
>   file0: custom,
>   file1?: custom,
>   file2?: custom,
>   file3?: custom
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   description: string | null,
>   entity_type: string,
>   story_ids: number[],
>   mention_ids: string[],
>   member_mention_ids: string[],
>   name: string,
>   thumbnail_url: string | null,
>   size: number,
>   uploader_id: string,
>   content_type: string,
>   updated_at: string | null,
>   filename: string,
>   group_mention_ids: string[],
>   external_id: string | null,
>   id: number,
>   url: string | null,
>   created_at: string
> }[]
> ```

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.