Shortcut

Project management for software teams

developer.shortcut.com ↗
Version
3.0
OpenAPI
3.0.0
Endpoints
123
Schemas
192
Updated
3 days ago
Project management project-management agile software
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.app.shortcut.com

Authentication

apiKey

Endpoints

Clear filters

Category 4 endpoints

GET /api/v3/categories

List Categories returns a list of all Categories and their attributes.

operationId: Category_listAll

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/categories
GET /api/v3/categories/{category-public-id}

Get Category returns information about the selected Category.

operationId: Category_getInformation

Parameters

Name In Required Type Description
category-public-id path required integer The unique ID of the Category.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/categories/{category-public-id}
GET /api/v3/categories/{category-public-id}/milestones

List Category Milestones returns a list of all Milestones with the Category.

operationId: Category_listMilestones

Parameters

Name In Required Type Description
category-public-id path required integer The unique ID of the Category.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/categories/{category-public-id}/milestones
GET /api/v3/categories/{category-public-id}/objectives

Returns a list of all Objectives with the Category.

operationId: Category_listObjectives

Parameters

Name In Required Type Description
category-public-id path required integer The unique ID of the Category.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/categories/{category-public-id}/objectives

Customfield 2 endpoints

GET /api/v3/custom-fields
operationId: CustomField_list

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/custom-fields
GET /api/v3/custom-fields/{custom-field-public-id}
operationId: CustomField_getById

Parameters

Name In Required Type Description
custom-field-public-id path required string The unique ID of the CustomField.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/custom-fields/{custom-field-public-id}

Epic 10 endpoints

GET /api/v3/epic-workflow

Returns the Epic Workflow for the Workspace.

operationId: Epic_getWorkflow

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/epic-workflow
GET /api/v3/epics

List Epics returns a list of all Epics and their attributes.

operationId: Epic_listAllAttributes

Parameters

Name In Required Type Description
includes_description query optional boolean A true/false boolean indicating whether to return Epics with their descriptions.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/epics
GET /api/v3/epics/{epic-public-id}

Get Epic returns information about the selected Epic.

operationId: Epic_getInformation

Parameters

Name In Required Type Description
epic-public-id path required integer The unique ID of the Epic.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/epics/{epic-public-id}
GET /api/v3/epics/{epic-public-id}/comments

Get a list of all Comments on an Epic.

operationId: Epic_getAllEpicComments

Parameters

Name In Required Type Description
epic-public-id path required integer The unique ID of the Epic.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/epics/{epic-public-id}/comments
GET /api/v3/epics/{epic-public-id}/comments/{comment-public-id}

This endpoint returns information about the selected Epic Comment.

operationId: Epic_getCommentInfo

Parameters

Name In Required Type Description
epic-public-id path required integer The ID of the associated Epic.
comment-public-id path required integer The ID of the Comment.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/epics/{epic-public-id}/comments/{comment-public-id}
GET /api/v3/epics/{epic-public-id}/stories

Get a list of all Stories in an Epic.

operationId: Epic_listStories

Parameters

Name In Required Type Description
epic-public-id path required integer The unique ID of the Epic.
includes_description query optional boolean A true/false boolean indicating whether to return Stories with their descriptions.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/epics/{epic-public-id}/stories
GET /api/v3/labels/{label-public-id}/epics

List all of the Epics with the Label.

operationId: Epic_listEpics

Parameters

Name In Required Type Description
label-public-id path required integer The unique ID of the Label.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/labels/{label-public-id}/epics
GET /api/v3/milestones/{milestone-public-id}/epics

List all of the Epics within the Milestone.

operationId: Epic_listMilestoneEpics

Parameters

Name In Required Type Description
milestone-public-id path required integer The ID of the Milestone.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/milestones/{milestone-public-id}/epics
GET /api/v3/objectives/{objective-public-id}/epics

List all of the Epics within the Objective.

operationId: Epic_listObjectiveEpics

Parameters

Name In Required Type Description
objective-public-id path required integer The ID of the Objective.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/objectives/{objective-public-id}/epics
GET /api/v3/search/epics

Search Epics lets you search Epics based on desired parameters. Since ordering of stories can change over time (due to search ranking decay, new Epics being created), the `next` value from the previous response can be used as the path and query string for the next page to ensure stable ordering.

operationId: Epic_getEpics

Parameters

Name In Required Type Description
query query required string See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators)
page_size query optional integer The number of search results to include in a page. Minimum of 1 and maximum of 25.
detail query optional string The amount of detail included in each result item. "full" will include all descriptions and comments and more fields on related items such as pull requests, branches and tasks. "slim" omits larger fulltext fields such as descriptions and comments and only references related items by id. The default is "full".
next query optional string The next page token.
entity_types query optional array A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story.

Responses

200 Resource
400 **Either:** (1) Schema mismatch **or** (2) Maximum of 1000 search results exceeded
404 Resource does not exist
422 Unprocessable
GET /api/v3/search/epics

Externallinkstory 1 endpoints

GET /api/v3/external-link/stories

Get Stories which have a given External Link associated with them.

operationId: ExternalLinkStory_getStories

Parameters

Name In Required Type Description
external_link query required string The external link associated with one or more stories.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/external-link/stories

File 4 endpoints

GET /api/v3/files

List Files returns a list of all UploadedFiles in the workspace.

operationId: File_listFiles

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/files
GET /api/v3/files/{file-public-id}

Get File returns information about the selected UploadedFile.

operationId: File_getFileInfo

Parameters

Name In Required Type Description
file-public-id path required integer The File’s unique ID.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/files/{file-public-id}
GET /api/v3/linked-files

List Linked Files returns a list of all Linked-Files and their attributes.

operationId: File_listLinkedFiles

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/linked-files
GET /api/v3/linked-files/{linked-file-public-id}

Get File returns information about the selected Linked File.

operationId: File_getLinkedFileInfo

Parameters

Name In Required Type Description
linked-file-public-id path required integer The unique identifier of the linked file.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/linked-files/{linked-file-public-id}

Group 3 endpoints

GET /api/v3/groups

A group in our API maps to a "Team" within the Shortcut Product. A Team is a collection of Users that can be associated to Stories, Epics, and Iterations within Shortcut.

operationId: Group_listTeams

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/groups
GET /api/v3/groups/{group-public-id}
operationId: Group_getDetails

Parameters

Name In Required Type Description
group-public-id path required string The unique ID of the Group.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/groups/{group-public-id}
GET /api/v3/groups/{group-public-id}/stories

List the Stories assigned to the Group. (By default, limited to 1,000).

operationId: Group_listStories

Parameters

Name In Required Type Description
group-public-id path required string The unique ID of the Group.
limit query optional integer The maximum number of results to return. (Defaults to 1000, max 1000)
offset query optional integer The offset at which to begin returning results. (Defaults to 0)

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/groups/{group-public-id}/stories

Iteration 3 endpoints

GET /api/v3/iterations
operationId: Iteration_getAllIterations

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/iterations
GET /api/v3/iterations/{iteration-public-id}
operationId: Iteration_getById

Parameters

Name In Required Type Description
iteration-public-id path required integer The unique ID of the Iteration.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/iterations/{iteration-public-id}
GET /api/v3/iterations/{iteration-public-id}/stories

Get a list of all Stories in an Iteration.

operationId: Iteration_listStories

Parameters

Name In Required Type Description
iteration-public-id path required integer The unique ID of the Iteration.
includes_description query optional boolean A true/false boolean indicating whether to return Stories with their descriptions.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/iterations/{iteration-public-id}/stories

Keyresult 1 endpoints

GET /api/v3/key-results/{key-result-public-id}

Get Key Result returns information about a chosen Key Result.

operationId: KeyResult_getInformation

Parameters

Name In Required Type Description
key-result-public-id path required string The ID of the Key Result.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/key-results/{key-result-public-id}

Label 3 endpoints

GET /api/v3/labels

List Labels returns a list of all Labels and their attributes.

operationId: Label_list

Parameters

Name In Required Type Description
slim query optional boolean A true/false boolean indicating if the slim versions of the Label should be returned.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/labels
GET /api/v3/labels/{label-public-id}

Get Label returns information about the selected Label.

operationId: Label_getInfo

Parameters

Name In Required Type Description
label-public-id path required integer The unique ID of the Label.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/labels/{label-public-id}
GET /api/v3/labels/{label-public-id}/stories

List all of the Stories with the Label.

operationId: Label_listStories

Parameters

Name In Required Type Description
label-public-id path required integer The unique ID of the Label.
includes_description query optional boolean A true/false boolean indicating whether to return Stories with their descriptions.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/labels/{label-public-id}/stories

Member 3 endpoints

GET /api/v3/member

Returns information about the authenticated member.

operationId: Member_getCurrentInfo

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/member
GET /api/v3/members

Returns information about members of the Workspace.

operationId: Member_listWorkspaceMembers

Parameters

Name In Required Type Description
org-public-id query optional string The unique ID of the Organization to limit the list to.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/members
GET /api/v3/members/{member-public-id}

Returns information about a Member.

operationId: Member_getInfo

Parameters

Name In Required Type Description
member-public-id path required string The Member's unique ID.
org-public-id query optional string The unique ID of the Organization to limit the lookup to.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/members/{member-public-id}

Milestone 2 endpoints

GET /api/v3/milestones

List Milestones returns a list of all Milestones and their attributes.

operationId: Milestone_listAllAttributes

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/milestones
GET /api/v3/milestones/{milestone-public-id}

Get Milestone returns information about a chosen Milestone.

operationId: Milestone_getInfo

Parameters

Name In Required Type Description
milestone-public-id path required integer The ID of the Milestone.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/milestones/{milestone-public-id}

Objective 2 endpoints

GET /api/v3/objectives

List Objectives returns a list of all Objectives and their attributes.

operationId: Objective_listAll

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/objectives
GET /api/v3/objectives/{objective-public-id}

Get Objective returns information about a chosen Objective.

operationId: Objective_getInfo

Parameters

Name In Required Type Description
objective-public-id path required integer The ID of the Objective.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/objectives/{objective-public-id}

Project 3 endpoints

GET /api/v3/projects

List Projects returns a list of all Projects and their attributes.

operationId: Project_getAll

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/projects
GET /api/v3/projects/{project-public-id}

Get Project returns information about the selected Project.

operationId: Project_getInformation

Parameters

Name In Required Type Description
project-public-id path required integer The unique ID of the Project.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/projects/{project-public-id}
GET /api/v3/projects/{project-public-id}/stories

List Stories returns a list of all Stories in a selected Project and their attributes.

operationId: Project_listStories

Parameters

Name In Required Type Description
project-public-id path required integer The unique ID of the Project.
includes_description query optional boolean A true/false boolean indicating whether to return Stories with their descriptions.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/projects/{project-public-id}/stories

Repository 2 endpoints

GET /api/v3/repositories

List Repositories returns a list of all Repositories and their attributes.

operationId: Repository_listAll

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/repositories
GET /api/v3/repositories/{repo-public-id}

Get Repository returns information about the selected Repository.

operationId: Repository_getInformation

Parameters

Name In Required Type Description
repo-public-id path required integer The unique ID of the Repository.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/repositories/{repo-public-id}

Story 6 endpoints

GET /api/v3/stories/{story-public-id}

Get Story returns information about a chosen Story.

operationId: Story_getInformation

Parameters

Name In Required Type Description
story-public-id path required integer The ID of the Story.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/stories/{story-public-id}
GET /api/v3/stories/{story-public-id}/comments

Lists Comments associated with a Story

operationId: Story_listComments

Parameters

Name In Required Type Description
story-public-id path required integer The ID of the Story that the Comment is in.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/stories/{story-public-id}/comments
GET /api/v3/stories/{story-public-id}/comments/{comment-public-id}

Get Comment is used to get Comment information.

operationId: Story_getComment

Parameters

Name In Required Type Description
story-public-id path required integer The ID of the Story that the Comment is in.
comment-public-id path required integer The ID of the Comment.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/stories/{story-public-id}/comments/{comment-public-id}
GET /api/v3/stories/{story-public-id}/history
operationId: Story_getHistory

Parameters

Name In Required Type Description
story-public-id path required integer The ID of the Story.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/stories/{story-public-id}/history
GET /api/v3/stories/{story-public-id}/tasks/{task-public-id}

Returns information about a chosen Task.

operationId: Story_getTaskInformation

Parameters

Name In Required Type Description
story-public-id path required integer The unique ID of the Story this Task is associated with.
task-public-id path required integer The unique ID of the Task.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/stories/{story-public-id}/tasks/{task-public-id}
GET /api/v3/story-links/{story-link-public-id}

Returns the stories and their relationship for the given Story Link.

operationId: Story_getRelationship

Parameters

Name In Required Type Description
story-link-public-id path required integer The unique ID of the Story Link.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/story-links/{story-link-public-id}

Template 2 endpoints

GET /api/v3/entity-templates

List all the entity templates for the Workspace.

operationId: Template_listEntityTemplates

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/entity-templates
GET /api/v3/entity-templates/{entity-template-public-id}

Get Entity Template returns information about a given entity template.

operationId: Template_getInformation

Parameters

Name In Required Type Description
entity-template-public-id path required string The unique ID of the entity template.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/entity-templates/{entity-template-public-id}

Workflow 2 endpoints

GET /api/v3/workflows

Returns a list of all Workflows in the Workspace.

operationId: Workflow_listAll

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/workflows
GET /api/v3/workflows/{workflow-public-id}

Get Workflow returns information about a chosen Workflow.

operationId: Workflow_getInformation

Parameters

Name In Required Type Description
workflow-public-id path required integer The ID of the Workflow.

Responses

200 Resource
400 Schema mismatch
404 Resource does not exist
422 Unprocessable
GET /api/v3/workflows/{workflow-public-id}

Schemas

object BaseTaskParams
{
  "type": "object",
  "required": [
    "description"
  ],
  "properties": {
    "complete": {
      "type": "boolean",
      "description": "True/false boolean indicating whether the Task is completed. Defaults to false."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any members you want to add as Owners on this new Task."
    },
    "description": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1,
      "description": "The Task description."
    },
    "external_id": {
      "type": "string",
      "description": "This field can be set to another unique ID. In the case that the Task has been imported from another tool, the ID in the other tool can be indicated here."
    }
  },
  "description": "Request parameters for specifying how to pre-populate a task through a template."
}
object BasicWorkspaceInfo
{
  "type": "object",
  "required": [
    "url_slug",
    "estimate_scale"
  ],
  "properties": {
    "url_slug": {
      "type": "string"
    },
    "estimate_scale": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      }
    }
  }
}
object Branch
{
  "type": "object",
  "required": [
    "entity_type",
    "deleted",
    "name",
    "persistent",
    "updated_at",
    "pull_requests",
    "merged_branch_ids",
    "id",
    "url",
    "repository_id",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The unique ID of the Branch."
    },
    "url": {
      "type": "string",
      "description": "The URL of the Branch."
    },
    "name": {
      "type": "string",
      "description": "The name of the Branch."
    },
    "deleted": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Branch has been deleted."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Branch was created."
    },
    "persistent": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Branch is persistent; e.g. master."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Branch was updated."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "pull_requests": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PullRequest"
      },
      "description": "An array of PullRequests attached to the Branch (there is usually only one)."
    },
    "repository_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the Repository that contains the Branch."
    },
    "merged_branch_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The IDs of the Branches the Branch has been merged into."
    }
  },
  "description": "Branch refers to a VCS branch. Branches are feature branches associated with Shortcut Stories."
}
object Category
{
  "type": "object",
  "required": [
    "archived",
    "entity_type",
    "color",
    "name",
    "global_id",
    "type",
    "updated_at",
    "external_id",
    "id",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Category."
    },
    "name": {
      "type": "string",
      "description": "The name of the Category."
    },
    "type": {
      "type": "string",
      "x-doc-skip": true,
      "description": "The type of entity this Category is associated with; currently Milestone or Objective is the only type of Category."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "nullable": true,
      "minLength": 1,
      "description": "The hex color to be displayed with the Category (for example, \"#ff0000\")."
    },
    "archived": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Category has been archived."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true,
      "description": "The Global ID of the Category."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date that the Category was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date that the Category was updated."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Category has been imported from another tool, the ID in the other tool can be indicated here."
    }
  },
  "description": "A Category can be used to associate Objectives."
}
array CategoryListAllResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Category"
  }
}
array CategoryListMilestonesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Milestone"
  }
}
array CategoryListObjectivesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Milestone"
  }
}
object Commit
{
  "type": "object",
  "required": [
    "entity_type",
    "author_id",
    "hash",
    "updated_at",
    "id",
    "url",
    "author_email",
    "timestamp",
    "author_identity",
    "repository_id",
    "created_at",
    "message"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The unique ID of the Commit."
    },
    "url": {
      "type": "string",
      "description": "The URL of the Commit."
    },
    "hash": {
      "type": "string",
      "description": "The Commit hash."
    },
    "message": {
      "type": "string",
      "description": "The Commit message."
    },
    "author_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the Member that authored the Commit, if known."
    },
    "timestamp": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Commit was pushed."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Commit was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Commit was updated."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "author_email": {
      "type": "string",
      "description": "The email address of the VCS user that authored the Commit."
    },
    "repository_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the Repository that contains the Commit."
    },
    "author_identity": {
      "$ref": "#/components/schemas/Identity"
    }
  },
  "description": "Commit refers to a VCS commit and all associated details."
}
object CreateCategory
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "The name of the new Category."
    },
    "type": {
      "x-doc-skip": true,
      "description": "The type of entity this Category is associated with; currently Milestone or Objective is the only type of Category."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "minLength": 1,
      "description": "The hex color to be displayed with the Category (for example, \"#ff0000\")."
    },
    "external_id": {
      "type": "string",
      "minLength": 1,
      "description": "This field can be set to another unique ID. In the case that the Category has been imported from another tool, the ID in the other tool can be indicated here."
    }
  },
  "x-doc-skip": true
}
object CreateCategoryParams
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "The name of the new Category."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "minLength": 1,
      "description": "The hex color to be displayed with the Category (for example, \"#ff0000\")."
    },
    "external_id": {
      "type": "string",
      "minLength": 1,
      "description": "This field can be set to another unique ID. In the case that the Category has been imported from another tool, the ID in the other tool can be indicated here."
    }
  },
  "description": "Request parameters for creating a Category with a Objective."
}
object CreateCommentComment
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 100000,
      "minLength": 1,
      "description": "The comment text."
    },
    "author_id": {
      "type": "string",
      "format": "uuid",
      "description": "The Member ID of the Comment's author. Defaults to the user identified by the API token."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date the comment is created, but can be set to reflect another date."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date the comment is last updated, but can be set to reflect another date."
    },
    "external_id": {
      "type": "string",
      "description": "This field can be set to another unique ID. In the case that the comment has been imported from another tool, the ID in the other tool can be indicated here."
    }
  },
  "x-doc-skip": true
}
object CreateEntityTemplate
{
  "type": "object",
  "required": [
    "name",
    "story_contents"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "The name of the new entity template"
    },
    "author_id": {
      "type": "string",
      "format": "uuid",
      "description": "The id of the user creating this template."
    },
    "story_contents": {
      "$ref": "#/components/schemas/CreateStoryContents"
    }
  },
  "description": "Request paramaters for creating an entirely new entity template."
}
object CreateEpic
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 256,
      "minLength": 1,
      "description": "The Epic's name."
    },
    "state": {
      "enum": [
        "in progress",
        "to do",
        "done"
      ],
      "type": "string",
      "description": "`Deprecated` The Epic's state (to do, in progress, or done); will be ignored when `epic_state_id` is set."
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateLabelParams"
      },
      "description": "An array of Labels attached to the Epic."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The Epic's deadline."
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "`Deprecated` The ID of the group to associate with the epic. Use `group_ids`."
    },
    "group_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDS for Groups to which this Epic is related."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any members you want to add as Owners on this new Epic."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date it is created but can be set to reflect another date."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date it is created but can be set to reflect another date."
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The Epic's description."
    },
    "external_id": {
      "type": "string",
      "description": "This field can be set to another unique ID. In the case that the Epic has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members you want to add as Followers on this new Epic."
    },
    "milestone_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "`Deprecated` The ID of the Milestone this Epic is related to. Use `objective_ids`."
    },
    "epic_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the Epic State."
    },
    "objective_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs for Objectives to which this Epic is related."
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the member that requested the epic."
    },
    "planned_start_date": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The Epic's planned start date."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "description": "A manual override for the time/date the Epic was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "description": "A manual override for the time/date the Epic was completed."
    }
  },
  "x-doc-skip": true
}
object CreateEpicComment
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 100000,
      "minLength": 1,
      "description": "The comment text."
    },
    "author_id": {
      "type": "string",
      "format": "uuid",
      "description": "The Member ID of the Comment's author. Defaults to the user identified by the API token."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date the comment is created, but can be set to reflect another date."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date the comment is last updated, but can be set to reflect another date."
    },
    "external_id": {
      "type": "string",
      "description": "This field can be set to another unique ID. In the case that the comment has been imported from another tool, the ID in the other tool can be indicated here."
    }
  },
  "x-doc-skip": true
}
object CreateGroup
{
  "type": "object",
  "required": [
    "name",
    "mention_name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 63,
      "minLength": 1,
      "description": "The name of this Group."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "minLength": 1,
      "description": "The color you wish to use for the Group in the system."
    },
    "color_key": {
      "enum": [
        "blue",
        "purple",
        "midnight-blue",
        "orange",
        "yellow-green",
        "brass",
        "gray",
        "fuchsia",
        "yellow",
        "pink",
        "sky-blue",
        "green",
        "red",
        "black",
        "slate",
        "turquoise"
      ],
      "type": "string",
      "description": "The color key you wish to use for the Group in the system."
    },
    "member_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The Member ids to add to this Group.",
      "uniqueItems": true
    },
    "description": {
      "type": "string",
      "description": "The description of the Group."
    },
    "mention_name": {
      "type": "string",
      "maxLength": 63,
      "minLength": 1,
      "description": "The mention name of this Group."
    },
    "workflow_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The Workflow ids to add to the Group."
    },
    "display_icon_id": {
      "type": "string",
      "format": "uuid",
      "description": "The Icon id for the avatar of this Group."
    }
  }
}
object CreateIteration
{
  "type": "object",
  "required": [
    "name",
    "start_date",
    "end_date"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 256,
      "minLength": 1,
      "description": "The name of this Iteration."
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateLabelParams"
      },
      "description": "An array of Labels attached to the Iteration."
    },
    "end_date": {
      "type": "string",
      "minLength": 1,
      "description": "The date this Iteration ends, e.g. 2019-07-01."
    },
    "group_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Groups you want to add as Followers. Currently, only one Group association is presented in our web UI."
    },
    "start_date": {
      "type": "string",
      "minLength": 1,
      "description": "The date this Iteration begins, e.g. 2019-07-01."
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The description of the Iteration."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members you want to add as Followers."
    }
  }
}
object CreateLabelParams
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1,
      "description": "The name of the new Label."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "minLength": 1,
      "description": "The hex color to be displayed with the Label (for example, \"#ff0000\")."
    },
    "description": {
      "type": "string",
      "description": "The description of the new Label."
    },
    "external_id": {
      "type": "string",
      "minLength": 1,
      "description": "This field can be set to another unique ID. In the case that the Label has been imported from another tool, the ID in the other tool can be indicated here."
    }
  },
  "description": "Request parameters for creating a Label on a Shortcut Story."
}
object CreateLinkedFile
{
  "type": "object",
  "required": [
    "name",
    "type",
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The URL of linked file."
    },
    "name": {
      "type": "string",
      "maxLength": 256,
      "minLength": 1,
      "description": "The name of the file."
    },
    "size": {
      "type": "integer",
      "format": "int64",
      "description": "The filesize, if the integration provided it."
    },
    "type": {
      "enum": [
        "google",
        "url",
        "dropbox",
        "box",
        "onedrive"
      ],
      "type": "string",
      "description": "The integration type of the file (e.g. google, dropbox, box)."
    },
    "story_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the linked story."
    },
    "description": {
      "type": "string",
      "description": "The description of the file."
    },
    "uploader_id": {
      "type": "string",
      "format": "uuid",
      "description": "The UUID of the member that uploaded the file."
    },
    "content_type": {
      "type": "string",
      "description": "The content type of the image (e.g. txt/plain)."
    },
    "thumbnail_url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The URL of the thumbnail, if the integration provided it."
    }
  },
  "x-doc-skip": true
}
object CreateMilestone
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 256,
      "minLength": 1,
      "description": "The name of the Milestone."
    },
    "state": {
      "enum": [
        "in progress",
        "to do",
        "done"
      ],
      "type": "string",
      "description": "The workflow state that the Milestone is in."
    },
    "categories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateCategoryParams"
      },
      "description": "An array of IDs of Categories attached to the Milestone."
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The Milestone's description."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "description": "A manual override for the time/date the Milestone was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "description": "A manual override for the time/date the Milestone was completed."
    }
  },
  "x-doc-skip": true
}
object CreateObjective
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 256,
      "minLength": 1,
      "description": "The name of the Objective."
    },
    "state": {
      "enum": [
        "in progress",
        "to do",
        "done"
      ],
      "type": "string",
      "description": "The workflow state that the Objective is in."
    },
    "categories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateCategoryParams"
      },
      "description": "An array of IDs of Categories attached to the Objective."
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The Objective's description."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "description": "A manual override for the time/date the Objective was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "description": "A manual override for the time/date the Objective was completed."
    }
  },
  "x-doc-skip": true
}
object CreateOrDeleteStoryReaction
{
  "type": "object",
  "required": [
    "emoji"
  ],
  "properties": {
    "emoji": {
      "type": "string",
      "description": "The emoji short-code to add / remove. E.g. `:thumbsup::skin-tone-4:`."
    }
  },
  "x-doc-skip": true
}
object CreateProject
{
  "type": "object",
  "required": [
    "name",
    "team_id"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1,
      "description": "The name of the Project."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "minLength": 1,
      "description": "The color you wish to use for the Project in the system."
    },
    "team_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the team the project belongs to."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date it is created but can be set to reflect another date."
    },
    "start_time": {
      "type": "string",
      "format": "date-time",
      "description": "The date at which the Project was started."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date it is created but can be set to reflect another date."
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The Project description."
    },
    "external_id": {
      "type": "string",
      "description": "This field can be set to another unique ID. In the case that the Project has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "abbreviation": {
      "type": "string",
      "description": "The Project abbreviation used in Story summaries. Should be kept to 3 characters at most."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any members you want to add as Owners on this new Epic."
    },
    "iteration_length": {
      "type": "integer",
      "format": "int64",
      "description": "The number of weeks per iteration in this Project."
    }
  },
  "x-doc-skip": true
}
object CreateStories
{
  "type": "object",
  "required": [
    "stories"
  ],
  "properties": {
    "stories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateStoryParams"
      },
      "description": "An array of stories to be created."
    }
  },
  "x-doc-skip": true
}
object CreateStoryComment
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 100000,
      "description": "The comment text."
    },
    "author_id": {
      "type": "string",
      "format": "uuid",
      "description": "The Member ID of the Comment's author. Defaults to the user identified by the API token."
    },
    "parent_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the Comment that this comment is threaded under."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date the comment is created, but can be set to reflect another date."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date the comment is last updated, but can be set to reflect another date."
    },
    "external_id": {
      "type": "string",
      "description": "This field can be set to another unique ID. In the case that the comment has been imported from another tool, the ID in the other tool can be indicated here."
    }
  },
  "x-doc-skip": true
}
object CreateStoryCommentParams
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 100000,
      "description": "The comment text."
    },
    "author_id": {
      "type": "string",
      "format": "uuid",
      "description": "The Member ID of the Comment's author. Defaults to the user identified by the API token."
    },
    "parent_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the Comment that this comment is threaded under."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date the comment is created, but can be set to reflect another date."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date the comment is last updated, but can be set to reflect another date."
    },
    "external_id": {
      "type": "string",
      "description": "This field can be set to another unique ID. In the case that the comment has been imported from another tool, the ID in the other tool can be indicated here."
    }
  },
  "description": "Request parameters for creating a Comment on a Shortcut Story."
}
object CreateStoryContents
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the story."
    },
    "tasks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BaseTaskParams"
      },
      "description": "An array of tasks to be populated by the template."
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateLabelParams"
      },
      "description": "An array of labels to be populated by the template."
    },
    "epic_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the epic the to be populated."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The due date of the story."
    },
    "estimate": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The numeric point estimate to be populated."
    },
    "file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of the attached file IDs to be populated.",
      "uniqueItems": true
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the group to be populated."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the owners of this story."
    },
    "project_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the project the story belongs to."
    },
    "story_type": {
      "type": "string",
      "description": "The type of story (feature, bug, chore)."
    },
    "description": {
      "type": "string",
      "description": "The description of the story."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members listed as Followers."
    },
    "iteration_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the iteration the to be populated."
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldValueParams"
      },
      "description": "An array of maps specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField."
    },
    "external_links": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of external links to be populated."
    },
    "linked_file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of the linked file IDs to be populated.",
      "uniqueItems": true
    },
    "workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the workflow state to be populated."
    }
  },
  "description": "A map of story attributes this template populates."
}
object CreateStoryFromTemplateParams
{
  "type": "object",
  "required": [
    "story_template_id"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 512,
      "minLength": 1,
      "description": "The name of the story. Must be provided if the template does not provide a name."
    },
    "tasks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateTaskParams"
      },
      "description": "An array of tasks connected to the story."
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateLabelParams"
      },
      "description": "An array of labels attached to the story."
    },
    "epic_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the epic the story belongs to."
    },
    "move_to": {
      "enum": [
        "last",
        "first"
      ],
      "type": "string",
      "description": "One of \"first\" or \"last\". This can be used to move the given story to the first or last position in the workflow state."
    },
    "archived": {
      "type": "boolean",
      "description": "Controls the story's archived state."
    },
    "comments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateStoryCommentParams"
      },
      "description": "An array of comments to add to the story."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The due date of the story."
    },
    "estimate": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The numeric point estimate of the story. Can also be null, which means unestimated."
    },
    "file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of files attached to the story.",
      "uniqueItems": true
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The id of the group to associate with this story."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the owners of this story.",
      "uniqueItems": true
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Story was created."
    },
    "labels_add": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateLabelParams"
      },
      "description": "An array of labels attached to the story in addition to the labels provided by the template. Cannot be used in conjunction with `labels`.",
      "uniqueItems": true
    },
    "project_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the project the story belongs to."
    },
    "story_type": {
      "enum": [
        "feature",
        "chore",
        "bug"
      ],
      "type": "string",
      "description": "The type of story (feature, bug, chore)."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Story was updated."
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The description of the story."
    },
    "external_id": {
      "type": "string",
      "description": "This field can be set to another unique ID. In the case that the Story has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "story_links": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateStoryLinkParams"
      },
      "description": "An array of story links attached to the story."
    },
    "file_ids_add": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of files attached to the story in addition to files from the template. Cannot be used in conjunction with `file_ids`.",
      "uniqueItems": true
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the followers of this story.",
      "uniqueItems": true
    },
    "iteration_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the iteration the story belongs to."
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldValueParams"
      },
      "description": "A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField."
    },
    "labels_remove": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/RemoveLabelParams"
      },
      "description": "An array of labels to remove from the labels provided by the template. Cannot be used in conjunction with `labels`.",
      "uniqueItems": true
    },
    "owner_ids_add": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The UUIDs of the new owners to be added in addition to owners from the template. Cannot be used in conjunction with `owners`.",
      "uniqueItems": true
    },
    "external_links": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of External Links associated with this story."
    },
    "file_ids_remove": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of files removed from files from the template. Cannot be used in conjunction with `file_ids`.",
      "uniqueItems": true
    },
    "linked_file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of linked files attached to the story.",
      "uniqueItems": true
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the member that requested the story."
    },
    "follower_ids_add": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The UUIDs of the new followers to be added in addition to followers from the template. Cannot be used in conjunction with `follower_ids.`",
      "uniqueItems": true
    },
    "owner_ids_remove": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The UUIDs of the new owners to be removed from owners from the template. Cannot be used in conjunction with `owners`.",
      "uniqueItems": true
    },
    "custom_fields_add": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldValueParams"
      },
      "description": "A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. These will be added to any fields provided by the template. Cannot be used in conjunction with `custom_fields`.",
      "uniqueItems": true
    },
    "story_template_id": {
      "type": "string",
      "format": "uuid",
      "description": "The id of the story template used to create this story."
    },
    "workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the workflow state the story will be in."
    },
    "external_links_add": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of External Links associated with this story. These will be added to any links provided by the template. Cannot be used in conjunction with `external_links`.",
      "uniqueItems": true
    },
    "follower_ids_remove": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The UUIDs of the new followers to be removed from followers from the template. Cannot be used in conjunction with `follower_ids`.",
      "uniqueItems": true
    },
    "linked_file_ids_add": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of linked files attached to the story in addition to files from the template. Cannot be used in conjunction with `linked_files`.",
      "uniqueItems": true
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "description": "A manual override for the time/date the Story was started."
    },
    "custom_fields_remove": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/RemoveCustomFieldParams"
      },
      "description": "A map specifying a CustomField ID. These will be removed from any fields provided by the template. Cannot be used in conjunction with `custom_fields`.",
      "uniqueItems": true
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "description": "A manual override for the time/date the Story was completed."
    },
    "external_links_remove": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of External Links associated with this story. These will be removed from any links provided by the template. Cannot be used in conjunction with `external_links`.",
      "uniqueItems": true
    },
    "linked_file_ids_remove": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of linked files removed from files from the template. Cannot be used in conjunction with `linked_files.`",
      "uniqueItems": true
    }
  },
  "description": "Request parameters for creating a story from a story template. These parameters are merged with the values derived from the template."
}
object CreateStoryLink
{
  "type": "object",
  "required": [
    "verb",
    "subject_id",
    "object_id"
  ],
  "properties": {
    "verb": {
      "enum": [
        "blocks",
        "duplicates",
        "relates to"
      ],
      "type": "string",
      "description": "The type of link."
    },
    "object_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the object Story."
    },
    "subject_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the subject Story."
    }
  },
  "x-doc-skip": true
}
object CreateStoryLinkParams
{
  "type": "object",
  "required": [
    "verb"
  ],
  "properties": {
    "verb": {
      "enum": [
        "blocks",
        "duplicates",
        "relates to"
      ],
      "type": "string",
      "description": "How the subject Story acts on the object Story. This can be \"blocks\", \"duplicates\", or \"relates to\"."
    },
    "object_id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Story defined as object."
    },
    "subject_id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Story defined as subject."
    }
  },
  "description": "Request parameters for creating a Story Link within a Story."
}
object CreateStoryParams
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 512,
      "minLength": 1,
      "description": "The name of the story."
    },
    "tasks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateTaskParams"
      },
      "description": "An array of tasks connected to the story."
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateLabelParams"
      },
      "description": "An array of labels attached to the story."
    },
    "epic_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the epic the story belongs to."
    },
    "move_to": {
      "enum": [
        "last",
        "first"
      ],
      "type": "string",
      "description": "One of \"first\" or \"last\". This can be used to move the given story to the first or last position in the workflow state."
    },
    "archived": {
      "type": "boolean",
      "description": "Controls the story's archived state."
    },
    "comments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateStoryCommentParams"
      },
      "description": "An array of comments to add to the story."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The due date of the story."
    },
    "estimate": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The numeric point estimate of the story. Can also be null, which means unestimated."
    },
    "file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of files attached to the story.",
      "uniqueItems": true
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The id of the group to associate with this story."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the owners of this story.",
      "uniqueItems": true
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Story was created."
    },
    "project_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the project the story belongs to."
    },
    "story_type": {
      "enum": [
        "feature",
        "chore",
        "bug"
      ],
      "type": "string",
      "description": "The type of story (feature, bug, chore)."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Story was updated."
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The description of the story."
    },
    "external_id": {
      "type": "string",
      "description": "This field can be set to another unique ID. In the case that the Story has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "story_links": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateStoryLinkParams"
      },
      "description": "An array of story links attached to the story."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the followers of this story.",
      "uniqueItems": true
    },
    "iteration_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the iteration the story belongs to."
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldValueParams"
      },
      "description": "A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField."
    },
    "external_links": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of External Links associated with this story."
    },
    "linked_file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of linked files attached to the story.",
      "uniqueItems": true
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the member that requested the story."
    },
    "story_template_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The id of the story template used to create this story, if applicable. This is just an association; no content from the story template is inherited by the story simply by setting this field."
    },
    "workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the workflow state the story will be in."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "description": "A manual override for the time/date the Story was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "description": "A manual override for the time/date the Story was completed."
    }
  },
  "description": "Request parameters for creating a story."
}
object CreateTask
{
  "type": "object",
  "required": [
    "description"
  ],
  "properties": {
    "complete": {
      "type": "boolean",
      "description": "True/false boolean indicating whether the Task is completed. Defaults to false."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any members you want to add as Owners on this new Task."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date the Task is created but can be set to reflect another creation time/date."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date the Task is created in Shortcut but can be set to reflect another time/date."
    },
    "description": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1,
      "description": "The Task description."
    },
    "external_id": {
      "type": "string",
      "description": "This field can be set to another unique ID. In the case that the Task has been imported from another tool, the ID in the other tool can be indicated here."
    }
  },
  "x-doc-skip": true
}
object CreateTaskParams
{
  "type": "object",
  "required": [
    "description"
  ],
  "properties": {
    "complete": {
      "type": "boolean",
      "description": "True/false boolean indicating whether the Task is completed. Defaults to false."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any members you want to add as Owners on this new Task."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date the Task is created but can be set to reflect another creation time/date."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "Defaults to the time/date the Task is created in Shortcut but can be set to reflect another time/date."
    },
    "description": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1,
      "description": "The Task description."
    },
    "external_id": {
      "type": "string",
      "description": "This field can be set to another unique ID. In the case that the Task has been imported from another tool, the ID in the other tool can be indicated here."
    }
  },
  "description": "Request parameters for creating a Task on a Story."
}
object CustomField
{
  "type": "object",
  "required": [
    "entity_type",
    "name",
    "updated_at",
    "id",
    "field_type",
    "position",
    "enabled",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique public ID for the CustomField."
    },
    "name": {
      "type": "string",
      "maxLength": 63,
      "minLength": 1,
      "description": "The name of the Custom Field."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldEnumValue"
      },
      "description": "A collection of legal values for a CustomField."
    },
    "enabled": {
      "type": "boolean",
      "description": "When true, the CustomField can be applied to entities in the Workspace."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "An integer indicating the position of this Custom Field with respect to the other CustomField"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The instant when this CustomField was created."
    },
    "field_type": {
      "enum": [
        "enum"
      ],
      "type": "string",
      "description": "The type of Custom Field, eg. 'enum'."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The instant when this CustomField was last updated."
    },
    "description": {
      "type": "string",
      "maxLength": 512,
      "minLength": 1,
      "description": "A string description of the CustomField"
    },
    "entity_type": {
      "enum": [
        "custom-field"
      ],
      "type": "string",
      "description": "A string description of this resource."
    },
    "story_types": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-doc-skip": true,
      "description": "The types of stories this CustomField is scoped to."
    },
    "canonical_name": {
      "type": "string",
      "description": "The canonical name for a Shortcut-defined field."
    },
    "fixed_position": {
      "type": "boolean",
      "x-doc-skip": true,
      "description": "When true, the CustomFieldEnumValues may not be reordered."
    },
    "icon_set_identifier": {
      "type": "string",
      "maxLength": 63,
      "minLength": 1,
      "description": "A string that represents the icon that corresponds to this custom field."
    }
  }
}
object CustomFieldEnumValue
{
  "type": "object",
  "required": [
    "id",
    "value",
    "position",
    "color_key",
    "entity_type",
    "enabled"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique public ID for the Custom Field."
    },
    "value": {
      "type": "string",
      "maxLength": 63,
      "minLength": 1,
      "description": "A string value within the domain of this Custom Field."
    },
    "enabled": {
      "type": "boolean",
      "x-doc-skip": true,
      "description": "When true, the CustomFieldEnumValue can be selected for the CustomField."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "An integer indicating the position of this Value with respect to the other CustomFieldEnumValues in the enumeration."
    },
    "color_key": {
      "type": "string",
      "nullable": true,
      "description": "A color key associated with this CustomFieldEnumValue."
    },
    "entity_type": {
      "enum": [
        "custom-field-enum-value"
      ],
      "type": "string",
      "description": "A string description of this resource."
    }
  }
}
array CustomFieldListResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/CustomField"
  }
}
object CustomFieldValueParams
{
  "type": "object",
  "required": [
    "field_id",
    "value_id"
  ],
  "properties": {
    "value": {
      "type": "string",
      "description": "A literal value for the CustomField. Currently ignored."
    },
    "field_id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique public ID for the CustomField."
    },
    "value_id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique public ID for the CustomFieldEnumValue."
    }
  }
}
object DataConflictError
{
  "type": "object",
  "required": [
    "error",
    "message"
  ],
  "properties": {
    "error": {
      "enum": [
        "data-conflict-error"
      ],
      "type": "string"
    },
    "message": {
      "type": "string",
      "description": "An explanatory message: \"The update failed due to a data conflict. Please refresh and try again.\""
    }
  },
  "x-doc-skip": true,
  "description": "Error returned when Datomic tx fails due to Datomc :db.error/cas-failed error"
}
object DeleteStories
{
  "type": "object",
  "required": [
    "story_ids"
  ],
  "properties": {
    "story_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of Stories to delete.",
      "uniqueItems": true
    }
  },
  "x-doc-skip": true
}
object EntityTemplate
{
  "type": "object",
  "required": [
    "entity_type",
    "id",
    "created_at",
    "updated_at",
    "name",
    "author_id",
    "last_used_at",
    "story_contents"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique identifier for the entity template."
    },
    "name": {
      "type": "string",
      "description": "The template's name."
    },
    "author_id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique ID of the member who created the template."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date when the entity template was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date when the entity template was last updated."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "last_used_at": {
      "type": "string",
      "format": "date-time",
      "description": "The last time that someone created an entity using this template."
    },
    "story_contents": {
      "$ref": "#/components/schemas/StoryContents"
    }
  },
  "description": "An entity template can be used to prefill various fields when creating new stories."
}
object Epic
{
  "type": "object",
  "required": [
    "app_url",
    "description",
    "archived",
    "started",
    "entity_type",
    "labels",
    "mention_ids",
    "member_mention_ids",
    "associated_groups",
    "project_ids",
    "stories_without_projects",
    "completed_at_override",
    "productboard_plugin_id",
    "started_at",
    "completed_at",
    "objective_ids",
    "name",
    "global_id",
    "completed",
    "comments",
    "productboard_url",
    "planned_start_date",
    "state",
    "milestone_id",
    "requested_by_id",
    "epic_state_id",
    "label_ids",
    "started_at_override",
    "group_id",
    "updated_at",
    "group_mention_ids",
    "productboard_id",
    "follower_ids",
    "group_ids",
    "owner_ids",
    "external_id",
    "id",
    "position",
    "productboard_name",
    "deadline",
    "stats",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Epic."
    },
    "name": {
      "type": "string",
      "description": "The name of the Epic."
    },
    "state": {
      "type": "string",
      "description": "`Deprecated` The workflow state that the Epic is in."
    },
    "stats": {
      "$ref": "#/components/schemas/EpicStats"
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LabelSlim"
      },
      "description": "An array of Labels attached to the Epic."
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Epic."
    },
    "started": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Epic has been started."
    },
    "archived": {
      "type": "boolean",
      "description": "True/false boolean that indicates whether the Epic is archived or not."
    },
    "comments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ThreadedComment"
      },
      "description": "A nested array of threaded comments."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The Epic's deadline."
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "`Deprecated` The ID of the group to associate with the epic. Use `group_ids`."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "The Epic's relative position in the Epic workflow state."
    },
    "completed": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Epic has been completed."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "group_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDS for Groups to which this Epic is related."
    },
    "label_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of Label ids attached to the Epic."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any members you want to add as Owners on this new Epic."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Epic was created."
    },
    "started_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Epic was started."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Epic was updated."
    },
    "description": {
      "type": "string",
      "description": "The Epic's description."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Epic has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Deprecated: use member_mention_ids."
    },
    "project_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The IDs of Projects related to this Epic."
    },
    "completed_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Epic was completed."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members you want to add as Followers on this Epic."
    },
    "milestone_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "`Deprecated` The ID of the Objective this Epic is related to. Use `objective_ids`."
    },
    "epic_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the Epic State."
    },
    "objective_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs for Objectives to which this epic is related."
    },
    "productboard_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the associated productboard feature."
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the Member that requested the epic."
    },
    "productboard_url": {
      "type": "string",
      "nullable": true,
      "description": "The URL of the associated productboard feature."
    },
    "associated_groups": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EpicAssociatedGroup"
      },
      "description": "An array containing Group IDs and Group-owned story counts for the Epic's associated groups."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Group IDs that have been mentioned in the Epic description."
    },
    "productboard_name": {
      "type": "string",
      "nullable": true,
      "description": "The name of the associated productboard feature."
    },
    "member_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Member IDs that have been mentioned in the Epic description."
    },
    "planned_start_date": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The Epic's planned start date."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Epic was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Epic was completed."
    },
    "productboard_plugin_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the associated productboard integration."
    },
    "stories_without_projects": {
      "type": "integer",
      "format": "int64",
      "description": "The number of stories in this epic which are not associated with a project."
    }
  },
  "description": "An Epic is a collection of stories that together might make up a release, a objective, or some other large initiative that you are working on."
}
object EpicAssociatedGroup
{
  "type": "object",
  "required": [
    "group_id"
  ],
  "properties": {
    "group_id": {
      "type": "string",
      "format": "uuid",
      "description": "The Group ID of the associated group."
    },
    "associated_stories_count": {
      "type": "integer",
      "format": "int64",
      "description": "The number of stories this Group owns in the Epic."
    }
  },
  "x-doc-skip": true
}
array EpicGetAllEpicCommentsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/ThreadedComment"
  }
}
array EpicListAllAttributesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/EpicSlim"
  }
}
array EpicListEpicsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/EpicSlim"
  }
}
array EpicListMilestoneEpicsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/EpicSlim"
  }
}
array EpicListObjectiveEpicsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/EpicSlim"
  }
}
array EpicListStoriesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/StorySlim"
  }
}
object EpicSearchResult
{
  "type": "object",
  "required": [
    "app_url",
    "archived",
    "started",
    "entity_type",
    "labels",
    "mention_ids",
    "member_mention_ids",
    "associated_groups",
    "project_ids",
    "stories_without_projects",
    "completed_at_override",
    "productboard_plugin_id",
    "started_at",
    "completed_at",
    "objective_ids",
    "name",
    "global_id",
    "completed",
    "productboard_url",
    "planned_start_date",
    "state",
    "milestone_id",
    "requested_by_id",
    "epic_state_id",
    "label_ids",
    "started_at_override",
    "group_id",
    "updated_at",
    "group_mention_ids",
    "productboard_id",
    "follower_ids",
    "group_ids",
    "owner_ids",
    "external_id",
    "id",
    "position",
    "productboard_name",
    "deadline",
    "stats",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Epic."
    },
    "name": {
      "type": "string",
      "description": "The name of the Epic."
    },
    "state": {
      "type": "string",
      "description": "`Deprecated` The workflow state that the Epic is in."
    },
    "stats": {
      "$ref": "#/components/schemas/EpicStats"
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LabelSlim"
      },
      "description": "An array of Labels attached to the Epic."
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Epic."
    },
    "started": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Epic has been started."
    },
    "archived": {
      "type": "boolean",
      "description": "True/false boolean that indicates whether the Epic is archived or not."
    },
    "comments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ThreadedComment"
      },
      "description": "A nested array of threaded comments."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The Epic's deadline."
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "`Deprecated` The ID of the group to associate with the epic. Use `group_ids`."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "The Epic's relative position in the Epic workflow state."
    },
    "completed": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Epic has been completed."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "group_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDS for Groups to which this Epic is related."
    },
    "label_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of Label ids attached to the Epic."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any members you want to add as Owners on this new Epic."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Epic was created."
    },
    "started_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Epic was started."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Epic was updated."
    },
    "description": {
      "type": "string",
      "description": "The Epic's description."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Epic has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Deprecated: use member_mention_ids."
    },
    "project_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The IDs of Projects related to this Epic."
    },
    "completed_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Epic was completed."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members you want to add as Followers on this Epic."
    },
    "milestone_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "`Deprecated` The ID of the Objective this Epic is related to. Use `objective_ids`."
    },
    "epic_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the Epic State."
    },
    "objective_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs for Objectives to which this epic is related."
    },
    "productboard_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the associated productboard feature."
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the Member that requested the epic."
    },
    "productboard_url": {
      "type": "string",
      "nullable": true,
      "description": "The URL of the associated productboard feature."
    },
    "associated_groups": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EpicAssociatedGroup"
      },
      "description": "An array containing Group IDs and Group-owned story counts for the Epic's associated groups."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Group IDs that have been mentioned in the Epic description."
    },
    "productboard_name": {
      "type": "string",
      "nullable": true,
      "description": "The name of the associated productboard feature."
    },
    "member_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Member IDs that have been mentioned in the Epic description."
    },
    "planned_start_date": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The Epic's planned start date."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Epic was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Epic was completed."
    },
    "productboard_plugin_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the associated productboard integration."
    },
    "stories_without_projects": {
      "type": "integer",
      "format": "int64",
      "description": "The number of stories in this epic which are not associated with a project."
    }
  },
  "description": "An Epic in search results. This is typed differently from Epic because the details=slim search argument will omit some fields."
}
object EpicSearchResults
{
  "type": "object",
  "required": [
    "total",
    "data",
    "next"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EpicSearchResult"
      },
      "description": "A list of search results."
    },
    "next": {
      "type": "string",
      "nullable": true,
      "description": "The URL path and query string for the next page of search results."
    },
    "total": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of matches for the search query. The first 1000 matches can be paged through via the API."
    }
  },
  "description": "The results of the Epic search query."
}
object EpicSlim
{
  "type": "object",
  "required": [
    "app_url",
    "archived",
    "started",
    "entity_type",
    "labels",
    "mention_ids",
    "member_mention_ids",
    "associated_groups",
    "project_ids",
    "stories_without_projects",
    "completed_at_override",
    "productboard_plugin_id",
    "started_at",
    "completed_at",
    "objective_ids",
    "name",
    "global_id",
    "completed",
    "productboard_url",
    "planned_start_date",
    "state",
    "milestone_id",
    "requested_by_id",
    "epic_state_id",
    "label_ids",
    "started_at_override",
    "group_id",
    "updated_at",
    "group_mention_ids",
    "productboard_id",
    "follower_ids",
    "group_ids",
    "owner_ids",
    "external_id",
    "id",
    "position",
    "productboard_name",
    "deadline",
    "stats",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Epic."
    },
    "name": {
      "type": "string",
      "description": "The name of the Epic."
    },
    "state": {
      "type": "string",
      "description": "`Deprecated` The workflow state that the Epic is in."
    },
    "stats": {
      "$ref": "#/components/schemas/EpicStats"
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LabelSlim"
      },
      "description": "An array of Labels attached to the Epic."
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Epic."
    },
    "started": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Epic has been started."
    },
    "archived": {
      "type": "boolean",
      "description": "True/false boolean that indicates whether the Epic is archived or not."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The Epic's deadline."
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "`Deprecated` The ID of the group to associate with the epic. Use `group_ids`."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "The Epic's relative position in the Epic workflow state."
    },
    "completed": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Epic has been completed."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "group_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDS for Groups to which this Epic is related."
    },
    "label_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of Label ids attached to the Epic."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any members you want to add as Owners on this new Epic."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Epic was created."
    },
    "started_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Epic was started."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Epic was updated."
    },
    "description": {
      "type": "string",
      "description": "The Epic's description."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Epic has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Deprecated: use member_mention_ids."
    },
    "project_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The IDs of Projects related to this Epic."
    },
    "completed_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Epic was completed."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members you want to add as Followers on this Epic."
    },
    "milestone_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "`Deprecated` The ID of the Objective this Epic is related to. Use `objective_ids`."
    },
    "epic_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the Epic State."
    },
    "objective_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs for Objectives to which this epic is related."
    },
    "productboard_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the associated productboard feature."
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the Member that requested the epic."
    },
    "productboard_url": {
      "type": "string",
      "nullable": true,
      "description": "The URL of the associated productboard feature."
    },
    "associated_groups": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EpicAssociatedGroup"
      },
      "description": "An array containing Group IDs and Group-owned story counts for the Epic's associated groups."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Group IDs that have been mentioned in the Epic description."
    },
    "productboard_name": {
      "type": "string",
      "nullable": true,
      "description": "The name of the associated productboard feature."
    },
    "member_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Member IDs that have been mentioned in the Epic description."
    },
    "planned_start_date": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The Epic's planned start date."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Epic was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Epic was completed."
    },
    "productboard_plugin_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the associated productboard integration."
    },
    "stories_without_projects": {
      "type": "integer",
      "format": "int64",
      "description": "The number of stories in this epic which are not associated with a project."
    }
  },
  "description": "EpicSlim represents the same resource as an Epic but is more light-weight, including all Epic fields except the comments array. The description string can be optionally included. Use the [Get Epic](https://developer.shortcut.com) endpoint to fetch the unabridged payload for an Epic."
}
object EpicState
{
  "type": "object",
  "required": [
    "description",
    "entity_type",
    "name",
    "global_id",
    "type",
    "updated_at",
    "id",
    "position",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Epic State."
    },
    "name": {
      "type": "string",
      "description": "The Epic State's name."
    },
    "type": {
      "type": "string",
      "description": "The type of Epic State (Unstarted, Started, or Done)"
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "minLength": 1,
      "description": "The hex color for this Epic State."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "The position that the Epic State is in, starting with 0 at the left."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Epic State was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "When the Epic State was last updated."
    },
    "description": {
      "type": "string",
      "description": "The description of what sort of Epics belong in that Epic State."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    }
  },
  "description": "Epic State is any of the at least 3 columns. Epic States correspond to one of 3 types: Unstarted, Started, or Done."
}
object EpicStats
{
  "type": "object",
  "required": [
    "num_points_done",
    "num_related_documents",
    "num_stories_unstarted",
    "num_stories_total",
    "last_story_update",
    "num_points_started",
    "num_points_unstarted",
    "num_stories_started",
    "num_stories_unestimated",
    "num_stories_backlog",
    "num_points_backlog",
    "num_points",
    "num_stories_done"
  ],
  "properties": {
    "num_points": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of points in this Epic."
    },
    "num_points_done": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of completed points in this Epic."
    },
    "num_stories_done": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of done Stories in this Epic."
    },
    "average_lead_time": {
      "type": "integer",
      "format": "int64",
      "description": "The average lead time (in seconds) of completed stories in this Epic."
    },
    "last_story_update": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The date of the last update of a Story in this Epic."
    },
    "num_stories_total": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of Stories in this Epic."
    },
    "average_cycle_time": {
      "type": "integer",
      "format": "int64",
      "description": "The average cycle time (in seconds) of completed stories in this Epic."
    },
    "num_points_backlog": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of backlog points in this Epic."
    },
    "num_points_started": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of started points in this Epic."
    },
    "num_stories_backlog": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of backlog Stories in this Epic."
    },
    "num_stories_started": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of started Stories in this Epic."
    },
    "num_points_unstarted": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of unstarted points in this Epic."
    },
    "num_related_documents": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of documents associated with this Epic."
    },
    "num_stories_unstarted": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of unstarted Stories in this Epic."
    },
    "num_stories_unestimated": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of Stories with no point estimate."
    }
  },
  "description": "A group of calculated values for this Epic."
}
object EpicWorkflow
{
  "type": "object",
  "required": [
    "entity_type",
    "id",
    "created_at",
    "updated_at",
    "default_epic_state_id",
    "epic_states"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Epic Workflow."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date the Epic Workflow was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date the Epic Workflow was updated."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "epic_states": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EpicState"
      },
      "description": "A map of the Epic States in this Epic Workflow."
    },
    "default_epic_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the default Epic State that new Epics are assigned by default."
    }
  },
  "description": "Epic Workflow is the array of defined Epic States. Epic Workflow can be queried using the API but must be updated in the Shortcut UI. "
}
array ExternalLinkStoryGetStoriesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/StorySlim"
  }
}
array FileListFilesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/UploadedFile"
  }
}
array FileListLinkedFilesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/LinkedFile"
  }
}
object FileUploadAndAssociateRequest
{
  "type": "object",
  "required": [
    "file0"
  ],
  "properties": {
    "file0": {
      "type": "string",
      "format": "binary",
      "description": "A file upload. At least one is required."
    },
    "file1": {
      "type": "string",
      "format": "binary",
      "description": "Optional additional files."
    },
    "file2": {
      "type": "string",
      "format": "binary",
      "description": "Optional additional files."
    },
    "file3": {
      "type": "string",
      "format": "binary",
      "description": "Optional additional files."
    },
    "story_id": {
      "type": "integer",
      "format": "int64",
      "description": "The story ID that these files will be associated with."
    }
  }
}
array FileUploadAndAssociateResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/UploadedFile"
  }
}
object Group
{
  "type": "object",
  "required": [
    "app_url",
    "description",
    "archived",
    "entity_type",
    "color",
    "num_stories_started",
    "mention_name",
    "name",
    "global_id",
    "color_key",
    "num_stories",
    "num_epics_started",
    "num_stories_backlog",
    "id",
    "display_icon",
    "member_ids",
    "workflow_ids"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The id of the Group."
    },
    "name": {
      "type": "string",
      "description": "The name of the Group."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "nullable": true,
      "minLength": 1,
      "description": "The hex color to be displayed with the Group (for example, \"#ff0000\")."
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Group."
    },
    "archived": {
      "type": "boolean",
      "description": "Whether or not the Group is archived."
    },
    "color_key": {
      "enum": [
        "blue",
        "purple",
        "midnight-blue",
        "orange",
        "yellow-green",
        "brass",
        "gray",
        "fuchsia",
        "yellow",
        "pink",
        "sky-blue",
        "green",
        "red",
        "black",
        "slate",
        "turquoise"
      ],
      "type": "string",
      "nullable": true,
      "description": "The color key to be displayed with the Group."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "member_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The Member IDs contain within the Group."
    },
    "description": {
      "type": "string",
      "description": "The description of the Group."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "num_stories": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of stories assigned ot the group."
    },
    "display_icon": {
      "$ref": "#/components/schemas/Icon"
    },
    "mention_name": {
      "type": "string",
      "pattern": "^[a-z0-9\\-\\_\\.]+$",
      "minLength": 1,
      "description": "The mention name of the Group."
    },
    "workflow_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The Workflow IDs contained within the Group."
    },
    "num_epics_started": {
      "type": "integer",
      "format": "int64",
      "description": "The number of epics assigned to the group which are in the started workflow state."
    },
    "num_stories_backlog": {
      "type": "integer",
      "format": "int64",
      "description": "The number of stories assigned to the group which are in a backlog workflow state."
    },
    "num_stories_started": {
      "type": "integer",
      "format": "int64",
      "description": "The number of stories assigned to the group which are in a started workflow state."
    }
  },
  "description": "A Group."
}
array GroupListStoriesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/StorySlim"
  }
}
array GroupListTeamsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Group"
  }
}
object History
{
  "type": "object",
  "required": [
    "changed_at",
    "actions",
    "id",
    "version"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID representing the change for the story."
    },
    "actions": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/HistoryActionBranchCreate"
          },
          {
            "$ref": "#/components/schemas/HistoryActionBranchMerge"
          },
          {
            "$ref": "#/components/schemas/HistoryActionBranchPush"
          },
          {
            "$ref": "#/components/schemas/HistoryActionLabelCreate"
          },
          {
            "$ref": "#/components/schemas/HistoryActionLabelUpdate"
          },
          {
            "$ref": "#/components/schemas/HistoryActionLabelDelete"
          },
          {
            "$ref": "#/components/schemas/HistoryActionProjectUpdate"
          },
          {
            "$ref": "#/components/schemas/HistoryActionPullRequest"
          },
          {
            "$ref": "#/components/schemas/HistoryActionStoryCreate"
          },
          {
            "$ref": "#/components/schemas/HistoryActionStoryUpdate"
          },
          {
            "$ref": "#/components/schemas/HistoryActionStoryDelete"
          },
          {
            "$ref": "#/components/schemas/HistoryActionStoryCommentCreate"
          },
          {
            "$ref": "#/components/schemas/HistoryActionStoryLinkCreate"
          },
          {
            "$ref": "#/components/schemas/HistoryActionStoryLinkUpdate"
          },
          {
            "$ref": "#/components/schemas/HistoryActionStoryLinkDelete"
          },
          {
            "$ref": "#/components/schemas/HistoryActionTaskCreate"
          },
          {
            "$ref": "#/components/schemas/HistoryActionTaskUpdate"
          },
          {
            "$ref": "#/components/schemas/HistoryActionTaskDelete"
          },
          {
            "$ref": "#/components/schemas/HistoryActionWorkspace2BulkUpdate"
          }
        ]
      },
      "description": "An array of actions that were performed for the change."
    },
    "version": {
      "enum": [
        "v1"
      ],
      "type": "string",
      "description": "The version of the change format."
    },
    "member_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the member who performed the change."
    },
    "changed_at": {
      "type": "string",
      "description": "The date when the change occurred."
    },
    "primary_id": {
      "oneOf": [
        {
          "type": "integer",
          "format": "int64"
        },
        {
          "type": "string",
          "format": "uuid"
        }
      ],
      "description": "The ID of the primary entity that has changed, if applicable."
    },
    "references": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/HistoryReferenceBranch"
          },
          {
            "$ref": "#/components/schemas/HistoryReferenceCommit"
          },
          {
            "$ref": "#/components/schemas/HistoryReferenceEpic"
          },
          {
            "$ref": "#/components/schemas/HistoryReferenceGroup"
          },
          {
            "$ref": "#/components/schemas/HistoryReferenceIteration"
          },
          {
            "$ref": "#/components/schemas/HistoryReferenceLabel"
          },
          {
            "$ref": "#/components/schemas/HistoryReferenceProject"
          },
          {
            "$ref": "#/components/schemas/HistoryReferenceStory"
          },
          {
            "$ref": "#/components/schemas/HistoryReferenceStoryTask"
          },
          {
            "$ref": "#/components/schemas/HistoryReferenceCustomFieldEnumValue"
          },
          {
            "$ref": "#/components/schemas/HistoryReferenceWorkflowState"
          },
          {
            "$ref": "#/components/schemas/HistoryReferenceGeneral"
          }
        ]
      },
      "description": "An array of objects affected by the change. Reference objects provide basic information for the entities reference in the history actions. Some have specific fields, but they always contain an id, entity_type, and a name."
    },
    "webhook_id": {
      "type": "string",
      "nullable": true,
      "description": "The ID of the webhook that handled the change."
    },
    "external_id": {
      "type": "string",
      "description": "The ID of the webhook that handled the change."
    }
  },
  "description": "A history item is a group of actions that represent a transactional change to a Story."
}
object HistoryActionBranchCreate
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "name",
    "url",
    "action"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "url": {
      "type": "string",
      "description": "The URL from the provider of the VCS Branch that was pushed"
    },
    "name": {
      "type": "string",
      "description": "The name of the VCS Branch that was pushed"
    },
    "action": {
      "enum": [
        "create"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a VCS Branch being created."
}
object HistoryActionBranchMerge
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "name",
    "url",
    "action"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "url": {
      "type": "string",
      "description": "The URL from the provider of the VCS Branch that was pushed"
    },
    "name": {
      "type": "string",
      "description": "The name of the VCS Branch that was pushed"
    },
    "action": {
      "enum": [
        "merge"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a VCS Branch being merged."
}
object HistoryActionBranchPush
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "name",
    "url",
    "action"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "url": {
      "type": "string",
      "description": "The URL from the provider of the VCS Branch that was pushed"
    },
    "name": {
      "type": "string",
      "description": "The name of the VCS Branch that was pushed"
    },
    "action": {
      "enum": [
        "push"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a VCS Branch being pushed."
}
object HistoryActionLabelCreate
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action",
    "app_url",
    "name"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the Label."
    },
    "action": {
      "enum": [
        "create"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "app_url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The application URL of the Label."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a Label being created."
}
object HistoryActionLabelDelete
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action",
    "name"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the Label."
    },
    "action": {
      "enum": [
        "delete"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a Label being deleted."
}
object HistoryActionLabelUpdate
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "action": {
      "enum": [
        "update"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a Label being updated."
}
object HistoryActionProjectUpdate
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action",
    "app_url",
    "name"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the Project."
    },
    "action": {
      "enum": [
        "update"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "app_url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The application URL of the Project."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a Project being updated."
}
object HistoryActionPullRequest
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action",
    "number",
    "title",
    "url"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The URL from the provider of the VCS Pull Request."
    },
    "title": {
      "type": "string",
      "description": "The title of the Pull Request."
    },
    "action": {
      "enum": [
        "open",
        "update",
        "reopen",
        "close",
        "sync",
        "comment"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "number": {
      "type": "integer",
      "format": "int64",
      "description": "The VCS Repository-specific ID for the Pull Request."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing various operations for a Pull Request."
}
object HistoryActionStoryCommentCreate
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action",
    "app_url",
    "text",
    "author_id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "text": {
      "type": "string",
      "description": "The text of the Story Comment."
    },
    "action": {
      "enum": [
        "create"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "app_url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The application URL of the Story Comment."
    },
    "author_id": {
      "type": "string",
      "format": "uuid",
      "description": "The Member ID of who created the Story Comment."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a Story Comment being created."
}
object HistoryActionStoryCreate
{
  "type": "object",
  "required": [
    "app_url",
    "entity_type",
    "story_type",
    "name",
    "id",
    "action"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the Story."
    },
    "action": {
      "enum": [
        "create"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "app_url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The application URL of the Story."
    },
    "blocked": {
      "type": "boolean",
      "description": "Whether or not the Story is blocked by another Story."
    },
    "blocker": {
      "type": "boolean",
      "description": "Whether or not the Story is blocking another Story."
    },
    "epic_id": {
      "type": "integer",
      "format": "int64",
      "description": "The Epic ID for this Story."
    },
    "started": {
      "type": "boolean",
      "description": "Whether or not the Story has been started."
    },
    "deadline": {
      "type": "string",
      "description": "The timestamp representing the Story's deadline."
    },
    "estimate": {
      "type": "integer",
      "format": "int64",
      "description": "The estimate (or point value) for the Story."
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "description": "The Team IDs for the followers of the Story."
    },
    "task_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of Task IDs on this Story."
    },
    "completed": {
      "type": "boolean",
      "description": "Whether or not the Story is completed."
    },
    "label_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of Labels IDs attached to the Story."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Member IDs that are the owners of the Story."
    },
    "project_id": {
      "type": "integer",
      "format": "int64",
      "description": "The Project ID of the Story is in."
    },
    "story_type": {
      "enum": [
        "feature",
        "chore",
        "bug"
      ],
      "type": "string",
      "description": "The type of Story; either feature, bug, or chore."
    },
    "description": {
      "type": "string",
      "description": "The description of the Story."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Member IDs for the followers of the Story."
    },
    "iteration_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The Iteration ID the Story is in."
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the Member that requested the Story."
    },
    "workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "An array of Workflow State IDs attached to the Story."
    },
    "object_story_link_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of Story IDs that are the object of a Story Link relationship."
    },
    "custom_field_value_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Custom Field Enum Value ids on this Story."
    },
    "subject_story_link_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of Story IDs that are the subject of a Story Link relationship."
    }
  },
  "description": "An action representing a Story being created."
}
object HistoryActionStoryDelete
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action",
    "name",
    "story_type"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the Story."
    },
    "action": {
      "enum": [
        "delete"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "story_type": {
      "enum": [
        "feature",
        "chore",
        "bug"
      ],
      "type": "string",
      "description": "The type of Story; either feature, bug, or chore."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a Story being deleted."
}
object HistoryActionStoryLinkCreate
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action",
    "verb",
    "subject_id",
    "object_id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "verb": {
      "enum": [
        "blocks",
        "duplicates",
        "relates to"
      ],
      "type": "string",
      "description": "The verb describing the link's relationship."
    },
    "action": {
      "enum": [
        "create"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "object_id": {
      "type": "integer",
      "format": "int64",
      "description": "The Story ID of the object Story."
    },
    "subject_id": {
      "type": "integer",
      "format": "int64",
      "description": "The Story ID of the subject Story."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a Story Link being created."
}
object HistoryActionStoryLinkDelete
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action",
    "verb",
    "subject_id",
    "object_id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "verb": {
      "enum": [
        "blocks",
        "duplicates",
        "relates to"
      ],
      "type": "string",
      "description": "The verb describing the link's relationship."
    },
    "action": {
      "enum": [
        "delete"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "object_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The Story ID of the object Story."
    },
    "subject_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The Story ID of the subject Story."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a Story Link being deleted."
}
object HistoryActionStoryLinkUpdate
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action",
    "verb",
    "subject_id",
    "object_id",
    "changes"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "verb": {
      "enum": [
        "blocks",
        "duplicates",
        "relates to"
      ],
      "type": "string",
      "description": "The verb describing the link's relationship."
    },
    "action": {
      "enum": [
        "update"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "changes": {
      "$ref": "#/components/schemas/HistoryChangesStoryLink"
    },
    "object_id": {
      "type": "integer",
      "format": "int64",
      "description": "The Story ID of the object Story."
    },
    "subject_id": {
      "type": "integer",
      "format": "int64",
      "description": "The Story ID of the subject Story."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a Story Link being updated."
}
object HistoryActionStoryUpdate
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action",
    "app_url",
    "name",
    "story_type"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the Story."
    },
    "action": {
      "enum": [
        "update"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "app_url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The application URL of the Story."
    },
    "changes": {
      "$ref": "#/components/schemas/HistoryChangesStory"
    },
    "story_type": {
      "enum": [
        "feature",
        "chore",
        "bug"
      ],
      "type": "string",
      "description": "The type of Story; either feature, bug, or chore."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a Story being updated."
}
object HistoryActionTaskCreate
{
  "type": "object",
  "required": [
    "description",
    "entity_type",
    "id",
    "action",
    "complete"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "action": {
      "enum": [
        "create"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "complete": {
      "type": "boolean",
      "description": "Whether or not the Task is complete."
    },
    "deadline": {
      "type": "string",
      "description": "A timestamp that represent's the Task's deadline."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Member IDs that represent the Task's owners."
    },
    "description": {
      "type": "string",
      "description": "The description of the Task."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Member IDs that represent who has been mentioned in the Task."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Groups IDs that represent which have been mentioned in the Task."
    }
  },
  "description": "An action representing a Task being created."
}
object HistoryActionTaskDelete
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action",
    "description"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "action": {
      "enum": [
        "delete"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "description": {
      "type": "string",
      "description": "The description of the Task being deleted."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a Task being deleted."
}
object HistoryActionTaskUpdate
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action",
    "changes",
    "description",
    "story_id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the entity referenced."
    },
    "action": {
      "enum": [
        "update"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "changes": {
      "$ref": "#/components/schemas/HistoryChangesTask"
    },
    "complete": {
      "type": "boolean",
      "description": "Whether or not the Task is complete."
    },
    "story_id": {
      "type": "integer",
      "format": "int64",
      "description": "The Story ID that contains the Task."
    },
    "description": {
      "type": "string",
      "description": "The description of the Task."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a Task being updated."
}
object HistoryActionWorkspace2BulkUpdate
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "action",
    "name"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the workspace2 in which the BulkUpdate occurred."
    },
    "action": {
      "enum": [
        "bulk-update"
      ],
      "type": "string",
      "description": "The action of the entity referenced."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "An action representing a bulk operation within a workspace2."
}
object HistoryChangesStory
{
  "type": "object",
  "properties": {
    "name": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewStr"
    },
    "blocked": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewBool"
    },
    "blocker": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewBool"
    },
    "epic_id": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewInt"
    },
    "started": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewBool"
    },
    "archived": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewBool"
    },
    "deadline": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewStr"
    },
    "estimate": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewInt"
    },
    "group_id": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewUuid"
    },
    "task_ids": {
      "$ref": "#/components/schemas/StoryHistoryChangeAddsRemovesInt"
    },
    "completed": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewBool"
    },
    "label_ids": {
      "$ref": "#/components/schemas/StoryHistoryChangeAddsRemovesInt"
    },
    "owner_ids": {
      "$ref": "#/components/schemas/StoryHistoryChangeAddsRemovesUuid"
    },
    "branch_ids": {
      "$ref": "#/components/schemas/StoryHistoryChangeAddsRemovesInt"
    },
    "commit_ids": {
      "$ref": "#/components/schemas/StoryHistoryChangeAddsRemovesInt"
    },
    "project_id": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewInt"
    },
    "story_type": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewStr"
    },
    "description": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewStr"
    },
    "mention_ids": {
      "$ref": "#/components/schemas/StoryHistoryChangeAddsRemovesUuid"
    },
    "follower_ids": {
      "$ref": "#/components/schemas/StoryHistoryChangeAddsRemovesUuid"
    },
    "iteration_id": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewInt"
    },
    "requested_by_id": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewUuid"
    },
    "workflow_state_id": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewInt"
    },
    "object_story_link_ids": {
      "$ref": "#/components/schemas/StoryHistoryChangeAddsRemovesInt"
    },
    "custom_field_value_ids": {
      "$ref": "#/components/schemas/StoryHistoryChangeAddsRemovesUuid"
    },
    "subject_story_link_ids": {
      "$ref": "#/components/schemas/StoryHistoryChangeAddsRemovesInt"
    }
  },
  "description": "The changes that have occurred as a result of the action."
}
object HistoryChangesStoryLink
{
  "type": "object",
  "properties": {
    "verb": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewStr"
    },
    "object_id": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewInt"
    },
    "subject_id": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewInt"
    }
  },
  "description": "The changes that have occurred as a result of the action."
}
object HistoryChangesTask
{
  "type": "object",
  "properties": {
    "complete": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewBool"
    },
    "owner_ids": {
      "$ref": "#/components/schemas/StoryHistoryChangeAddsRemovesUuid"
    },
    "description": {
      "$ref": "#/components/schemas/StoryHistoryChangeOldNewStr"
    },
    "mention_ids": {
      "$ref": "#/components/schemas/StoryHistoryChangeAddsRemovesUuid"
    }
  },
  "description": "The changes that have occurred as a result of the action."
}
object HistoryReferenceBranch
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "name",
    "url"
  ],
  "properties": {
    "id": {
      "oneOf": [
        {
          "type": "integer",
          "format": "int64"
        },
        {
          "type": "string",
          "format": "uuid"
        }
      ],
      "description": "The ID of the entity referenced."
    },
    "url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The external URL for the Branch."
    },
    "name": {
      "type": "string",
      "description": "The name of the entity referenced."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "A reference to a VCS Branch."
}
object HistoryReferenceCommit
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "message",
    "url"
  ],
  "properties": {
    "id": {
      "oneOf": [
        {
          "type": "integer",
          "format": "int64"
        },
        {
          "type": "string",
          "format": "uuid"
        }
      ],
      "description": "The ID of the entity referenced."
    },
    "url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The external URL for the Branch."
    },
    "message": {
      "type": "string",
      "description": "The message from the Commit."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "A reference to a VCS Commit."
}
object HistoryReferenceCustomFieldEnumValue
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "string_value",
    "enum_value_enabled",
    "field_id",
    "field_type",
    "field_name",
    "field_enabled"
  ],
  "properties": {
    "id": {
      "oneOf": [
        {
          "type": "integer",
          "format": "int64"
        },
        {
          "type": "string",
          "format": "uuid"
        }
      ],
      "description": "The ID of the entity referenced."
    },
    "field_id": {
      "type": "string",
      "format": "uuid",
      "description": "The public-id of the parent custom-field of this enum value."
    },
    "field_name": {
      "type": "string",
      "description": "The name as it is displayed to the user of the parent custom-field of this enum value."
    },
    "field_type": {
      "type": "string",
      "description": "The type variety of the parent custom-field of this enum value."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    },
    "string_value": {
      "type": "string",
      "nullable": true,
      "description": "The custom-field enum value as a string."
    },
    "field_enabled": {
      "type": "boolean",
      "description": "Whether or not the custom-field is enabled."
    },
    "enum_value_enabled": {
      "type": "boolean",
      "nullable": true,
      "description": "Whether or not the custom-field enum value is enabled."
    }
  },
  "description": "A reference to a CustomField value asserted on a Story."
}
object HistoryReferenceEpic
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "app_url",
    "name"
  ],
  "properties": {
    "id": {
      "oneOf": [
        {
          "type": "integer",
          "format": "int64"
        },
        {
          "type": "string",
          "format": "uuid"
        }
      ],
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the entity referenced."
    },
    "app_url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The application URL of the Epic."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "A reference to an Epic."
}
object HistoryReferenceGeneral
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "name"
  ],
  "properties": {
    "id": {
      "oneOf": [
        {
          "type": "integer",
          "format": "int64"
        },
        {
          "type": "string",
          "format": "uuid"
        }
      ],
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the entity referenced."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "A default reference for entity types that don't have extra fields."
}
object HistoryReferenceGroup
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "name"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the entity referenced."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "A reference to a Group."
}
object HistoryReferenceIteration
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "app_url",
    "name"
  ],
  "properties": {
    "id": {
      "oneOf": [
        {
          "type": "integer",
          "format": "int64"
        },
        {
          "type": "string",
          "format": "uuid"
        }
      ],
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the entity referenced."
    },
    "app_url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The application URL of the Iteration."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "A reference to an Iteration."
}
object HistoryReferenceLabel
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "app_url",
    "name"
  ],
  "properties": {
    "id": {
      "oneOf": [
        {
          "type": "integer",
          "format": "int64"
        },
        {
          "type": "string",
          "format": "uuid"
        }
      ],
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the entity referenced."
    },
    "app_url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The application URL of the Label."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "A reference to an Label."
}
object HistoryReferenceProject
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "app_url",
    "name"
  ],
  "properties": {
    "id": {
      "oneOf": [
        {
          "type": "integer",
          "format": "int64"
        },
        {
          "type": "string",
          "format": "uuid"
        }
      ],
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the entity referenced."
    },
    "app_url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The application URL of the Project."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "A reference to an Project."
}
object HistoryReferenceStory
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "app_url",
    "name",
    "story_type"
  ],
  "properties": {
    "id": {
      "oneOf": [
        {
          "type": "integer",
          "format": "int64"
        },
        {
          "type": "string",
          "format": "uuid"
        }
      ],
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the entity referenced."
    },
    "app_url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The application URL of the Story."
    },
    "story_type": {
      "enum": [
        "feature",
        "chore",
        "bug"
      ],
      "type": "string",
      "description": "If the referenced entity is a Story, either \"bug\", \"chore\", or \"feature\"."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "A reference to a Story."
}
object HistoryReferenceStoryTask
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "description"
  ],
  "properties": {
    "id": {
      "oneOf": [
        {
          "type": "integer",
          "format": "int64"
        },
        {
          "type": "string",
          "format": "uuid"
        }
      ],
      "description": "The ID of the entity referenced."
    },
    "description": {
      "type": "string",
      "description": "The description of the Story Task."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "A reference to a Story Task."
}
object HistoryReferenceWorkflowState
{
  "type": "object",
  "required": [
    "id",
    "entity_type",
    "type",
    "name"
  ],
  "properties": {
    "id": {
      "oneOf": [
        {
          "type": "integer",
          "format": "int64"
        },
        {
          "type": "string",
          "format": "uuid"
        }
      ],
      "description": "The ID of the entity referenced."
    },
    "name": {
      "type": "string",
      "description": "The name of the entity referenced."
    },
    "type": {
      "enum": [
        "started",
        "unstarted",
        "done"
      ],
      "type": "string",
      "description": "Either \"unstarted\", \"started\", or \"done\"."
    },
    "entity_type": {
      "type": "string",
      "description": "The type of entity referenced."
    }
  },
  "description": "A references to a Story Workflow State."
}
object Icon
{
  "type": "object",
  "required": [
    "entity_type",
    "id",
    "created_at",
    "updated_at",
    "url"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique ID of the Icon."
    },
    "url": {
      "type": "string",
      "description": "The URL of the Icon."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date that the Icon was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date that the Icon was updated."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    }
  },
  "description": "Icons are used to attach images to Groups, Workspaces, Members, and Loading screens in the Shortcut web application."
}
object Identity
{
  "type": "object",
  "required": [
    "entity_type",
    "name",
    "type"
  ],
  "properties": {
    "name": {
      "type": "string",
      "nullable": true,
      "description": "This is your login in VCS."
    },
    "type": {
      "enum": [
        "slack",
        "github",
        "gitlab",
        "bitbucket"
      ],
      "type": "string",
      "nullable": true,
      "description": "The service this Identity is for."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    }
  },
  "description": "The Identity of the VCS user that authored the Commit."
}
object Iteration
{
  "type": "object",
  "required": [
    "app_url",
    "description",
    "entity_type",
    "labels",
    "mention_ids",
    "member_mention_ids",
    "associated_groups",
    "name",
    "global_id",
    "label_ids",
    "updated_at",
    "group_mention_ids",
    "end_date",
    "follower_ids",
    "group_ids",
    "start_date",
    "status",
    "id",
    "stats",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the iteration."
    },
    "name": {
      "type": "string",
      "description": "The name of the iteration."
    },
    "stats": {
      "$ref": "#/components/schemas/IterationStats"
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Label"
      },
      "description": "An array of labels attached to the iteration."
    },
    "status": {
      "type": "string",
      "description": "The status of the iteration. Values are either \"unstarted\", \"started\", or \"done\"."
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Iteration."
    },
    "end_date": {
      "type": "string",
      "format": "date-time",
      "description": "The date this iteration begins."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "group_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Groups you want to add as Followers. Currently, only one Group association is presented in our web UI."
    },
    "label_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of label ids attached to the iteration."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The instant when this iteration was created."
    },
    "start_date": {
      "type": "string",
      "format": "date-time",
      "description": "The date this iteration begins."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The instant when this iteration was last updated."
    },
    "description": {
      "type": "string",
      "description": "The description of the iteration."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource"
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Deprecated: use member_mention_ids."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members listed as Followers."
    },
    "associated_groups": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/IterationAssociatedGroup"
      },
      "x-doc-skip": true,
      "description": "An array containing Group IDs and Group-owned story counts for the Iteration's associated groups."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Group IDs that have been mentioned in the Story description."
    },
    "member_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Member IDs that have been mentioned in the Story description."
    }
  },
  "description": "An Iteration is a defined, time-boxed period of development for a collection of Stories. See https://help.shortcut.com/hc/en-us/articles/360028953452-Iterations-Overview for more information."
}
object IterationAssociatedGroup
{
  "type": "object",
  "required": [
    "group_id"
  ],
  "properties": {
    "group_id": {
      "type": "string",
      "format": "uuid",
      "description": "The Group ID of the associated group."
    },
    "associated_stories_count": {
      "type": "integer",
      "format": "int64",
      "description": "The number of stories this Group owns in the Iteration."
    }
  },
  "x-doc-skip": true
}
array IterationGetAllIterationsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/IterationSlim"
  }
}
array IterationListStoriesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/StorySlim"
  }
}
object IterationSearchResults
{
  "type": "object",
  "required": [
    "total",
    "data",
    "next"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/IterationSlim"
      },
      "description": "A list of search results."
    },
    "next": {
      "type": "string",
      "nullable": true,
      "description": "The URL path and query string for the next page of search results."
    },
    "total": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of matches for the search query. The first 1000 matches can be paged through via the API."
    }
  },
  "description": "The results of the Iteration search query."
}
object IterationSlim
{
  "type": "object",
  "required": [
    "app_url",
    "entity_type",
    "labels",
    "mention_ids",
    "member_mention_ids",
    "associated_groups",
    "name",
    "global_id",
    "label_ids",
    "updated_at",
    "group_mention_ids",
    "end_date",
    "follower_ids",
    "group_ids",
    "start_date",
    "status",
    "id",
    "stats",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the iteration."
    },
    "name": {
      "type": "string",
      "description": "The name of the iteration."
    },
    "stats": {
      "$ref": "#/components/schemas/IterationStats"
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Label"
      },
      "description": "An array of labels attached to the iteration."
    },
    "status": {
      "type": "string",
      "description": "The status of the iteration. Values are either \"unstarted\", \"started\", or \"done\"."
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Iteration."
    },
    "end_date": {
      "type": "string",
      "format": "date-time",
      "description": "The date this iteration begins."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "group_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Groups you want to add as Followers. Currently, only one Group association is presented in our web UI."
    },
    "label_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of label ids attached to the iteration."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The instant when this iteration was created."
    },
    "start_date": {
      "type": "string",
      "format": "date-time",
      "description": "The date this iteration begins."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The instant when this iteration was last updated."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource"
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Deprecated: use member_mention_ids."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members listed as Followers."
    },
    "associated_groups": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/IterationAssociatedGroup"
      },
      "x-doc-skip": true,
      "description": "An array containing Group IDs and Group-owned story counts for the Iteration's associated groups."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Group IDs that have been mentioned in the Story description."
    },
    "member_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Member IDs that have been mentioned in the Story description."
    }
  },
  "description": "IterationSlim represents the same resource as an Iteration, but is more light-weight. Use the [Get Iteration](https://developer.shortcut.com) endpoint to fetch the unabridged payload for an Iteration. "
}
object IterationStats
{
  "type": "object",
  "required": [
    "num_points_done",
    "num_related_documents",
    "num_stories_unstarted",
    "num_points_started",
    "num_points_unstarted",
    "num_stories_started",
    "num_stories_unestimated",
    "num_stories_backlog",
    "num_points_backlog",
    "num_points",
    "num_stories_done"
  ],
  "properties": {
    "num_points": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of points in this Iteration."
    },
    "num_points_done": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of completed points in this Iteration."
    },
    "num_stories_done": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of done Stories in this Iteration."
    },
    "average_lead_time": {
      "type": "integer",
      "format": "int64",
      "description": "The average lead time (in seconds) of completed stories in this Iteration."
    },
    "average_cycle_time": {
      "type": "integer",
      "format": "int64",
      "description": "The average cycle time (in seconds) of completed stories in this Iteration."
    },
    "num_points_backlog": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of backlog points in this Iteration."
    },
    "num_points_started": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of started points in this Iteration."
    },
    "num_stories_backlog": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of backlog Stories in this Iteration."
    },
    "num_stories_started": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of started Stories in this Iteration."
    },
    "num_points_unstarted": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of unstarted points in this Iteration."
    },
    "num_related_documents": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of documents related to an Iteration"
    },
    "num_stories_unstarted": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of unstarted Stories in this Iteration."
    },
    "num_stories_unestimated": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of Stories with no point estimate."
    }
  },
  "description": "A group of calculated values for this Iteration."
}
object KeyResult
{
  "type": "object",
  "required": [
    "id",
    "name",
    "objective_id",
    "type",
    "initial_observed_value",
    "current_observed_value",
    "current_target_value",
    "progress"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the Key Result."
    },
    "name": {
      "type": "string",
      "description": "The name of the Key Result."
    },
    "type": {
      "enum": [
        "percent",
        "boolean",
        "numeric"
      ],
      "type": "string",
      "description": "The type of the Key Result (numeric, percent, or boolean)."
    },
    "progress": {
      "type": "integer",
      "format": "int64",
      "description": "The integer percentage of progress toward completion of the Key Result."
    },
    "objective_id": {
      "type": "integer",
      "format": "int64",
      "description": "The Objective to which this Key Result belongs."
    },
    "current_target_value": {
      "$ref": "#/components/schemas/KeyResultValue"
    },
    "current_observed_value": {
      "$ref": "#/components/schemas/KeyResultValue"
    },
    "initial_observed_value": {
      "$ref": "#/components/schemas/KeyResultValue"
    }
  }
}
object KeyResultValue
{
  "type": "object",
  "properties": {
    "boolean_value": {
      "type": "boolean",
      "description": "The boolean value."
    },
    "numeric_value": {
      "type": "string",
      "description": "The numeric value, as a decimal string. No more than two decimal places are allowed."
    }
  },
  "description": "The starting value of the Key Result."
}
object Label
{
  "type": "object",
  "required": [
    "app_url",
    "description",
    "archived",
    "entity_type",
    "color",
    "name",
    "global_id",
    "updated_at",
    "external_id",
    "id",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Label."
    },
    "name": {
      "type": "string",
      "description": "The name of the Label."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "nullable": true,
      "minLength": 1,
      "description": "The hex color to be displayed with the Label (for example, \"#ff0000\")."
    },
    "stats": {
      "$ref": "#/components/schemas/LabelStats"
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Label."
    },
    "archived": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Label has been archived."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date that the Label was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date that the Label was updated."
    },
    "description": {
      "type": "string",
      "nullable": true,
      "description": "The description of the Label."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Label has been imported from another tool, the ID in the other tool can be indicated here."
    }
  },
  "description": "A Label can be used to associate and filter Stories and Epics, and also create new Workspaces."
}
array LabelListResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Label"
  }
}
array LabelListStoriesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/StorySlim"
  }
}
object LabelSlim
{
  "type": "object",
  "required": [
    "app_url",
    "description",
    "archived",
    "entity_type",
    "color",
    "name",
    "global_id",
    "updated_at",
    "external_id",
    "id",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Label."
    },
    "name": {
      "type": "string",
      "description": "The name of the Label."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "nullable": true,
      "minLength": 1,
      "description": "The hex color to be displayed with the Label (for example, \"#ff0000\")."
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Label."
    },
    "archived": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Label has been archived."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date that the Label was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date that the Label was updated."
    },
    "description": {
      "type": "string",
      "nullable": true,
      "description": "The description of the Label."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Label has been imported from another tool, the ID in the other tool can be indicated here."
    }
  },
  "description": "A Label can be used to associate and filter Stories and Epics, and also create new Workspaces. A slim Label does not include aggregate stats. Fetch the Label using the labels endpoint to retrieve them."
}
object LabelStats
{
  "type": "object",
  "required": [
    "num_related_documents",
    "num_epics",
    "num_stories_unstarted",
    "num_stories_total",
    "num_epics_unstarted",
    "num_epics_in_progress",
    "num_points_unstarted",
    "num_stories_unestimated",
    "num_points_in_progress",
    "num_epics_total",
    "num_stories_completed",
    "num_points_completed",
    "num_stories_backlog",
    "num_points_total",
    "num_stories_in_progress",
    "num_points_backlog",
    "num_epics_completed"
  ],
  "properties": {
    "num_epics": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of Epics with this Label."
    },
    "num_epics_total": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of Epics associated with this Label."
    },
    "num_points_total": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of points with this Label."
    },
    "num_stories_total": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of Stories with this Label."
    },
    "num_points_backlog": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of backlog points with this Label."
    },
    "num_epics_completed": {
      "type": "integer",
      "format": "int64",
      "description": "The number of completed Epics associated with this Label."
    },
    "num_epics_unstarted": {
      "type": "integer",
      "format": "int64",
      "description": "The number of unstarted epics associated with this label."
    },
    "num_stories_backlog": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of stories backlog Stories with this Label."
    },
    "num_points_completed": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of completed points with this Label."
    },
    "num_points_unstarted": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of unstarted points with this Label."
    },
    "num_epics_in_progress": {
      "type": "integer",
      "format": "int64",
      "description": "The number of in progress epics associated with this label."
    },
    "num_related_documents": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of Documents associated this Label."
    },
    "num_stories_completed": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of completed Stories with this Label."
    },
    "num_stories_unstarted": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of stories unstarted Stories with this Label."
    },
    "num_points_in_progress": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of in-progress points with this Label."
    },
    "num_stories_in_progress": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of in-progress Stories with this Label."
    },
    "num_stories_unestimated": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of Stories with no point estimate with this Label."
    }
  },
  "description": "A group of calculated values for this Label. This is not included if the slim? flag is set to true for the List Labels endpoint."
}
object LinkedFile
{
  "type": "object",
  "required": [
    "description",
    "entity_type",
    "story_ids",
    "mention_ids",
    "member_mention_ids",
    "name",
    "thumbnail_url",
    "type",
    "size",
    "uploader_id",
    "content_type",
    "updated_at",
    "group_mention_ids",
    "id",
    "url",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique identifier for the file."
    },
    "url": {
      "type": "string",
      "description": "The URL of the file."
    },
    "name": {
      "type": "string",
      "description": "The name of the linked file."
    },
    "size": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The filesize, if the integration provided it."
    },
    "type": {
      "type": "string",
      "description": "The integration type (e.g. google, dropbox, box)."
    },
    "story_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The IDs of the stories this file is attached to."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the LinkedFile was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the LinkedFile was updated."
    },
    "description": {
      "type": "string",
      "nullable": true,
      "description": "The description of the file."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Deprecated: use member_mention_ids."
    },
    "uploader_id": {
      "type": "string",
      "format": "uuid",
      "description": "The UUID of the member that uploaded the file."
    },
    "content_type": {
      "type": "string",
      "nullable": true,
      "description": "The content type of the image (e.g. txt/plain)."
    },
    "thumbnail_url": {
      "type": "string",
      "nullable": true,
      "description": "The URL of the file thumbnail, if the integration provided it."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The groups that are mentioned in the description of the file."
    },
    "member_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The members that are mentioned in the description of the file."
    }
  },
  "description": "Linked files are stored on a third-party website and linked to one or more Stories. Shortcut currently supports linking files from Google Drive, Dropbox, Box, and by URL."
}
object MaxSearchResultsExceededError
{
  "type": "object",
  "required": [
    "error",
    "message",
    "maximum-results"
  ],
  "properties": {
    "error": {
      "enum": [
        "maximum-results-exceeded"
      ],
      "type": "string",
      "description": "The name for this type of error, `maximum-results-exceeded`"
    },
    "message": {
      "type": "string",
      "description": "An explanatory message: \"A maximum of 1000 search results are supported.\""
    },
    "maximum-results": {
      "enum": [
        1000
      ],
      "type": "integer",
      "format": "int64",
      "description": "The maximum number of search results supported, `1000`"
    }
  },
  "description": "Error returned when total maximum supported results have been reached."
}
object Member
{
  "type": "object",
  "required": [
    "role",
    "entity_type",
    "disabled",
    "global_id",
    "state",
    "updated_at",
    "created_without_invite",
    "group_ids",
    "id",
    "profile",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The Member's ID in Shortcut."
    },
    "role": {
      "type": "string",
      "description": "The Member's role in the Workspace."
    },
    "state": {
      "enum": [
        "partial",
        "full",
        "disabled",
        "imported"
      ],
      "type": "string",
      "description": "The user state, one of partial, full, disabled, or imported.  A partial user is disabled, has no means to log in, and is not an import user.  A full user is enabled and has a means to log in.  A disabled user is disabled and has a means to log in.  An import user is disabled, has no means to log in, and is marked as an import user."
    },
    "profile": {
      "$ref": "#/components/schemas/Profile"
    },
    "disabled": {
      "type": "boolean",
      "description": "True/false boolean indicating whether the Member has been disabled within the Workspace."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "group_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The Member's group ids"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Member was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Member was last updated."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "replaced_by": {
      "type": "string",
      "format": "uuid",
      "x-doc-skip": true,
      "description": "The id of the member that replaces this one when merged."
    },
    "created_without_invite": {
      "type": "boolean",
      "x-doc-skip": true,
      "description": "Whether this member was created as a placeholder entity."
    }
  },
  "description": "Details about an individual user within the Workspace."
}
object MemberInfo
{
  "type": "object",
  "required": [
    "id",
    "name",
    "mention_name",
    "workspace2"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "workspace2": {
      "$ref": "#/components/schemas/BasicWorkspaceInfo"
    },
    "mention_name": {
      "type": "string"
    }
  }
}
array MemberListWorkspaceMembersResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Member"
  }
}
object Milestone
{
  "type": "object",
  "required": [
    "app_url",
    "description",
    "archived",
    "started",
    "entity_type",
    "completed_at_override",
    "started_at",
    "completed_at",
    "name",
    "global_id",
    "completed",
    "state",
    "started_at_override",
    "updated_at",
    "categories",
    "id",
    "key_result_ids",
    "position",
    "stats",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Milestone."
    },
    "name": {
      "type": "string",
      "description": "The name of the Milestone."
    },
    "state": {
      "type": "string",
      "description": "The workflow state that the Milestone is in."
    },
    "stats": {
      "$ref": "#/components/schemas/MilestoneStats"
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Milestone."
    },
    "started": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Milestone has been started."
    },
    "archived": {
      "type": "boolean",
      "description": "A boolean indicating whether the Milestone has been archived or not."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "A number representing the position of the Milestone in relation to every other Milestone within the Workspace."
    },
    "completed": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Milestone has been completed."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "categories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Category"
      },
      "description": "An array of Categories attached to the Milestone."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Milestone was created."
    },
    "started_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Milestone was started."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Milestone was updated."
    },
    "description": {
      "type": "string",
      "description": "The Milestone's description."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "completed_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Milestone was completed."
    },
    "key_result_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The IDs of the Key Results associated with the Objective."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Milestone was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Milestone was completed."
    }
  },
  "description": "A Milestone is a collection of Epics that represent a release or some other large initiative that you are working on."
}
array MilestoneListAllAttributesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Milestone"
  }
}
object MilestoneStats
{
  "type": "object",
  "required": [
    "num_related_documents"
  ],
  "properties": {
    "average_lead_time": {
      "type": "integer",
      "format": "int64",
      "description": "The average lead time (in seconds) of completed stories in this Milestone."
    },
    "average_cycle_time": {
      "type": "integer",
      "format": "int64",
      "description": "The average cycle time (in seconds) of completed stories in this Milestone."
    },
    "num_related_documents": {
      "type": "integer",
      "format": "int64",
      "description": "The number of related documents to this Milestone."
    }
  },
  "description": "A group of calculated values for this Milestone."
}
object Objective
{
  "type": "object",
  "required": [
    "app_url",
    "description",
    "archived",
    "started",
    "entity_type",
    "completed_at_override",
    "started_at",
    "completed_at",
    "name",
    "global_id",
    "completed",
    "state",
    "started_at_override",
    "updated_at",
    "categories",
    "id",
    "key_result_ids",
    "position",
    "stats",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Objective."
    },
    "name": {
      "type": "string",
      "description": "The name of the Objective."
    },
    "state": {
      "type": "string",
      "description": "The workflow state that the Objective is in."
    },
    "stats": {
      "$ref": "#/components/schemas/ObjectiveStats"
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Objective."
    },
    "started": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Objective has been started."
    },
    "archived": {
      "type": "boolean",
      "description": "A boolean indicating whether the Objective has been archived or not."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "A number representing the position of the Objective in relation to every other Objective within the Workspace."
    },
    "completed": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Objectivehas been completed."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "categories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Category"
      },
      "description": "An array of Categories attached to the Objective."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Objective was created."
    },
    "started_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Objective was started."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Objective was updated."
    },
    "description": {
      "type": "string",
      "description": "The Objective's description."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "completed_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Objective was completed."
    },
    "key_result_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The IDs of the Key Results associated with the Objective."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Objective was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Objective was completed."
    }
  },
  "description": "An Objective is a collection of Epics that represent a release or some other large initiative that you are working on."
}
array ObjectiveListAllResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Objective"
  }
}
object ObjectiveSearchResult
{
  "type": "object",
  "required": [
    "app_url",
    "archived",
    "started",
    "entity_type",
    "completed_at_override",
    "started_at",
    "completed_at",
    "name",
    "global_id",
    "completed",
    "state",
    "started_at_override",
    "updated_at",
    "categories",
    "id",
    "key_result_ids",
    "position",
    "stats",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Milestone."
    },
    "name": {
      "type": "string",
      "description": "The name of the Milestone."
    },
    "state": {
      "type": "string",
      "description": "The workflow state that the Milestone is in."
    },
    "stats": {
      "$ref": "#/components/schemas/MilestoneStats"
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Milestone."
    },
    "started": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Milestone has been started."
    },
    "archived": {
      "type": "boolean",
      "description": "A boolean indicating whether the Milestone has been archived or not."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "A number representing the position of the Milestone in relation to every other Milestone within the Workspace."
    },
    "completed": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Milestone has been completed."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "categories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Category"
      },
      "description": "An array of Categories attached to the Milestone."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Milestone was created."
    },
    "started_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Milestone was started."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Milestone was updated."
    },
    "description": {
      "type": "string",
      "description": "The Milestone's description."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "completed_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Milestone was completed."
    },
    "key_result_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The IDs of the Key Results associated with the Objective."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Milestone was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Milestone was completed."
    }
  },
  "description": "A Milestone in search results. This is typed differently from Milestone because the details=slim search argument will omit some fields."
}
object ObjectiveSearchResults
{
  "type": "object",
  "required": [
    "total",
    "data",
    "next"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ObjectiveSearchResult"
      },
      "description": "A list of search results."
    },
    "next": {
      "type": "string",
      "nullable": true,
      "description": "The URL path and query string for the next page of search results."
    },
    "total": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of matches for the search query. The first 1000 matches can be paged through via the API."
    }
  },
  "description": "The results of the Objective search query."
}
object ObjectiveStats
{
  "type": "object",
  "required": [
    "num_related_documents"
  ],
  "properties": {
    "average_lead_time": {
      "type": "integer",
      "format": "int64",
      "description": "The average lead time (in seconds) of completed stories in this Objective."
    },
    "average_cycle_time": {
      "type": "integer",
      "format": "int64",
      "description": "The average cycle time (in seconds) of completed stories in this Objective."
    },
    "num_related_documents": {
      "type": "integer",
      "format": "int64",
      "description": "The number of related documents to this Objective."
    }
  },
  "description": "A group of calculated values for this Objective."
}
object Profile
{
  "type": "object",
  "required": [
    "entity_type",
    "deactivated",
    "mention_name",
    "name",
    "gravatar_hash",
    "id",
    "display_icon",
    "is_owner",
    "email_address"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique identifier of the profile."
    },
    "name": {
      "type": "string",
      "nullable": true,
      "description": "The Member's name within the Organization."
    },
    "is_owner": {
      "type": "boolean",
      "description": "A boolean indicating whether this profile is an owner at their associated organization."
    },
    "deactivated": {
      "type": "boolean",
      "description": "A true/false boolean indicating whether the Member has been deactivated within Shortcut."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "display_icon": {
      "$ref": "#/components/schemas/Icon"
    },
    "mention_name": {
      "type": "string",
      "description": "The Member's username within the Organization."
    },
    "email_address": {
      "type": "string",
      "nullable": true,
      "description": "The primary email address of the Member with the Organization."
    },
    "gravatar_hash": {
      "type": "string",
      "nullable": true,
      "description": "This is the gravatar hash associated with email_address."
    },
    "two_factor_auth_activated": {
      "type": "boolean",
      "description": "If Two Factor Authentication is activated for this User."
    }
  },
  "description": "A group of Member profile details."
}
object Project
{
  "type": "object",
  "required": [
    "app_url",
    "description",
    "archived",
    "entity_type",
    "days_to_thermometer",
    "color",
    "workflow_id",
    "name",
    "global_id",
    "start_time",
    "updated_at",
    "follower_ids",
    "external_id",
    "id",
    "show_thermometer",
    "team_id",
    "iteration_length",
    "abbreviation",
    "stats",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Project."
    },
    "name": {
      "type": "string",
      "description": "The name of the Project"
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "nullable": true,
      "minLength": 1,
      "description": "The color associated with the Project in the Shortcut member interface."
    },
    "stats": {
      "$ref": "#/components/schemas/ProjectStats"
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Project."
    },
    "team_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the team the project belongs to."
    },
    "archived": {
      "type": "boolean",
      "description": "True/false boolean indicating whether the Project is in an Archived state."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true,
      "description": "The Global ID of the Project."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date that the Project was created."
    },
    "start_time": {
      "type": "string",
      "format": "date-time",
      "description": "The date at which the Project was started."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date that the Project was last updated."
    },
    "description": {
      "type": "string",
      "nullable": true,
      "description": "The description of the Project."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Project has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "workflow_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the workflow the project belongs to."
    },
    "abbreviation": {
      "type": "string",
      "nullable": true,
      "description": "The Project abbreviation used in Story summaries. Should be kept to 3 characters at most."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members listed as Followers."
    },
    "iteration_length": {
      "type": "integer",
      "format": "int64",
      "description": "The number of weeks per iteration in this Project."
    },
    "show_thermometer": {
      "type": "boolean",
      "description": "Configuration to enable or disable thermometers in the Story summary."
    },
    "days_to_thermometer": {
      "type": "integer",
      "format": "int64",
      "description": "The number of days before the thermometer appears in the Story summary."
    }
  },
  "description": "Projects typically map to teams (such as Frontend, Backend, Mobile, Devops, etc) but can represent any open-ended product, component, or initiative."
}
array ProjectGetAllResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Project"
  }
}
array ProjectListStoriesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/StorySlim"
  }
}
object ProjectStats
{
  "type": "object",
  "required": [
    "num_stories",
    "num_points",
    "num_related_documents"
  ],
  "properties": {
    "num_points": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of points in this Project."
    },
    "num_stories": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of stories in this Project."
    },
    "num_related_documents": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of documents related to this Project"
    }
  },
  "description": "A group of calculated values for this Project."
}
object PullRequest
{
  "type": "object",
  "required": [
    "entity_type",
    "closed",
    "merged",
    "num_added",
    "branch_id",
    "number",
    "branch_name",
    "target_branch_name",
    "num_commits",
    "title",
    "updated_at",
    "has_overlapping_stories",
    "draft",
    "id",
    "url",
    "num_removed",
    "num_modified",
    "target_branch_id",
    "repository_id",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID associated with the pull request in Shortcut."
    },
    "url": {
      "type": "string",
      "description": "The URL for the pull request."
    },
    "draft": {
      "type": "boolean",
      "description": "True/False boolean indicating whether the VCS pull request is in the draft state."
    },
    "title": {
      "type": "string",
      "description": "The title of the pull request."
    },
    "closed": {
      "type": "boolean",
      "description": "True/False boolean indicating whether the VCS pull request has been closed."
    },
    "merged": {
      "type": "boolean",
      "description": "True/False boolean indicating whether the VCS pull request has been merged."
    },
    "number": {
      "type": "integer",
      "format": "int64",
      "description": "The pull request's unique number ID in VCS."
    },
    "branch_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the branch for the particular pull request."
    },
    "num_added": {
      "type": "integer",
      "format": "int64",
      "description": "Number of lines added in the pull request, according to VCS."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the pull request was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the pull request was created."
    },
    "vcs_labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PullRequestLabel"
      },
      "nullable": true,
      "description": "An array of PullRequestLabels attached to the PullRequest."
    },
    "branch_name": {
      "type": "string",
      "description": "The name of the branch for the particular pull request."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "num_commits": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The number of commits on the pull request."
    },
    "num_removed": {
      "type": "integer",
      "format": "int64",
      "description": "Number of lines removed in the pull request, according to VCS."
    },
    "build_status": {
      "type": "string",
      "description": "The status of the Continuous Integration workflow for the pull request."
    },
    "num_modified": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "Number of lines modified in the pull request, according to VCS."
    },
    "repository_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the repository for the particular pull request."
    },
    "review_status": {
      "type": "string",
      "description": "The status of the review for the pull request."
    },
    "target_branch_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the target branch for the particular pull request."
    },
    "target_branch_name": {
      "type": "string",
      "description": "The name of the target branch for the particular pull request."
    },
    "overlapping_stories": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of Story ids that have Pull Requests that change at least one of the same lines this Pull Request changes."
    },
    "has_overlapping_stories": {
      "type": "boolean",
      "description": "Boolean indicating that the Pull Request has Stories that have Pull Requests that change at least one of the same lines this Pull Request changes."
    }
  },
  "description": "Corresponds to a VCS Pull Request attached to a Shortcut story."
}
object PullRequestLabel
{
  "type": "object",
  "required": [
    "entity_type",
    "id",
    "color",
    "name"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the VCS Label."
    },
    "name": {
      "type": "string",
      "description": "The name of the VCS label."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "minLength": 1,
      "description": "The color of the VCS label."
    },
    "description": {
      "type": "string",
      "nullable": true,
      "description": "The description of the VCS label."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    }
  },
  "description": "Corresponds to a VCS Label associated with a Pull Request."
}
object RemoveCustomFieldParams
{
  "type": "object",
  "required": [
    "field_id"
  ],
  "properties": {
    "field_id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique public ID for the CustomField."
    }
  }
}
object RemoveLabelParams
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1,
      "description": "The name of the new Label to remove."
    }
  },
  "description": "Request parameters for removing a Label from a Shortcut Story."
}
object Repository
{
  "type": "object",
  "required": [
    "entity_type",
    "name",
    "type",
    "updated_at",
    "external_id",
    "id",
    "url",
    "full_name",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID associated to the VCS repository in Shortcut."
    },
    "url": {
      "type": "string",
      "nullable": true,
      "description": "The URL of the Repository."
    },
    "name": {
      "type": "string",
      "nullable": true,
      "description": "The shorthand name of the VCS repository."
    },
    "type": {
      "enum": [
        "github",
        "gitlab",
        "bitbucket"
      ],
      "type": "string",
      "description": "The VCS provider for the Repository."
    },
    "full_name": {
      "type": "string",
      "nullable": true,
      "description": "The full name of the VCS repository."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Repository was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Repository was updated."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "The VCS unique identifier for the Repository."
    }
  },
  "description": "Repository refers to a VCS repository."
}
array RepositoryListAllResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Repository"
  }
}
object SearchResults
{
  "type": "object",
  "properties": {
    "epics": {
      "$ref": "#/components/schemas/EpicSearchResults"
    },
    "stories": {
      "$ref": "#/components/schemas/StorySearchResults"
    },
    "iterations": {
      "$ref": "#/components/schemas/IterationSearchResults"
    },
    "milestones": {
      "$ref": "#/components/schemas/ObjectiveSearchResults"
    }
  },
  "description": "The results of the multi-entity search query."
}
object SearchStories
{
  "type": "object",
  "properties": {
    "epic_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The Epic IDs that may be associated with the Stories."
    },
    "archived": {
      "type": "boolean",
      "description": "A true/false boolean indicating whether the Story is in archived state."
    },
    "epic_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The Epic IDs that may be associated with the Stories.",
      "uniqueItems": true
    },
    "estimate": {
      "type": "integer",
      "format": "int64",
      "description": "The number of estimate points associate with the Stories."
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The Group ID that is associated with the Stories"
    },
    "owner_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "An array of UUIDs for any Users who may be Owners of the Stories."
    },
    "group_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The Group IDs that are associated with the Stories",
      "uniqueItems": true
    },
    "label_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The Label IDs that may be associated with the Stories.",
      "uniqueItems": true
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Users who may be Owners of the Stories.",
      "uniqueItems": true
    },
    "label_name": {
      "type": "string",
      "minLength": 1,
      "description": "The name of any associated Labels."
    },
    "project_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The IDs for the Projects the Stories may be assigned to."
    },
    "story_type": {
      "enum": [
        "feature",
        "chore",
        "bug"
      ],
      "type": "string",
      "description": "The type of Stories that you want returned."
    },
    "external_id": {
      "type": "string",
      "description": "An ID or URL that references an external resource. Useful during imports."
    },
    "project_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64",
        "nullable": true
      },
      "description": "The IDs for the Projects the Stories may be assigned to.",
      "uniqueItems": true
    },
    "deadline_end": {
      "type": "string",
      "format": "date-time",
      "description": "Stories should have a deadline on or before this date."
    },
    "iteration_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The Iteration ID that may be associated with the Stories."
    },
    "iteration_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The Iteration IDs that may be associated with the Stories.",
      "uniqueItems": true
    },
    "created_at_end": {
      "type": "string",
      "format": "date-time",
      "description": "Stories should have been created on or before this date."
    },
    "deadline_start": {
      "type": "string",
      "format": "date-time",
      "description": "Stories should have a deadline on or after this date."
    },
    "updated_at_end": {
      "type": "string",
      "format": "date-time",
      "description": "Stories should have been updated on or before this date."
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The UUID of any Users who may have requested the Stories."
    },
    "completed_at_end": {
      "type": "string",
      "format": "date-time",
      "description": "Stories should have been completed on or before this date."
    },
    "created_at_start": {
      "type": "string",
      "format": "date-time",
      "description": "Stories should have been created on or after this date."
    },
    "updated_at_start": {
      "type": "string",
      "format": "date-time",
      "description": "Stories should have been updated on or after this date."
    },
    "workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique IDs of the specific Workflow States that the Stories should be in."
    },
    "completed_at_start": {
      "type": "string",
      "format": "date-time",
      "description": "Stories should have been completed on or after this date."
    },
    "includes_description": {
      "type": "boolean",
      "description": "Whether to include the story description in the response."
    },
    "workflow_state_types": {
      "type": "array",
      "items": {
        "enum": [
          "started",
          "backlog",
          "unstarted",
          "done"
        ],
        "type": "string"
      },
      "description": "The type of Workflow State the Stories may be in."
    }
  },
  "x-doc-skip": true
}
array SearchStoriesOldResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/StorySlim"
  }
}
object Story
{
  "type": "object",
  "required": [
    "app_url",
    "description",
    "archived",
    "started",
    "story_links",
    "entity_type",
    "labels",
    "mention_ids",
    "member_mention_ids",
    "story_type",
    "linked_files",
    "workflow_id",
    "completed_at_override",
    "started_at",
    "completed_at",
    "name",
    "global_id",
    "completed",
    "comments",
    "blocker",
    "branches",
    "epic_id",
    "story_template_id",
    "external_links",
    "previous_iteration_ids",
    "requested_by_id",
    "iteration_id",
    "tasks",
    "label_ids",
    "started_at_override",
    "group_id",
    "workflow_state_id",
    "updated_at",
    "pull_requests",
    "group_mention_ids",
    "follower_ids",
    "owner_ids",
    "external_id",
    "id",
    "estimate",
    "commits",
    "files",
    "position",
    "blocked",
    "project_id",
    "deadline",
    "stats",
    "created_at",
    "moved_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Story."
    },
    "name": {
      "type": "string",
      "description": "The name of the story."
    },
    "files": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UploadedFile"
      },
      "description": "An array of files attached to the story."
    },
    "stats": {
      "$ref": "#/components/schemas/StoryStats"
    },
    "tasks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Task"
      },
      "description": "An array of tasks connected to the story."
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LabelSlim"
      },
      "description": "An array of labels attached to the story."
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Story."
    },
    "blocked": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Story is currently blocked."
    },
    "blocker": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Story is currently a blocker of another story."
    },
    "commits": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Commit"
      },
      "description": "An array of commits attached to the story."
    },
    "epic_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the epic the story belongs to."
    },
    "started": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Story has been started."
    },
    "archived": {
      "type": "boolean",
      "description": "True if the story has been archived or not."
    },
    "branches": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Branch"
      },
      "description": "An array of Git branches attached to the story."
    },
    "comments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/StoryComment"
      },
      "description": "An array of comments attached to the story."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The due date of the story."
    },
    "estimate": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The numeric point estimate of the story. Can also be null, which means unestimated."
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the group associated with the story."
    },
    "moved_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Story was last changed workflow-state."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "A number representing the position of the story in relation to every other story in the current project."
    },
    "completed": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Story has been completed."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "label_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of label ids attached to the story."
    },
    "lead_time": {
      "type": "integer",
      "format": "int64",
      "description": "The lead time (in seconds) of this story when complete."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the owners of this story."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Story was created."
    },
    "cycle_time": {
      "type": "integer",
      "format": "int64",
      "description": "The cycle time (in seconds) of this story when complete."
    },
    "project_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the project the story belongs to."
    },
    "started_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Story was started."
    },
    "story_type": {
      "type": "string",
      "description": "The type of story (feature, bug, chore)."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Story was updated."
    },
    "description": {
      "type": "string",
      "description": "The description of the story."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Story has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Deprecated: use member_mention_ids."
    },
    "story_links": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TypedStoryLink"
      },
      "description": "An array of story links attached to the Story."
    },
    "synced_item": {
      "$ref": "#/components/schemas/SyncedItem"
    },
    "workflow_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the workflow the story belongs to."
    },
    "completed_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Story was completed."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members listed as Followers."
    },
    "iteration_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the iteration the story belongs to."
    },
    "linked_files": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LinkedFile"
      },
      "description": "An array of linked files attached to the story."
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/StoryCustomField"
      },
      "description": "An array of CustomField value assertions for the story."
    },
    "pull_requests": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PullRequest"
      },
      "description": "An array of Pull/Merge Requests attached to the story."
    },
    "external_links": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of external links (strings) associated with a Story"
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the Member that requested the story."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Group IDs that have been mentioned in the Story description."
    },
    "story_template_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the story template used to create this story, or null if not created using a template."
    },
    "workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the workflow state the story is currently in."
    },
    "member_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Member IDs that have been mentioned in the Story description."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Story was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Story was completed."
    },
    "previous_iteration_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The IDs of the iteration the story belongs to."
    },
    "unresolved_blocker_comments": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The IDs of any unresolved blocker comments on the Story."
    }
  },
  "description": "Stories are the standard unit of work in Shortcut and represent individual features, bugs, and chores."
}
array StoryAddReactionResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/StoryReaction"
  }
}
object StoryComment
{
  "type": "object",
  "required": [
    "app_url",
    "entity_type",
    "deleted",
    "story_id",
    "mention_ids",
    "author_id",
    "member_mention_ids",
    "updated_at",
    "group_mention_ids",
    "external_id",
    "id",
    "position",
    "reactions",
    "created_at",
    "text"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Comment."
    },
    "text": {
      "type": "string",
      "nullable": true,
      "description": "The text of the Comment. In the case that the Comment has been deleted, this field can be set to nil."
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Comment."
    },
    "blocker": {
      "type": "boolean",
      "description": "Marks the comment as a blocker that can be surfaced to permissions or teams mentioned in the comment. Can only be used on a top-level comment."
    },
    "deleted": {
      "type": "boolean",
      "description": "True/false boolean indicating whether the Comment has been deleted."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "The Comments numerical position in the list from oldest to newest."
    },
    "story_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the Story on which the Comment appears."
    },
    "author_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The unique ID of the Member who is the Comment's author."
    },
    "parent_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the parent Comment this Comment is threaded under."
    },
    "reactions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/StoryReaction"
      },
      "x-doc-skip": true,
      "description": "A set of Reactions to this Comment."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date when the Comment was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date when the Comment was updated."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Comment has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Deprecated: use member_mention_ids."
    },
    "unblocks_parent": {
      "type": "boolean",
      "description": "Marks the comment as an unblocker to its  blocker parent. Can only be set on a threaded comment who has a parent with `blocker` set."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The unique IDs of the Group who are mentioned in the Comment."
    },
    "member_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The unique IDs of the Member who are mentioned in the Comment."
    }
  },
  "description": "A Comment is any note added within the Comment field of a Story."
}
object StoryContents
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the story."
    },
    "files": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UploadedFile"
      },
      "description": "An array of files attached to the story."
    },
    "tasks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/StoryContentsTask"
      },
      "description": "An array of tasks connected to the story."
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LabelSlim"
      },
      "description": "An array of labels attached to the story."
    },
    "epic_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the epic the story belongs to."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "description": "The due date of the story."
    },
    "estimate": {
      "type": "integer",
      "format": "int64",
      "description": "The numeric point estimate of the story. Can also be null, which means unestimated."
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the group to which the story is assigned."
    },
    "label_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of label ids attached to the story."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the owners of this story."
    },
    "project_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the project the story belongs to."
    },
    "story_type": {
      "type": "string",
      "description": "The type of story (feature, bug, chore)."
    },
    "description": {
      "type": "string",
      "description": "The description of the story."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members listed as Followers."
    },
    "iteration_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the iteration the story belongs to."
    },
    "linked_files": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LinkedFile"
      },
      "description": "An array of linked files attached to the story."
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldValueParams"
      },
      "description": "An array of maps specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField."
    },
    "external_links": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of external links connected to the story."
    },
    "workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the workflow state the story is currently in."
    }
  },
  "description": "A container entity for the attributes this template should populate."
}
object StoryContentsTask
{
  "type": "object",
  "required": [
    "description"
  ],
  "properties": {
    "complete": {
      "type": "boolean",
      "description": "True/false boolean indicating whether the Task has been completed."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "The number corresponding to the Task's position within a list of Tasks on a Story."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the Owners of this Task."
    },
    "description": {
      "type": "string",
      "description": "Full text of the Task."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Task has been imported from another tool, the ID in the other tool can be indicated here."
    }
  }
}
array StoryCreateMultipleResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/StorySlim"
  }
}
object StoryCustomField
{
  "type": "object",
  "required": [
    "field_id",
    "value_id",
    "value"
  ],
  "properties": {
    "value": {
      "type": "string",
      "description": "A string representation of the value, if applicable."
    },
    "field_id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique public ID for a CustomField."
    },
    "value_id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique public ID for a CustomFieldEnumValue."
    }
  }
}
array StoryGetHistoryResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/History"
  }
}
object StoryHistoryChangeAddsRemovesInt
{
  "type": "object",
  "properties": {
    "adds": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The values that have been added."
    },
    "removes": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The values that have been removed"
    }
  },
  "description": "Task IDs that have been added or removed from the Story."
}
object StoryHistoryChangeAddsRemovesUuid
{
  "type": "object",
  "properties": {
    "adds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The values that have been added."
    },
    "removes": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The values that have been removed"
    }
  },
  "description": "Custom Field Enum Value IDs that have been added or removed from the Story."
}
object StoryHistoryChangeOldNewBool
{
  "type": "object",
  "properties": {
    "new": {
      "type": "boolean",
      "description": "The new value."
    },
    "old": {
      "type": "boolean",
      "description": "The old value."
    }
  },
  "description": "True if the Story has archived, otherwise false."
}
object StoryHistoryChangeOldNewInt
{
  "type": "object",
  "properties": {
    "new": {
      "type": "integer",
      "format": "int64",
      "description": "The new value."
    },
    "old": {
      "type": "integer",
      "format": "int64",
      "description": "The old value."
    }
  },
  "description": "The estimate value for the Story"
}
object StoryHistoryChangeOldNewStr
{
  "type": "object",
  "properties": {
    "new": {
      "type": "string",
      "description": "The new value."
    },
    "old": {
      "type": "string",
      "nullable": true,
      "description": "The old value."
    }
  },
  "description": "A timestamp that represents the Story's deadline."
}
object StoryHistoryChangeOldNewUuid
{
  "type": "object",
  "properties": {
    "new": {
      "type": "string",
      "format": "uuid",
      "description": "The new value."
    },
    "old": {
      "type": "string",
      "format": "uuid",
      "description": "The old value."
    }
  },
  "description": "The Team ID for the Story."
}
object StoryLink
{
  "type": "object",
  "required": [
    "entity_type",
    "id",
    "subject_id",
    "subject_workflow_state_id",
    "verb",
    "object_id",
    "created_at",
    "updated_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique identifier of the Story Link."
    },
    "verb": {
      "type": "string",
      "description": "How the subject Story acts on the object Story. This can be \"blocks\", \"duplicates\", or \"relates to\"."
    },
    "object_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the object Story."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date when the Story Link was created."
    },
    "subject_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the subject Story."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date when the Story Link was last updated."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "subject_workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "x-doc-skip": true,
      "description": "The workflow state of the \"subject\" story."
    }
  },
  "description": "Story links allow you create semantic relationships between two stories. Relationship types are relates to, blocks / blocked by, and duplicates / is duplicated by. The format is `subject -> link -> object`, or for example \"story 5 blocks story 6\"."
}
array StoryListCommentsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/StoryComment"
  }
}
object StoryReaction
{
  "type": "object",
  "required": [
    "emoji",
    "permission_ids"
  ],
  "properties": {
    "emoji": {
      "type": "string",
      "description": "Emoji text of the reaction."
    },
    "permission_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Permissions who have reacted with this."
    }
  },
  "x-doc-skip": true,
  "description": "Emoji reaction on a comment."
}
object StorySearchResult
{
  "type": "object",
  "required": [
    "app_url",
    "archived",
    "started",
    "story_links",
    "entity_type",
    "labels",
    "mention_ids",
    "member_mention_ids",
    "story_type",
    "workflow_id",
    "completed_at_override",
    "started_at",
    "completed_at",
    "name",
    "global_id",
    "completed",
    "blocker",
    "epic_id",
    "story_template_id",
    "external_links",
    "previous_iteration_ids",
    "requested_by_id",
    "iteration_id",
    "label_ids",
    "started_at_override",
    "group_id",
    "workflow_state_id",
    "updated_at",
    "group_mention_ids",
    "follower_ids",
    "owner_ids",
    "external_id",
    "id",
    "estimate",
    "position",
    "blocked",
    "project_id",
    "deadline",
    "stats",
    "created_at",
    "moved_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Story."
    },
    "name": {
      "type": "string",
      "description": "The name of the story."
    },
    "files": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UploadedFile"
      },
      "description": "An array of files attached to the story."
    },
    "stats": {
      "$ref": "#/components/schemas/StoryStats"
    },
    "tasks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Task"
      },
      "description": "An array of tasks connected to the story."
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LabelSlim"
      },
      "description": "An array of labels attached to the story."
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Story."
    },
    "blocked": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Story is currently blocked."
    },
    "blocker": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Story is currently a blocker of another story."
    },
    "commits": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Commit"
      },
      "description": "An array of commits attached to the story."
    },
    "epic_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the epic the story belongs to."
    },
    "started": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Story has been started."
    },
    "archived": {
      "type": "boolean",
      "description": "True if the story has been archived or not."
    },
    "branches": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Branch"
      },
      "description": "An array of Git branches attached to the story."
    },
    "comments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/StoryComment"
      },
      "description": "An array of comments attached to the story."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The due date of the story."
    },
    "estimate": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The numeric point estimate of the story. Can also be null, which means unestimated."
    },
    "file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of Files attached to the story."
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the group associated with the story."
    },
    "moved_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Story was last changed workflow-state."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "A number representing the position of the story in relation to every other story in the current project."
    },
    "task_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of Tasks attached to the story."
    },
    "completed": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Story has been completed."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "label_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of label ids attached to the story."
    },
    "lead_time": {
      "type": "integer",
      "format": "int64",
      "description": "The lead time (in seconds) of this story when complete."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the owners of this story."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Story was created."
    },
    "cycle_time": {
      "type": "integer",
      "format": "int64",
      "description": "The cycle time (in seconds) of this story when complete."
    },
    "project_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the project the story belongs to."
    },
    "started_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Story was started."
    },
    "story_type": {
      "type": "string",
      "description": "The type of story (feature, bug, chore)."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Story was updated."
    },
    "comment_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of Comments attached to the story."
    },
    "description": {
      "type": "string",
      "description": "The description of the story."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Story has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Deprecated: use member_mention_ids."
    },
    "story_links": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TypedStoryLink"
      },
      "description": "An array of story links attached to the Story."
    },
    "synced_item": {
      "$ref": "#/components/schemas/SyncedItem"
    },
    "workflow_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the workflow the story belongs to."
    },
    "completed_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Story was completed."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members listed as Followers."
    },
    "iteration_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the iteration the story belongs to."
    },
    "linked_files": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LinkedFile"
      },
      "description": "An array of linked files attached to the story."
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/StoryCustomField"
      },
      "description": "An array of CustomField value assertions for the story."
    },
    "pull_requests": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PullRequest"
      },
      "description": "An array of Pull/Merge Requests attached to the story."
    },
    "external_links": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of external links (strings) associated with a Story"
    },
    "linked_file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of LinkedFiles attached to the story."
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the Member that requested the story."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Group IDs that have been mentioned in the Story description."
    },
    "story_template_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the story template used to create this story, or null if not created using a template."
    },
    "workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the workflow state the story is currently in."
    },
    "member_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Member IDs that have been mentioned in the Story description."
    },
    "num_tasks_completed": {
      "type": "integer",
      "format": "int64",
      "description": "The number of tasks on the story which are complete."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Story was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Story was completed."
    },
    "previous_iteration_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The IDs of the iteration the story belongs to."
    },
    "unresolved_blocker_comments": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The IDs of any unresolved blocker comments on the Story."
    }
  },
  "description": "A Story in search results. This is typed differently from Story because the details=slim search argument will omit some fields."
}
object StorySearchResults
{
  "type": "object",
  "required": [
    "total",
    "data",
    "next"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/StorySearchResult"
      },
      "description": "A list of search results."
    },
    "next": {
      "type": "string",
      "nullable": true,
      "description": "The URL path and query string for the next page of search results."
    },
    "total": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of matches for the search query. The first 1000 matches can be paged through via the API."
    }
  },
  "description": "The results of the Story search query."
}
object StorySlim
{
  "type": "object",
  "required": [
    "app_url",
    "archived",
    "started",
    "story_links",
    "entity_type",
    "labels",
    "task_ids",
    "mention_ids",
    "member_mention_ids",
    "story_type",
    "file_ids",
    "num_tasks_completed",
    "workflow_id",
    "completed_at_override",
    "started_at",
    "completed_at",
    "name",
    "global_id",
    "completed",
    "blocker",
    "epic_id",
    "story_template_id",
    "external_links",
    "previous_iteration_ids",
    "requested_by_id",
    "iteration_id",
    "label_ids",
    "started_at_override",
    "group_id",
    "workflow_state_id",
    "updated_at",
    "group_mention_ids",
    "follower_ids",
    "owner_ids",
    "external_id",
    "id",
    "estimate",
    "position",
    "blocked",
    "project_id",
    "linked_file_ids",
    "deadline",
    "stats",
    "comment_ids",
    "created_at",
    "moved_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Story."
    },
    "name": {
      "type": "string",
      "description": "The name of the story."
    },
    "stats": {
      "$ref": "#/components/schemas/StoryStats"
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LabelSlim"
      },
      "description": "An array of labels attached to the story."
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Story."
    },
    "blocked": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Story is currently blocked."
    },
    "blocker": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Story is currently a blocker of another story."
    },
    "epic_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the epic the story belongs to."
    },
    "started": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Story has been started."
    },
    "archived": {
      "type": "boolean",
      "description": "True if the story has been archived or not."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The due date of the story."
    },
    "estimate": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The numeric point estimate of the story. Can also be null, which means unestimated."
    },
    "file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of Files attached to the story."
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the group associated with the story."
    },
    "moved_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Story was last changed workflow-state."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "A number representing the position of the story in relation to every other story in the current project."
    },
    "task_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of Tasks attached to the story."
    },
    "completed": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Story has been completed."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "label_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of label ids attached to the story."
    },
    "lead_time": {
      "type": "integer",
      "format": "int64",
      "description": "The lead time (in seconds) of this story when complete."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the owners of this story."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Story was created."
    },
    "cycle_time": {
      "type": "integer",
      "format": "int64",
      "description": "The cycle time (in seconds) of this story when complete."
    },
    "project_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the project the story belongs to."
    },
    "started_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Story was started."
    },
    "story_type": {
      "type": "string",
      "description": "The type of story (feature, bug, chore)."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Story was updated."
    },
    "comment_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of Comments attached to the story."
    },
    "description": {
      "type": "string",
      "description": "The description of the Story."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Story has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Deprecated: use member_mention_ids."
    },
    "story_links": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TypedStoryLink"
      },
      "description": "An array of story links attached to the Story."
    },
    "synced_item": {
      "$ref": "#/components/schemas/SyncedItem"
    },
    "workflow_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the workflow the story belongs to."
    },
    "completed_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Story was completed."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members listed as Followers."
    },
    "iteration_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the iteration the story belongs to."
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/StoryCustomField"
      },
      "description": "An array of CustomField value assertions for the story."
    },
    "external_links": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of external links (strings) associated with a Story"
    },
    "linked_file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of LinkedFiles attached to the story."
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the Member that requested the story."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Group IDs that have been mentioned in the Story description."
    },
    "story_template_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the story template used to create this story, or null if not created using a template."
    },
    "workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the workflow state the story is currently in."
    },
    "member_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Member IDs that have been mentioned in the Story description."
    },
    "num_tasks_completed": {
      "type": "integer",
      "format": "int64",
      "description": "The number of tasks on the story which are complete."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Story was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Story was completed."
    },
    "previous_iteration_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The IDs of the iteration the story belongs to."
    },
    "unresolved_blocker_comments": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The IDs of any unresolved blocker comments on the Story."
    }
  },
  "description": "StorySlim represents the same resource as a Story, but is more light-weight. For certain fields it provides ids rather than full resources (e.g., `comment_ids` and `file_ids`) and it also excludes certain aggregate values (e.g., `cycle_time`). The `description` field can be optionally included. Use the [Get Story](https://developer.shortcut.com) endpoint to fetch the unabridged payload for a Story."
}
object StoryStats
{
  "type": "object",
  "required": [
    "num_related_documents"
  ],
  "properties": {
    "num_related_documents": {
      "type": "integer",
      "format": "int64",
      "description": "The number of documents related to this Story."
    }
  },
  "x-doc-skip": true,
  "description": "The stats object for Stories"
}
array StoryUpdateMultipleResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/StorySlim"
  }
}
object SyncedItem
{
  "type": "object",
  "required": [
    "external_id",
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "The url to the external entity."
    },
    "external_id": {
      "type": "string",
      "description": "The id used to reference an external entity."
    }
  },
  "x-doc-skip": true,
  "description": "The synced item for the story."
}
object Task
{
  "type": "object",
  "required": [
    "description",
    "entity_type",
    "story_id",
    "mention_ids",
    "member_mention_ids",
    "completed_at",
    "updated_at",
    "group_mention_ids",
    "owner_ids",
    "external_id",
    "id",
    "position",
    "complete",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Task."
    },
    "complete": {
      "type": "boolean",
      "description": "True/false boolean indicating whether the Task has been completed."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "The number corresponding to the Task's position within a list of Tasks on a Story."
    },
    "story_id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique identifier of the parent Story."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the Owners of this Task."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Task was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Task was updated."
    },
    "description": {
      "type": "string",
      "description": "Full text of the Task."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Task has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Deprecated: use member_mention_ids."
    },
    "completed_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date the Task was completed."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of Groups mentioned in this Task."
    },
    "member_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of Members mentioned in this Task."
    }
  },
  "description": "A Task on a Story."
}
array TemplateListEntityTemplatesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/EntityTemplate"
  }
}
object ThreadedComment
{
  "type": "object",
  "required": [
    "app_url",
    "entity_type",
    "deleted",
    "mention_ids",
    "author_id",
    "member_mention_ids",
    "comments",
    "updated_at",
    "group_mention_ids",
    "external_id",
    "id",
    "created_at",
    "text"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Comment."
    },
    "text": {
      "type": "string",
      "description": "The text of the Comment."
    },
    "app_url": {
      "type": "string",
      "description": "The Shortcut application url for the Comment."
    },
    "deleted": {
      "type": "boolean",
      "description": "True/false boolean indicating whether the Comment is deleted."
    },
    "comments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ThreadedComment"
      },
      "description": "A nested array of threaded comments."
    },
    "author_id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique ID of the Member that authored the Comment."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Comment was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Comment was updated."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the Comment has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Deprecated: use member_mention_ids."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Group IDs that have been mentioned in this Comment."
    },
    "member_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of Member IDs that have been mentioned in this Comment."
    }
  },
  "description": "Comments associated with Epic Discussions."
}
object TypedStoryLink
{
  "type": "object",
  "required": [
    "entity_type",
    "object_id",
    "verb",
    "type",
    "updated_at",
    "id",
    "subject_id",
    "subject_workflow_state_id",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique identifier of the Story Link."
    },
    "type": {
      "type": "string",
      "description": "This indicates whether the Story is the subject or object in the Story Link."
    },
    "verb": {
      "type": "string",
      "description": "How the subject Story acts on the object Story. This can be \"blocks\", \"duplicates\", or \"relates to\"."
    },
    "object_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the object Story."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date when the Story Link was created."
    },
    "subject_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the subject Story."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date when the Story Link was last updated."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "subject_workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "x-doc-skip": true,
      "description": "The workflow state of the \"subject\" story."
    }
  },
  "description": "The type of Story Link. The string can be subject or object. "
}
object UnusableEntitlementError
{
  "type": "object",
  "required": [
    "reason_tag",
    "entitlement_tag",
    "message"
  ],
  "properties": {
    "message": {
      "type": "string",
      "maxLength": 256,
      "minLength": 1,
      "description": "Message displayed to the user on why their action failed."
    },
    "reason_tag": {
      "enum": [
        "entitlement-violation"
      ],
      "type": "string",
      "description": "The tag for violating an entitlement action."
    },
    "entitlement_tag": {
      "type": "string",
      "maxLength": 63,
      "minLength": 1,
      "description": "Short tag describing the unusable entitlement action taken by the user."
    }
  },
  "x-doc-skip": true
}
object UpdateCategory
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "The new name of the Category."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "nullable": true,
      "minLength": 1,
      "description": "The hex color to be displayed with the Category (for example, \"#ff0000\")."
    },
    "archived": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Category has been archived."
    }
  },
  "x-doc-skip": true
}
object UpdateComment
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "The updated comment text."
    }
  },
  "x-doc-skip": true
}
object UpdateCustomField
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 63,
      "minLength": 1,
      "description": "A collection of objects representing reporting periods for years."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UpdateCustomFieldEnumValue"
      },
      "description": "A collection of EnumValue objects representing the values in the domain of some Custom Field."
    },
    "enabled": {
      "type": "boolean",
      "description": "Indicates whether the Field is enabled for the Workspace. Only enabled fields can be applied to Stories."
    },
    "after_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the CustomField we want to move this CustomField after."
    },
    "before_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the CustomField we want to move this CustomField before."
    },
    "description": {
      "type": "string",
      "description": "A description of the purpose of this field."
    },
    "icon_set_identifier": {
      "type": "string",
      "maxLength": 63,
      "minLength": 1,
      "description": "A frontend-controlled string that represents the icon for this custom field."
    }
  }
}
object UpdateCustomFieldEnumValue
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique ID of an existing EnumValue within the CustomField's domain."
    },
    "value": {
      "type": "string",
      "maxLength": 63,
      "minLength": 1,
      "description": "A string value within the domain of this Custom Field."
    },
    "enabled": {
      "type": "boolean",
      "description": "Whether this EnumValue is enabled for its CustomField or not. Leaving this key out of the request leaves the current enabled state untouched."
    },
    "color_key": {
      "type": "string",
      "nullable": true,
      "description": "A color key associated with this EnumValue within the CustomField's domain."
    }
  }
}
object UpdateEntityTemplate
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "The updated template name."
    },
    "story_contents": {
      "$ref": "#/components/schemas/UpdateStoryContents"
    }
  },
  "description": "Request parameters for changing either a template's name or any of\n  the attributes it is designed to pre-populate."
}
object UpdateEpic
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 256,
      "minLength": 1,
      "description": "The Epic's name."
    },
    "state": {
      "enum": [
        "in progress",
        "to do",
        "done"
      ],
      "type": "string",
      "description": "`Deprecated` The Epic's state (to do, in progress, or done); will be ignored when `epic_state_id` is set."
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateLabelParams"
      },
      "description": "An array of Labels attached to the Epic."
    },
    "after_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the Epic we want to move this Epic after."
    },
    "archived": {
      "type": "boolean",
      "description": "A true/false boolean indicating whether the Epic is in archived state."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The Epic's deadline."
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "`Deprecated` The ID of the group to associate with the epic. Use `group_ids`."
    },
    "before_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the Epic we want to move this Epic before."
    },
    "group_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDS for Groups to which this Epic is related."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any members you want to add as Owners on this Epic."
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The Epic's description."
    },
    "external_id": {
      "type": "string",
      "description": "This field can be set to another unique ID. In the case that the Epic has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members you want to add as Followers on this Epic."
    },
    "milestone_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "`Deprecated` The ID of the Milestone this Epic is related to. Use `objective_ids`."
    },
    "epic_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the Epic State."
    },
    "objective_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs for Objectives to which this Epic is related."
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the member that requested the epic."
    },
    "planned_start_date": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The Epic's planned start date."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Epic was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Epic was completed."
    }
  },
  "x-doc-skip": true
}
object UpdateFile
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 1024,
      "minLength": 1,
      "description": "The name of the file."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date that the file was uploaded."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date that the file was last updated."
    },
    "description": {
      "type": "string",
      "description": "The description of the file."
    },
    "external_id": {
      "type": "string",
      "description": "An additional ID that you may wish to assign to the file."
    },
    "uploader_id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique ID assigned to the Member who uploaded the file to Shortcut."
    }
  },
  "x-doc-skip": true
}
object UpdateGroup
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 63,
      "minLength": 1,
      "description": "The name of this Group."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "nullable": true,
      "minLength": 1,
      "description": "The color you wish to use for the Group in the system."
    },
    "archived": {
      "type": "boolean",
      "nullable": true,
      "description": "Whether or not this Group is archived."
    },
    "color_key": {
      "enum": [
        "blue",
        "purple",
        "midnight-blue",
        "orange",
        "yellow-green",
        "brass",
        "gray",
        "fuchsia",
        "yellow",
        "pink",
        "sky-blue",
        "green",
        "red",
        "black",
        "slate",
        "turquoise"
      ],
      "type": "string",
      "description": "The color key you wish to use for the Group in the system."
    },
    "member_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The Member ids to add to this Group.",
      "uniqueItems": true
    },
    "description": {
      "type": "string",
      "description": "The description of this Group."
    },
    "mention_name": {
      "type": "string",
      "maxLength": 63,
      "minLength": 1,
      "description": "The mention name of this Group."
    },
    "workflow_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The Workflow ids to add to the Group."
    },
    "display_icon_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The Icon id for the avatar of this Group."
    }
  }
}
object UpdateIteration
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 256,
      "minLength": 1,
      "description": "The name of this Iteration"
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateLabelParams"
      },
      "description": "An array of Labels attached to the Iteration."
    },
    "end_date": {
      "type": "string",
      "minLength": 1,
      "description": "The date this Iteration ends, e.g. 2019-07-05."
    },
    "group_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Groups you want to add as Followers. Currently, only one Group association is presented in our web UI."
    },
    "start_date": {
      "type": "string",
      "minLength": 1,
      "description": "The date this Iteration begins, e.g. 2019-07-01"
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The description of the Iteration."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members you want to add as Followers."
    }
  }
}
object UpdateKeyResult
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the Key Result."
    },
    "target_value": {
      "$ref": "#/components/schemas/KeyResultValue"
    },
    "observed_value": {
      "$ref": "#/components/schemas/KeyResultValue"
    },
    "initial_observed_value": {
      "$ref": "#/components/schemas/KeyResultValue"
    }
  }
}
object UpdateLabel
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1,
      "description": "The new name of the label."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "nullable": true,
      "minLength": 1,
      "description": "The hex color to be displayed with the Label (for example, \"#ff0000\")."
    },
    "archived": {
      "type": "boolean",
      "description": "A true/false boolean indicating if the Label has been archived."
    },
    "description": {
      "type": "string",
      "description": "The new description of the label."
    }
  },
  "x-doc-skip": true
}
object UpdateLinkedFile
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The URL of linked file."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "The name of the file."
    },
    "size": {
      "type": "integer",
      "format": "int64",
      "description": "The filesize, if the integration provided it."
    },
    "type": {
      "enum": [
        "google",
        "url",
        "dropbox",
        "box",
        "onedrive"
      ],
      "type": "string",
      "description": "The integration type of the file (e.g. google, dropbox, box)."
    },
    "story_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the linked story."
    },
    "description": {
      "type": "string",
      "description": "The description of the file."
    },
    "uploader_id": {
      "type": "string",
      "format": "uuid",
      "description": "The UUID of the member that uploaded the file."
    },
    "thumbnail_url": {
      "type": "string",
      "pattern": "^https?://.+$",
      "maxLength": 2048,
      "description": "The URL of the thumbnail, if the integration provided it."
    }
  },
  "x-doc-skip": true
}
object UpdateMilestone
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 256,
      "minLength": 1,
      "description": "The name of the Milestone."
    },
    "state": {
      "enum": [
        "in progress",
        "to do",
        "done"
      ],
      "type": "string",
      "description": "The workflow state that the Milestone is in."
    },
    "after_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the Milestone we want to move this Milestone after."
    },
    "archived": {
      "type": "boolean",
      "description": "A boolean indicating whether the Milestone is archived or not"
    },
    "before_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the Milestone we want to move this Milestone before."
    },
    "categories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateCategoryParams"
      },
      "description": "An array of IDs of Categories attached to the Milestone."
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The Milestone's description."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Milestone was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Milestone was completed."
    }
  },
  "x-doc-skip": true
}
object UpdateObjective
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 256,
      "minLength": 1,
      "description": "The name of the Objective."
    },
    "state": {
      "enum": [
        "in progress",
        "to do",
        "done"
      ],
      "type": "string",
      "description": "The workflow state that the Objective is in."
    },
    "after_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the Objective we want to move this Objective after."
    },
    "archived": {
      "type": "boolean",
      "description": "A boolean indicating whether the Objective is archived or not"
    },
    "before_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the Objective we want to move this Objective before."
    },
    "categories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateCategoryParams"
      },
      "description": "An array of IDs of Categories attached to the Objective."
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The Objective's description."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Objective was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Objective was completed."
    }
  },
  "x-doc-skip": true
}
object UpdateProject
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1,
      "description": "The Project's name."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "minLength": 1,
      "description": "The color that represents the Project in the UI."
    },
    "team_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the team the project belongs to."
    },
    "archived": {
      "type": "boolean",
      "description": "A true/false boolean indicating whether the Story is in archived state."
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The Project's description."
    },
    "abbreviation": {
      "type": "string",
      "description": "The Project abbreviation used in Story summaries. Should be kept to 3 characters at most."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members you want to add as Followers."
    },
    "show_thermometer": {
      "type": "boolean",
      "description": "Configuration to enable or disable thermometers in the Story summary."
    },
    "days_to_thermometer": {
      "type": "integer",
      "format": "int64",
      "description": "The number of days before the thermometer appears in the Story summary."
    }
  },
  "x-doc-skip": true
}
object UpdateStories
{
  "type": "object",
  "required": [
    "story_ids"
  ],
  "properties": {
    "epic_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the epic the story belongs to."
    },
    "move_to": {
      "enum": [
        "last",
        "first"
      ],
      "type": "string",
      "description": "One of \"first\" or \"last\". This can be used to move the given story to the first or last position in the workflow state."
    },
    "after_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the story that the stories are to be moved below."
    },
    "archived": {
      "type": "boolean",
      "description": "If the Stories should be archived or not."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The due date of the story."
    },
    "estimate": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The numeric point estimate of the story. Can also be null, which means unestimated."
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The Id of the Group the Stories should belong to."
    },
    "before_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the story that the stories are to be moved before."
    },
    "story_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The Ids of the Stories you wish to update.",
      "uniqueItems": true
    },
    "labels_add": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateLabelParams"
      },
      "description": "An array of labels to be added."
    },
    "project_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the Project the Stories should belong to."
    },
    "story_type": {
      "enum": [
        "feature",
        "chore",
        "bug"
      ],
      "type": "string",
      "description": "The type of story (feature, bug, chore)."
    },
    "iteration_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the iteration the story belongs to."
    },
    "labels_remove": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateLabelParams"
      },
      "description": "An array of labels to be removed."
    },
    "owner_ids_add": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The UUIDs of the new owners to be added.",
      "uniqueItems": true
    },
    "external_links": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of External Links associated with this story."
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the member that requested the story."
    },
    "follower_ids_add": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The UUIDs of the new followers to be added.",
      "uniqueItems": true
    },
    "owner_ids_remove": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The UUIDs of the owners to be removed.",
      "uniqueItems": true
    },
    "custom_fields_add": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldValueParams"
      },
      "description": "A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField."
    },
    "workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the workflow state to put the stories in."
    },
    "follower_ids_remove": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The UUIDs of the followers to be removed.",
      "uniqueItems": true
    },
    "custom_fields_remove": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldValueParams"
      },
      "description": "A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField."
    }
  },
  "x-doc-skip": true
}
object UpdateStory
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 512,
      "minLength": 1,
      "description": "The title of the story."
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateLabelParams"
      },
      "description": "An array of labels attached to the story."
    },
    "epic_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the epic the story belongs to."
    },
    "move_to": {
      "enum": [
        "last",
        "first"
      ],
      "type": "string",
      "description": "One of \"first\" or \"last\". This can be used to move the given story to the first or last position in the workflow state."
    },
    "after_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the story we want to move this story after."
    },
    "archived": {
      "type": "boolean",
      "description": "True if the story is archived, otherwise false."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The due date of the story."
    },
    "estimate": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The numeric point estimate of the story. Can also be null, which means unestimated."
    },
    "file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of files attached to the story.",
      "uniqueItems": true
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the group to associate with this story"
    },
    "before_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the story we want to move this story before."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the owners of this story.",
      "uniqueItems": true
    },
    "branch_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of Branches attached to the story.",
      "uniqueItems": true
    },
    "commit_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of Commits attached to the story.",
      "uniqueItems": true
    },
    "project_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the project the story belongs to."
    },
    "story_type": {
      "enum": [
        "feature",
        "chore",
        "bug"
      ],
      "type": "string",
      "description": "The type of story (feature, bug, chore)."
    },
    "description": {
      "type": "string",
      "maxLength": 100000,
      "description": "The description of the story."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the followers of this story.",
      "uniqueItems": true
    },
    "iteration_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the iteration the story belongs to."
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldValueParams"
      },
      "description": "A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField."
    },
    "external_links": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of External Links associated with this story."
    },
    "linked_file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of linked files attached to the story.",
      "uniqueItems": true
    },
    "requested_by_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the member that requested the story."
    },
    "pull_request_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of IDs of Pull/Merge Requests attached to the story.",
      "uniqueItems": true
    },
    "workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the workflow state to put the story in."
    },
    "started_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Story was started."
    },
    "completed_at_override": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "A manual override for the time/date the Story was completed."
    }
  },
  "x-doc-skip": true
}
object UpdateStoryComment
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 100000,
      "description": "The updated comment text."
    }
  },
  "x-doc-skip": true
}
object UpdateStoryContents
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the story."
    },
    "tasks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BaseTaskParams"
      },
      "description": "An array of tasks to be populated by the template."
    },
    "labels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateLabelParams"
      },
      "description": "An array of labels to be populated by the template."
    },
    "epic_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the epic the to be populated."
    },
    "deadline": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The due date of the story."
    },
    "estimate": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The numeric point estimate to be populated."
    },
    "file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of the attached file IDs to be populated.",
      "uniqueItems": true
    },
    "group_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of the group to be populated."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the owners of this story."
    },
    "project_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the project the story belongs to."
    },
    "story_type": {
      "type": "string",
      "description": "The type of story (feature, bug, chore)."
    },
    "description": {
      "type": "string",
      "description": "The description of the story."
    },
    "follower_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs for any Members listed as Followers."
    },
    "iteration_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the iteration the to be populated."
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldValueParams"
      },
      "description": "An array of maps specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField."
    },
    "external_links": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of external links to be populated."
    },
    "linked_file_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "An array of the linked file IDs to be populated.",
      "uniqueItems": true
    },
    "workflow_state_id": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "The ID of the workflow state to be populated."
    }
  },
  "description": "Updated attributes for the template to populate."
}
object UpdateStoryLink
{
  "type": "object",
  "properties": {
    "verb": {
      "enum": [
        "blocks",
        "duplicates",
        "relates to"
      ],
      "type": "string",
      "description": "The type of link."
    },
    "object_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the object Story."
    },
    "subject_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the subject Story."
    }
  },
  "x-doc-skip": true
}
object UpdateTask
{
  "type": "object",
  "properties": {
    "after_id": {
      "type": "integer",
      "format": "int64",
      "description": "Move task after this task ID."
    },
    "complete": {
      "type": "boolean",
      "description": "A true/false boolean indicating whether the task is complete."
    },
    "before_id": {
      "type": "integer",
      "format": "int64",
      "description": "Move task before this task ID."
    },
    "owner_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "An array of UUIDs of the owners of this story."
    },
    "description": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1,
      "description": "The Task's description."
    }
  },
  "x-doc-skip": true
}
object UploadedFile
{
  "type": "object",
  "required": [
    "description",
    "entity_type",
    "story_ids",
    "mention_ids",
    "member_mention_ids",
    "name",
    "thumbnail_url",
    "size",
    "uploader_id",
    "content_type",
    "updated_at",
    "filename",
    "group_mention_ids",
    "external_id",
    "id",
    "url",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID for the file."
    },
    "url": {
      "type": "string",
      "nullable": true,
      "description": "The URL for the file."
    },
    "name": {
      "type": "string",
      "description": "The optional User-specified name of the file."
    },
    "size": {
      "type": "integer",
      "format": "int64",
      "description": "The size of the file."
    },
    "filename": {
      "type": "string",
      "description": "The name assigned to the file in Shortcut upon upload."
    },
    "story_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "description": "The unique IDs of the Stories associated with this file."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date that the file was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "The time/date that the file was updated."
    },
    "description": {
      "type": "string",
      "nullable": true,
      "description": "The description of the file."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "This field can be set to another unique ID. In the case that the File has been imported from another tool, the ID in the other tool can be indicated here."
    },
    "mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Deprecated: use member_mention_ids."
    },
    "uploader_id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique ID of the Member who uploaded the file."
    },
    "content_type": {
      "type": "string",
      "description": "Free form string corresponding to a text or image file."
    },
    "thumbnail_url": {
      "type": "string",
      "nullable": true,
      "description": "The url where the thumbnail of the file can be found in Shortcut."
    },
    "group_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The unique IDs of the Groups who are mentioned in the file description."
    },
    "member_mention_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "The unique IDs of the Members who are mentioned in the file description."
    }
  },
  "description": "An UploadedFile is any document uploaded to your Shortcut Workspace. Files attached from a third-party service are different: see the Linked Files endpoint."
}
object Workflow
{
  "type": "object",
  "required": [
    "description",
    "entity_type",
    "project_ids",
    "states",
    "name",
    "updated_at",
    "auto_assign_owner",
    "id",
    "team_id",
    "created_at",
    "default_state_id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Workflow."
    },
    "name": {
      "type": "string",
      "description": "The name of the workflow."
    },
    "states": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/WorkflowState"
      },
      "description": "A map of the states in this Workflow."
    },
    "team_id": {
      "type": "integer",
      "format": "int64",
      "description": "The ID of the team the workflow belongs to."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date the Workflow was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date the Workflow was updated."
    },
    "description": {
      "type": "string",
      "description": "A description of the workflow."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "project_ids": {
      "type": "array",
      "items": {
        "type": "number",
        "format": "double"
      },
      "description": "An array of IDs of projects within the Workflow."
    },
    "default_state_id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the default state that new Stories are entered into."
    },
    "auto_assign_owner": {
      "type": "boolean",
      "description": "Indicates if an owner is automatically assigned when an unowned story is started."
    }
  },
  "description": "Workflow is the array of defined Workflow States. Workflow can be queried using the API but must be updated in the Shortcut UI. "
}
array WorkflowListAllResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Workflow"
  }
}
object WorkflowState
{
  "type": "object",
  "required": [
    "description",
    "entity_type",
    "verb",
    "name",
    "global_id",
    "num_stories",
    "type",
    "updated_at",
    "id",
    "num_story_templates",
    "position",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "The unique ID of the Workflow State."
    },
    "name": {
      "type": "string",
      "description": "The Workflow State's name."
    },
    "type": {
      "type": "string",
      "description": "The type of Workflow State (Unstarted, Started, or Finished)"
    },
    "verb": {
      "type": "string",
      "nullable": true,
      "description": "The verb that triggers a move to that Workflow State when making VCS commits."
    },
    "color": {
      "type": "string",
      "format": "css-color",
      "pattern": "^#[a-fA-F0-9]{6}$",
      "minLength": 1,
      "description": "The hex color for this Workflow State."
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "description": "The position that the Workflow State is in, starting with 0 at the left."
    },
    "global_id": {
      "type": "string",
      "x-doc-skip": true
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time/date the Workflow State was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "When the Workflow State was last updated."
    },
    "description": {
      "type": "string",
      "description": "The description of what sort of Stories belong in that Workflow state."
    },
    "entity_type": {
      "type": "string",
      "description": "A string description of this resource."
    },
    "num_stories": {
      "type": "integer",
      "format": "int64",
      "description": "The number of Stories currently in that Workflow State."
    },
    "num_story_templates": {
      "type": "integer",
      "format": "int64",
      "description": "The number of Story Templates associated with that Workflow State."
    }
  },
  "description": "Workflow State is any of the at least 3 columns. Workflow States correspond to one of 3 types: Unstarted, Started, or Done."
}