shortcut-api.d.ts•476 kB
/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
"/api/v3/categories": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Categories
* @description List Categories returns a list of all Categories and their attributes.
*/
get: operations["listCategories"];
put?: never;
/**
* Create Category
* @description Create Category allows you to create a new Category in Shortcut.
*/
post: operations["createCategory"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/categories/{category-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Category
* @description Get Category returns information about the selected Category.
*/
get: operations["getCategory"];
/**
* Update Category
* @description Update Category allows you to replace a Category name with another name. If you try to name a Category something that already exists, you will receive a 422 response.
*/
put: operations["updateCategory"];
post?: never;
/**
* Delete Category
* @description Delete Category can be used to delete any Category.
*/
delete: operations["deleteCategory"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/categories/{category-public-id}/milestones": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Category Milestones
* @description List Category Milestones returns a list of all Milestones with the Category.
*/
get: operations["listCategoryMilestones"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/categories/{category-public-id}/objectives": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Category Objectives
* @description Returns a list of all Objectives with the Category.
*/
get: operations["listCategoryObjectives"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/custom-fields": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List Custom Fields */
get: operations["listCustomFields"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/custom-fields/{custom-field-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get Custom Field */
get: operations["getCustomField"];
/**
* Update Custom Field
* @description Update Custom Field can be used to update the definition of a Custom Field. The order of items in the 'values' collection is interpreted to be their ascending sort order.To delete an existing enum value, simply omit it from the 'values' collection. New enum values may be created inline by including an object in the 'values' collection having a 'value' entry with no 'id' (eg. {'value': 'myNewValue', 'color_key': 'green'}).
*/
put: operations["updateCustomField"];
post?: never;
/** Delete Custom Field */
delete: operations["deleteCustomField"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/documents": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Docs
* @description List Docs returns a list of Doc that the current user can read.
*/
get: operations["listDocs"];
put?: never;
/**
* Create Doc
* @description Creates a new Doc.
*/
post: operations["createDoc"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/entity-templates": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Entity Templates
* @description List all the entity templates for the Workspace.
*/
get: operations["listEntityTemplates"];
put?: never;
/**
* Create Entity Template
* @description Create a new entity template for the Workspace.
*/
post: operations["createEntityTemplate"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/entity-templates/disable": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
/**
* Disable Story Templates
* @description Disables the Story Template feature for the Workspace.
*/
put: operations["disableStoryTemplates"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/entity-templates/enable": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
/**
* Enable Story Templates
* @description Enables the Story Template feature for the Workspace.
*/
put: operations["enableStoryTemplates"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/entity-templates/{entity-template-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Entity Template
* @description Get Entity Template returns information about a given entity template.
*/
get: operations["getEntityTemplate"];
/**
* Update Entity Template
* @description Update an entity template's name or its contents.
*/
put: operations["updateEntityTemplate"];
post?: never;
/** Delete Entity Template */
delete: operations["deleteEntityTemplate"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/epic-workflow": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Epic Workflow
* @description Returns the Epic Workflow for the Workspace.
*/
get: operations["getEpicWorkflow"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/epics": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Epics
* @description List Epics returns a list of all Epics and their attributes.
*/
get: operations["listEpics"];
put?: never;
/**
* Create Epic
* @description Create Epic allows you to create a new Epic in Shortcut.
*/
post: operations["createEpic"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/epics/paginated": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Epics Paginated
* @description List Epics with pagination returns a paginated list of Epics and their attributes.
*/
get: operations["listEpicsPaginated"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/epics/{epic-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Epic
* @description Get Epic returns information about the selected Epic.
*/
get: operations["getEpic"];
/**
* Update Epic
* @description Update Epic can be used to update numerous fields in the Epic. The only required parameter is Epic ID, which can be found in the Shortcut UI.
*/
put: operations["updateEpic"];
post?: never;
/**
* Delete Epic
* @description Delete Epic can be used to delete the Epic. The only required parameter is Epic ID.
*/
delete: operations["deleteEpic"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/epics/{epic-public-id}/comments": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Epic Comments
* @description Get a list of all Comments on an Epic.
*/
get: operations["listEpicComments"];
put?: never;
/**
* Create Epic Comment
* @description This endpoint allows you to create a threaded Comment on an Epic.
*/
post: operations["createEpicComment"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/epics/{epic-public-id}/comments/{comment-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Epic Comment
* @description This endpoint returns information about the selected Epic Comment.
*/
get: operations["getEpicComment"];
/**
* Update Epic Comment
* @description This endpoint allows you to update a threaded Comment on an Epic.
*/
put: operations["updateEpicComment"];
/**
* Create Epic Comment Comment
* @description This endpoint allows you to create a nested Comment reply to an existing Epic Comment.
*/
post: operations["createEpicCommentComment"];
/**
* Delete Epic Comment
* @description This endpoint allows you to delete a Comment from an Epic.
*/
delete: operations["deleteEpicComment"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/epics/{epic-public-id}/health": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Epic Health
* @description Get the current health for the specified Epic.
*/
get: operations["getEpicHealth"];
put?: never;
/**
* Create Epic Health
* @description Create a new health status for the specified Epic.
*/
post: operations["createEpicHealth"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/epics/{epic-public-id}/health-history": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Epic Healths
* @description List the history of health statuses for the specified Epic, most recent first.
*/
get: operations["listEpicHealths"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/epics/{epic-public-id}/stories": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Epic Stories
* @description Get a list of all Stories in an Epic.
*/
get: operations["listEpicStories"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/epics/{epic-public-id}/unlink-productboard": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Unlink Productboard from Epic
* @description This endpoint allows you to unlink a productboard epic.
*/
post: operations["unlinkProductboardFromEpic"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/external-link/stories": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get External Link Stories
* @description Get Stories which have a given External Link associated with them.
*/
get: operations["getExternalLinkStories"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/files": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Files
* @description List Files returns a list of all UploadedFiles in the workspace.
*/
get: operations["listFiles"];
put?: never;
/**
* Upload Files
* @description Upload Files uploads one or many files and optionally associates them with a story.
* Use the multipart/form-data content-type to upload.
* Each `file` key should contain a separate file.
* Each UploadedFile's name comes from the Content-Disposition header "filename" directive for that field.
*/
post: operations["uploadFiles"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/files/{file-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get File
* @description Get File returns information about the selected UploadedFile.
*/
get: operations["getFile"];
/**
* Update File
* @description Update File updates the properties of an UploadedFile (but not its content).
*/
put: operations["updateFile"];
post?: never;
/**
* Delete File
* @description Delete File deletes a previously uploaded file.
*/
delete: operations["deleteFile"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/groups": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Groups
* @description 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.
*/
get: operations["listGroups"];
put?: never;
/** Create Group */
post: operations["createGroup"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/groups/{group-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get Group */
get: operations["getGroup"];
/** Update Group */
put: operations["updateGroup"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/groups/{group-public-id}/stories": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Group Stories
* @description List the Stories assigned to the Group. (By default, limited to 1,000).
*/
get: operations["listGroupStories"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/health/{health-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
/**
* Update Health
* @description Update an existing health status by its ID.
*/
put: operations["updateHealth"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/integrations/webhook": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Create Generic Integration */
post: operations["createGenericIntegration"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/integrations/webhook/{integration-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get Generic Integration */
get: operations["getGenericIntegration"];
put?: never;
post?: never;
/** Delete Generic Integration */
delete: operations["deleteGenericIntegration"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/iterations": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List Iterations */
get: operations["listIterations"];
put?: never;
/** Create Iteration */
post: operations["createIteration"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/iterations/disable": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
/**
* Disable Iterations
* @description Disables Iterations for the current workspace
*/
put: operations["disableIterations"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/iterations/enable": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
/**
* Enable Iterations
* @description Enables Iterations for the current workspace
*/
put: operations["enableIterations"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/iterations/{iteration-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get Iteration */
get: operations["getIteration"];
/** Update Iteration */
put: operations["updateIteration"];
post?: never;
/** Delete Iteration */
delete: operations["deleteIteration"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/iterations/{iteration-public-id}/stories": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Iteration Stories
* @description Get a list of all Stories in an Iteration.
*/
get: operations["listIterationStories"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/key-results/{key-result-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Key Result
* @description Get Key Result returns information about a chosen Key Result.
*/
get: operations["getKeyResult"];
/**
* Update Key Result
* @description Update Key Result allows updating a Key Result's name or initial, observed, or target values.
*/
put: operations["updateKeyResult"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/labels": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Labels
* @description List Labels returns a list of all Labels and their attributes.
*/
get: operations["listLabels"];
put?: never;
/**
* Create Label
* @description Create Label allows you to create a new Label in Shortcut.
*/
post: operations["createLabel"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/labels/{label-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Label
* @description Get Label returns information about the selected Label.
*/
get: operations["getLabel"];
/**
* Update Label
* @description Update Label allows you to replace a Label name with another name. If you try to name a Label something that already exists, you will receive a 422 response.
*/
put: operations["updateLabel"];
post?: never;
/**
* Delete Label
* @description Delete Label can be used to delete any Label.
*/
delete: operations["deleteLabel"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/labels/{label-public-id}/epics": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Label Epics
* @description List all of the Epics with the Label.
*/
get: operations["listLabelEpics"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/labels/{label-public-id}/stories": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Label Stories
* @description List all of the Stories with the Label.
*/
get: operations["listLabelStories"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/linked-files": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Linked Files
* @description List Linked Files returns a list of all Linked-Files and their attributes.
*/
get: operations["listLinkedFiles"];
put?: never;
/**
* Create Linked File
* @description Create Linked File allows you to create a new Linked File in Shortcut.
*/
post: operations["createLinkedFile"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/linked-files/{linked-file-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Linked File
* @description Get File returns information about the selected Linked File.
*/
get: operations["getLinkedFile"];
/**
* Update Linked File
* @description Updated Linked File allows you to update properties of a previously attached Linked-File.
*/
put: operations["updateLinkedFile"];
post?: never;
/**
* Delete Linked File
* @description Delete Linked File can be used to delete any previously attached Linked-File.
*/
delete: operations["deleteLinkedFile"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/member": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Current Member Info
* @description Returns information about the authenticated member.
*/
get: operations["getCurrentMemberInfo"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/members": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Members
* @description Returns information about members of the Workspace.
*/
get: operations["listMembers"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/members/{member-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Member
* @description Returns information about a Member.
*/
get: operations["getMember"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/milestones": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Milestones
* @description (Deprecated: Use 'List Objectives') List Milestones returns a list of all Milestones and their attributes.
*/
get: operations["listMilestones"];
put?: never;
/**
* Create Milestone
* @description (Deprecated: Use 'Create Objective') Create Milestone allows you to create a new Milestone in Shortcut.
*/
post: operations["createMilestone"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/milestones/{milestone-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Milestone
* @description (Deprecated: Use 'Get Objective') Get Milestone returns information about a chosen Milestone.
*/
get: operations["getMilestone"];
/**
* Update Milestone
* @description (Deprecated: Use 'Update Objective') Update Milestone can be used to update Milestone properties.
*/
put: operations["updateMilestone"];
post?: never;
/**
* Delete Milestone
* @description (Deprecated: Use 'Delete Objective') Delete Milestone can be used to delete any Milestone.
*/
delete: operations["deleteMilestone"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/milestones/{milestone-public-id}/epics": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Milestone Epics
* @description (Deprecated: Use 'List Objective Epics') List all of the Epics within the Milestone.
*/
get: operations["listMilestoneEpics"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/objectives": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Objectives
* @description List Objectives returns a list of all Objectives and their attributes.
*/
get: operations["listObjectives"];
put?: never;
/**
* Create Objective
* @description Create Objective allows you to create a new Objective in Shortcut.
*/
post: operations["createObjective"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/objectives/{objective-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Objective
* @description Get Objective returns information about a chosen Objective.
*/
get: operations["getObjective"];
/**
* Update Objective
* @description Update Objective can be used to update Objective properties.
*/
put: operations["updateObjective"];
post?: never;
/**
* Delete Objective
* @description Delete Objective can be used to delete any Objective.
*/
delete: operations["deleteObjective"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/objectives/{objective-public-id}/epics": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Objective Epics
* @description List all of the Epics within the Objective.
*/
get: operations["listObjectiveEpics"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/projects": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Projects
* @description List Projects returns a list of all Projects and their attributes.
*/
get: operations["listProjects"];
put?: never;
/**
* Create Project
* @description Create Project is used to create a new Shortcut Project.
*/
post: operations["createProject"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/projects/{project-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Project
* @description Get Project returns information about the selected Project.
*/
get: operations["getProject"];
/**
* Update Project
* @description Update Project can be used to change properties of a Project.
*/
put: operations["updateProject"];
post?: never;
/**
* Delete Project
* @description Delete Project can be used to delete a Project. Projects can only be deleted if all associated Stories are moved or deleted. In the case that the Project cannot be deleted, you will receive a 422 response.
*/
delete: operations["deleteProject"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/projects/{project-public-id}/stories": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Stories
* @description List Stories returns a list of all Stories in a selected Project and their attributes.
*/
get: operations["listStories"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/repositories": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Repositories
* @description List Repositories returns a list of all Repositories and their attributes.
*/
get: operations["listRepositories"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/repositories/{repo-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Repository
* @description Get Repository returns information about the selected Repository.
*/
get: operations["getRepository"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/search": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Search
* @description Search lets you search Epics and Stories based on desired parameters. Since ordering of the results can change over time (due to search ranking decay, new Epics and Stories 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.
*/
get: operations["search"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/search/epics": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Search Epics
* @description 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.
*/
get: operations["searchEpics"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/search/iterations": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Search Iterations
* @description Search Iterations lets you search Iterations based on desired parameters. Since ordering of results can change over time (due to search ranking decay, new Iterations 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.
*/
get: operations["searchIterations"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/search/milestones": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Search Milestones
* @description Search Milestones lets you search Milestones based on desired parameters. Since ordering of results can change over time (due to search ranking decay, new Milestones 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.
*/
get: operations["searchMilestones"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/search/objectives": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Search Objectives
* @description Search Objectives lets you search Objectives based on desired parameters. Since ordering of results can change over time (due to search ranking decay, new Objectives 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.
*/
get: operations["searchObjectives"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/search/stories": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Search Stories
* @description Search Stories lets you search Stories based on desired parameters. Since ordering of stories can change over time (due to search ranking decay, new stories 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.
*/
get: operations["searchStories"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/stories": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create Story
* @description Create Story is used to add a new story to your Shortcut Workspace.
* This endpoint requires that either **workflow_state_id** or **project_id** be provided, but will reject the request if both or neither are specified. The workflow_state_id has been marked as required and is the recommended field to specify because we are in the process of sunsetting Projects in Shortcut.
*/
post: operations["createStory"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/stories/bulk": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
/**
* Update Multiple Stories
* @description Update Multiple Stories allows you to make changes to numerous stories at once.
*/
put: operations["updateMultipleStories"];
/**
* Create Multiple Stories
* @description Create Multiple Stories allows you to create multiple stories in a single request using the same syntax as [Create Story](https://developer.shortcut.com/api/rest/v3#create-story).
*/
post: operations["createMultipleStories"];
/**
* Delete Multiple Stories
* @description Delete Multiple Stories allows you to delete multiple archived stories at once.
*/
delete: operations["deleteMultipleStories"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/stories/from-template": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create Story From Template
* @description Create Story From Template is used to add a new story derived from a template to your Shortcut Workspace.
*/
post: operations["createStoryFromTemplate"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/stories/search": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Search Stories (Old)
* @description Search Stories lets you search Stories based on desired parameters.
*/
post: operations["searchStoriesOld"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/stories/{story-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Story
* @description Get Story returns information about a chosen Story.
*/
get: operations["getStory"];
/**
* Update Story
* @description Update Story can be used to update Story properties.
*/
put: operations["updateStory"];
post?: never;
/**
* Delete Story
* @description Delete Story can be used to delete any Story.
*/
delete: operations["deleteStory"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/stories/{story-public-id}/comments": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Story Comment
* @description Lists Comments associated with a Story
*/
get: operations["listStoryComment"];
put?: never;
/**
* Create Story Comment
* @description Create Comment allows you to create a Comment on any Story.
*/
post: operations["createStoryComment"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/stories/{story-public-id}/comments/{comment-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Story Comment
* @description Get Comment is used to get Comment information.
*/
get: operations["getStoryComment"];
/**
* Update Story Comment
* @description Update Comment replaces the text of the existing Comment.
*/
put: operations["updateStoryComment"];
post?: never;
/**
* Delete Story Comment
* @description Delete a Comment from any story.
*/
delete: operations["deleteStoryComment"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/stories/{story-public-id}/comments/{comment-public-id}/reactions": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create Story Reaction
* @description Create a reaction to a story comment.
*/
post: operations["createStoryReaction"];
/**
* Delete Story Reaction
* @description Delete a reaction from any story comment.
*/
delete: operations["deleteStoryReaction"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/stories/{story-public-id}/comments/{comment-public-id}/unlink-from-slack": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Unlink Comment thread from Slack
* @description Unlinks a Comment from its linked Slack thread (Comment replies and Slack replies will no longer be synced)
*/
post: operations["unlinkCommentThreadFromSlack"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/stories/{story-public-id}/history": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Story History */
get: operations["storyHistory"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/stories/{story-public-id}/tasks": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create Task
* @description Create Task is used to create a new task in a Story.
*/
post: operations["createTask"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/stories/{story-public-id}/tasks/{task-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Task
* @description Returns information about a chosen Task.
*/
get: operations["getTask"];
/**
* Update Task
* @description Update Task can be used to update Task properties.
*/
put: operations["updateTask"];
post?: never;
/**
* Delete Task
* @description Delete Task can be used to delete any previously created Task on a Story.
*/
delete: operations["deleteTask"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/story-links": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create Story Link
* @description Story Links (called Story Relationships in the UI) allow you create semantic relationships between two stories. The parameters read like an active voice grammatical sentence: subject -> verb -> object.
*
* The subject story acts on the object Story; the object story is the direct object of the sentence.
*
* The subject story "blocks", "duplicates", or "relates to" the object story. Examples:
* - "story 5 blocks story 6” -- story 6 is now "blocked" until story 5 is moved to a Done workflow state.
* - "story 2 duplicates story 1” -- Story 2 represents the same body of work as Story 1 (and should probably be archived).
* - "story 7 relates to story 3”
*/
post: operations["createStoryLink"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/story-links/{story-link-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Story Link
* @description Returns the stories and their relationship for the given Story Link.
*/
get: operations["getStoryLink"];
/**
* Update Story Link
* @description Updates the stories and/or the relationship for the given Story Link.
*/
put: operations["updateStoryLink"];
post?: never;
/**
* Delete Story Link
* @description Removes the relationship between the stories for the given Story Link.
*/
delete: operations["deleteStoryLink"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/workflows": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Workflows
* @description Returns a list of all Workflows in the Workspace.
*/
get: operations["listWorkflows"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v3/workflows/{workflow-public-id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Workflow
* @description Get Workflow returns information about a chosen Workflow.
*/
get: operations["getWorkflow"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
/** @description Request parameters for specifying how to pre-populate a task through a template. */
BaseTaskParams: {
/** @description The Task description. */
description: string;
/** @description True/false boolean indicating whether the Task is completed. Defaults to false. */
complete?: boolean;
/** @description An array of UUIDs for any members you want to add as Owners on this new Task. */
owner_ids?: 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. */
external_id?: string;
};
BasicWorkspaceInfo: {
/** Format: uuid */
id: string;
/** Format: date-time */
created_at: string;
/** Format: int64 */
default_workflow_id: number;
estimate_scale: number[];
name: string;
url_slug: string;
utc_offset: string;
};
/** @description Branch refers to a VCS branch. Branches are feature branches associated with Shortcut Stories. */
Branch: {
/** @description A string description of this resource. */
entity_type: string;
/** @description A true/false boolean indicating if the Branch has been deleted. */
deleted: boolean;
/** @description The name of the Branch. */
name: string;
/** @description This field is deprecated, and will always be false. */
persistent: boolean;
/**
* Format: date-time
* @description The time/date the Branch was updated.
*/
updated_at: string | null;
/** @description An array of PullRequests attached to the Branch (there is usually only one). */
pull_requests: components["schemas"]["PullRequest"][];
/** @description The IDs of the Branches the Branch has been merged into. */
merged_branch_ids: number[];
/**
* Format: int64
* @description The unique ID of the Branch.
*/
id: number | null;
/** @description The URL of the Branch. */
url: string;
/**
* Format: int64
* @description The ID of the Repository that contains the Branch.
*/
repository_id: number;
/**
* Format: date-time
* @description The time/date the Branch was created.
*/
created_at: string | null;
};
/** @description A Category can be used to associate Objectives. */
Category: {
/** @description A true/false boolean indicating if the Category has been archived. */
archived: boolean;
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: css-color
* @description The hex color to be displayed with the Category (for example, "#ff0000").
*/
color: string | null;
/** @description The name of the Category. */
name: string;
/** @description The Global ID of the Category. */
global_id: string;
/** @description The type of entity this Category is associated with; currently Milestone or Objective is the only type of Category. */
type: string;
/**
* Format: date-time
* @description The time/date that the Category was updated.
*/
updated_at: string;
/** @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. */
external_id: string | null;
/**
* Format: int64
* @description The unique ID of the Category.
*/
id: number;
/**
* Format: date-time
* @description The time/date that the Category was created.
*/
created_at: string;
};
/** @description Commit refers to a VCS commit and all associated details. */
Commit: {
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: uuid
* @description The ID of the Member that authored the Commit, if known.
*/
author_id: string | null;
/** @description The Commit hash. */
hash: string;
/**
* Format: date-time
* @description The time/date the Commit was updated.
*/
updated_at: string | null;
/**
* Format: int64
* @description The unique ID of the Commit.
*/
id: number | null;
/** @description The URL of the Commit. */
url: string;
/** @description The email address of the VCS user that authored the Commit. */
author_email: string;
/**
* Format: date-time
* @description The time/date the Commit was pushed.
*/
timestamp: string;
author_identity: components["schemas"]["Identity"];
/**
* Format: int64
* @description The ID of the Repository that contains the Commit.
*/
repository_id: number | null;
/**
* Format: date-time
* @description The time/date the Commit was created.
*/
created_at: string;
/** @description The Commit message. */
message: string;
};
CreateCategory: {
/** @description The name of the new Category. */
name: string;
/**
* Format: css-color
* @description The hex color to be displayed with the Category (for example, "#ff0000").
*/
color?: string;
/** @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. */
external_id?: string;
/** @description The type of entity this Category is associated with; currently Milestone or Objective is the only type of Category. */
type?: unknown;
};
/** @description Request parameters for creating a Category with a Objective. */
CreateCategoryParams: {
/** @description The name of the new Category. */
name: string;
/**
* Format: css-color
* @description The hex color to be displayed with the Category (for example, "#ff0000").
*/
color?: string;
/** @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. */
external_id?: string;
};
CreateCommentComment: {
/** @description The comment text. */
text: string;
/**
* Format: uuid
* @description The Member ID of the Comment's author. Defaults to the user identified by the API token.
*/
author_id?: string;
/**
* Format: date-time
* @description Defaults to the time/date the comment is created, but can be set to reflect another date.
*/
created_at?: string;
/**
* Format: date-time
* @description Defaults to the time/date the comment is last updated, but can be set to reflect another date.
*/
updated_at?: 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. */
external_id?: string;
};
CreateDoc: {
/** @description The title for the new document */
title: string;
/** @description The content for the new document */
content: string;
};
/** @description Request parameters for creating an entirely new entity template. */
CreateEntityTemplate: {
/** @description The name of the new entity template */
name: string;
/**
* Format: uuid
* @description The id of the user creating this template.
*/
author_id?: string;
story_contents: components["schemas"]["CreateStoryContents"];
};
CreateEpic: {
/** @description The Epic's description. */
description?: string;
/** @description An array of Labels attached to the Epic. */
labels?: components["schemas"]["CreateLabelParams"][];
/**
* Format: date-time
* @description A manual override for the time/date the Epic was completed.
*/
completed_at_override?: string;
/** @description An array of IDs for Objectives to which this Epic is related. */
objective_ids?: number[];
/** @description The Epic's name. */
name: string;
/**
* Format: date-time
* @description The Epic's planned start date.
*/
planned_start_date?: string | null;
/**
* @description `Deprecated` The Epic's state (to do, in progress, or done); will be ignored when `epic_state_id` is set.
* @enum {string}
*/
state?: "in progress" | "to do" | "done";
/**
* Format: int64
* @description `Deprecated` The ID of the Milestone this Epic is related to. Use `objective_ids`.
*/
milestone_id?: number | null;
/**
* Format: uuid
* @description The ID of the member that requested the epic.
*/
requested_by_id?: string;
/**
* Format: int64
* @description The ID of the Epic State.
*/
epic_state_id?: number;
/**
* Format: date-time
* @description A manual override for the time/date the Epic was started.
*/
started_at_override?: string;
/**
* Format: uuid
* @description `Deprecated` The ID of the group to associate with the epic. Use `group_ids`.
*/
group_id?: string | null;
/**
* Format: date-time
* @description Defaults to the time/date it is created but can be set to reflect another date.
*/
updated_at?: string;
/** @description An array of UUIDs for any Members you want to add as Followers on this new Epic. */
follower_ids?: string[];
/** @description An array of UUIDS for Groups to which this Epic is related. */
group_ids?: string[];
/**
* Format: int64
* @description The ID of the Story that was converted to an Epic.
*/
converted_from_story_id?: number | null;
/** @description An array of UUIDs for any members you want to add as Owners on this new Epic. */
owner_ids?: 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. */
external_id?: string;
/**
* Format: date-time
* @description The Epic's deadline.
*/
deadline?: string | null;
/**
* Format: date-time
* @description Defaults to the time/date it is created but can be set to reflect another date.
*/
created_at?: string;
};
CreateEpicComment: {
/** @description The comment text. */
text: string;
/**
* Format: uuid
* @description The Member ID of the Comment's author. Defaults to the user identified by the API token.
*/
author_id?: string;
/**
* Format: date-time
* @description Defaults to the time/date the comment is created, but can be set to reflect another date.
*/
created_at?: string;
/**
* Format: date-time
* @description Defaults to the time/date the comment is last updated, but can be set to reflect another date.
*/
updated_at?: 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. */
external_id?: string;
};
CreateEpicHealth: {
/**
* @description The health status of the Epic.
* @enum {string}
*/
status: "At Risk" | "On Track" | "Off Track" | "No Health";
/** @description The description of the Health status. */
text?: string;
};
CreateGenericIntegration: {
webhook_url: string;
secret?: string;
};
CreateGroup: {
/** @description The description of the Group. */
description?: string;
/** @description The Member ids to add to this Group. */
member_ids?: string[];
/** @description The Workflow ids to add to the Group. */
workflow_ids?: number[];
/** @description The name of this Group. */
name: string;
/** @description The mention name of this Group. */
mention_name: string;
/**
* Format: css-color
* @description The color you wish to use for the Group in the system.
*/
color?: string;
/**
* @description The color key you wish to use for the Group in the system.
* @enum {string}
*/
color_key?: "blue" | "purple" | "midnight-blue" | "orange" | "yellow-green" | "brass" | "gray" | "fuchsia" | "yellow" | "pink" | "sky-blue" | "green" | "red" | "black" | "slate" | "turquoise";
/**
* Format: uuid
* @description The Icon id for the avatar of this Group.
*/
display_icon_id?: string;
};
CreateIteration: {
/** @description An array of UUIDs for any Members you want to add as Followers. */
follower_ids?: string[];
/** @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. */
group_ids?: string[];
/** @description An array of Labels attached to the Iteration. */
labels?: components["schemas"]["CreateLabelParams"][];
/** @description The description of the Iteration. */
description?: string;
/** @description The name of this Iteration. */
name: string;
/** @description The date this Iteration begins, e.g. 2019-07-01. */
start_date: string;
/** @description The date this Iteration ends, e.g. 2019-07-01. */
end_date: string;
};
/** @description Request parameters for creating a Label on a Shortcut Story. */
CreateLabelParams: {
/** @description The name of the new Label. */
name: string;
/** @description The description of the new Label. */
description?: string;
/**
* Format: css-color
* @description The hex color to be displayed with the Label (for example, "#ff0000").
*/
color?: string;
/** @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. */
external_id?: string;
};
CreateLinkedFile: {
/** @description The description of the file. */
description?: string;
/**
* Format: int64
* @description The ID of the linked story.
*/
story_id?: number;
/** @description The name of the file. */
name: string;
/** @description The URL of the thumbnail, if the integration provided it. */
thumbnail_url?: string;
/**
* @description The integration type of the file (e.g. google, dropbox, box).
* @enum {string}
*/
type: "google" | "url" | "dropbox" | "box" | "onedrive";
/**
* Format: int64
* @description The filesize, if the integration provided it.
*/
size?: number;
/**
* Format: uuid
* @description The UUID of the member that uploaded the file.
*/
uploader_id?: string;
/** @description The content type of the image (e.g. txt/plain). */
content_type?: string;
/** @description The URL of linked file. */
url: string;
};
CreateMilestone: {
/** @description The name of the Milestone. */
name: string;
/** @description The Milestone's description. */
description?: string;
/**
* @description The workflow state that the Milestone is in.
* @enum {string}
*/
state?: "in progress" | "to do" | "done";
/**
* Format: date-time
* @description A manual override for the time/date the Milestone was started.
*/
started_at_override?: string;
/**
* Format: date-time
* @description A manual override for the time/date the Milestone was completed.
*/
completed_at_override?: string;
/** @description An array of IDs of Categories attached to the Milestone. */
categories?: components["schemas"]["CreateCategoryParams"][];
};
CreateObjective: {
/** @description The name of the Objective. */
name: string;
/** @description The Objective's description. */
description?: string;
/**
* @description The workflow state that the Objective is in.
* @enum {string}
*/
state?: "in progress" | "to do" | "done";
/**
* Format: date-time
* @description A manual override for the time/date the Objective was started.
*/
started_at_override?: string;
/**
* Format: date-time
* @description A manual override for the time/date the Objective was completed.
*/
completed_at_override?: string;
/** @description An array of IDs of Categories attached to the Objective. */
categories?: components["schemas"]["CreateCategoryParams"][];
};
CreateOrDeleteStoryReaction: {
/** @description The emoji short-code to add / remove. E.g. `:thumbsup::skin-tone-4:`. */
emoji: string;
};
CreateProject: {
/** @description The Project description. */
description?: string;
/**
* Format: css-color
* @description The color you wish to use for the Project in the system.
*/
color?: string;
/** @description The name of the Project. */
name: string;
/**
* Format: date-time
* @description The date at which the Project was started.
*/
start_time?: string;
/**
* Format: date-time
* @description Defaults to the time/date it is created but can be set to reflect another date.
*/
updated_at?: string;
/** @description An array of UUIDs for any members you want to add as Owners on this new Epic. */
follower_ids?: 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. */
external_id?: string;
/**
* Format: int64
* @description The ID of the team the project belongs to.
*/
team_id: number;
/**
* Format: int64
* @description The number of weeks per iteration in this Project.
*/
iteration_length?: number;
/** @description The Project abbreviation used in Story summaries. Should be kept to 3 characters at most. */
abbreviation?: string;
/**
* Format: date-time
* @description Defaults to the time/date it is created but can be set to reflect another date.
*/
created_at?: string;
};
CreateStories: {
/** @description An array of stories to be created. */
stories: components["schemas"]["CreateStoryParams"][];
};
CreateStoryComment: {
/** @description The comment text. */
text: string;
/**
* Format: uuid
* @description The Member ID of the Comment's author. Defaults to the user identified by the API token.
*/
author_id?: string;
/**
* Format: date-time
* @description Defaults to the time/date the comment is created, but can be set to reflect another date.
*/
created_at?: string;
/**
* Format: date-time
* @description Defaults to the time/date the comment is last updated, but can be set to reflect another date.
*/
updated_at?: 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. */
external_id?: string;
/**
* Format: int64
* @description The ID of the Comment that this comment is threaded under.
*/
parent_id?: number | null;
};
/** @description Request parameters for creating a Comment on a Shortcut Story. */
CreateStoryCommentParams: {
/** @description The comment text. */
text: string;
/**
* Format: uuid
* @description The Member ID of the Comment's author. Defaults to the user identified by the API token.
*/
author_id?: string;
/**
* Format: date-time
* @description Defaults to the time/date the comment is created, but can be set to reflect another date.
*/
created_at?: string;
/**
* Format: date-time
* @description Defaults to the time/date the comment is last updated, but can be set to reflect another date.
*/
updated_at?: 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. */
external_id?: string;
/**
* Format: int64
* @description The ID of the Comment that this comment is threaded under.
*/
parent_id?: number | null;
};
/** @description A map of story attributes this template populates. */
CreateStoryContents: {
/** @description The description of the story. */
description?: string;
/** @description An array of labels to be populated by the template. */
labels?: components["schemas"]["CreateLabelParams"][];
/** @description The type of story (feature, bug, chore). */
story_type?: string;
/** @description An array of maps specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
custom_fields?: components["schemas"]["CustomFieldValueParams"][];
/** @description An array of the attached file IDs to be populated. */
file_ids?: number[];
/** @description The name of the story. */
name?: string;
/**
* Format: int64
* @description The ID of the epic the to be populated.
*/
epic_id?: number | null;
/** @description An array of external links to be populated. */
external_links?: string[];
/** @description An array of sub-tasks connected to the story */
sub_tasks?: components["schemas"]["CreateSubTaskParams"][];
/**
* Format: int64
* @description The ID of the iteration the to be populated.
*/
iteration_id?: number | null;
/** @description An array of tasks to be populated by the template. */
tasks?: components["schemas"]["BaseTaskParams"][];
/**
* Format: uuid
* @description The ID of the group to be populated.
*/
group_id?: string | null;
/**
* Format: int64
* @description The ID of the workflow state to be populated.
*/
workflow_state_id?: number | null;
/** @description An array of UUIDs for any Members listed as Followers. */
follower_ids?: string[];
/** @description An array of UUIDs of the owners of this story. */
owner_ids?: string[];
/**
* Format: int64
* @description The numeric point estimate to be populated.
*/
estimate?: number | null;
/**
* Format: int64
* @description The ID of the project the story belongs to.
*/
project_id?: number;
/** @description An array of the linked file IDs to be populated. */
linked_file_ids?: number[];
/**
* Format: date-time
* @description The due date of the story.
*/
deadline?: string | null;
};
/** @description Request parameters for creating a story from a story template. These parameters are merged with the values derived from the template. */
CreateStoryFromTemplateParams: {
/** @description The description of the story. */
description?: string;
/** @description Controls the story's archived state. */
archived?: boolean;
/** @description An array of story links attached to the story. */
story_links?: components["schemas"]["CreateStoryLinkParams"][];
/** @description An array of labels attached to the story. */
labels?: components["schemas"]["CreateLabelParams"][];
/** @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`. */
external_links_add?: string[];
/**
* @description The type of story (feature, bug, chore).
* @enum {string}
*/
story_type?: "feature" | "chore" | "bug";
/** @description A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
custom_fields?: components["schemas"]["CustomFieldValueParams"][];
/**
* @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.
* @enum {string}
*/
move_to?: "last" | "first";
/** @description An array of IDs of files attached to the story. */
file_ids?: number[];
/**
* Format: int64
* @description Given this story was converted from a task in another story, this is the original task ID that was converted to this story.
*/
source_task_id?: number | null;
/**
* Format: date-time
* @description A manual override for the time/date the Story was completed.
*/
completed_at_override?: string;
/** @description The name of the story. Must be provided if the template does not provide a name. */
name?: string;
/** @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`. */
file_ids_add?: number[];
/** @description An array of IDs of files removed from files from the template. Cannot be used in conjunction with `file_ids`. */
file_ids_remove?: number[];
/** @description An array of comments to add to the story. */
comments?: components["schemas"]["CreateStoryCommentParams"][];
/** @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.` */
follower_ids_add?: string[];
/**
* Format: int64
* @description The ID of the epic the story belongs to.
*/
epic_id?: number | null;
/**
* Format: uuid
* @description The id of the story template used to create this story.
*/
story_template_id: string;
/** @description An array of External Links associated with this story. */
external_links?: string[];
/** @description The UUIDs of the new followers to be removed from followers from the template. Cannot be used in conjunction with `follower_ids`. */
follower_ids_remove?: string[];
/** @description A list of either params to create a new sub-task or link an existing story as a sub-task */
sub_tasks?: (components["schemas"]["LinkSubTaskParams"] | components["schemas"]["CreateSubTaskParams"])[];
/** @description An array of IDs of linked files removed from files from the template. Cannot be used in conjunction with `linked_files.` */
linked_file_ids_remove?: number[];
/**
* Format: uuid
* @description The ID of the member that requested the story.
*/
requested_by_id?: string;
/**
* Format: int64
* @description The ID of the iteration the story belongs to.
*/
iteration_id?: number | null;
/** @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`. */
custom_fields_remove?: components["schemas"]["RemoveCustomFieldParams"][];
/** @description An array of tasks connected to the story. */
tasks?: components["schemas"]["CreateTaskParams"][];
/**
* Format: date-time
* @description A manual override for the time/date the Story was started.
*/
started_at_override?: string;
/** @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`. */
labels_add?: components["schemas"]["CreateLabelParams"][];
/**
* Format: uuid
* @description The id of the group to associate with this story.
*/
group_id?: string | null;
/**
* Format: int64
* @description The ID of the workflow state the story will be in.
*/
workflow_state_id?: number;
/**
* Format: date-time
* @description The time/date the Story was updated.
*/
updated_at?: string;
/** @description An array of UUIDs of the followers of this story. */
follower_ids?: string[];
/** @description An array of UUIDs of the owners of this story. */
owner_ids?: 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. */
external_id?: string;
/**
* Format: int64
* @description The id of the parent story to associate with this story.
*/
parent_story_id?: number | null;
/**
* Format: int64
* @description The numeric point estimate of the story. Can also be null, which means unestimated.
*/
estimate?: number | null;
/** @description The UUIDs of the new owners to be removed from owners from the template. Cannot be used in conjunction with `owners`. */
owner_ids_remove?: string[];
/** @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`. */
custom_fields_add?: components["schemas"]["CustomFieldValueParams"][];
/**
* Format: int64
* @description The ID of the project the story belongs to.
*/
project_id?: number | null;
/** @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`. */
linked_file_ids_add?: number[];
/** @description An array of IDs of linked files attached to the story. */
linked_file_ids?: number[];
/** @description An array of labels to remove from the labels provided by the template. Cannot be used in conjunction with `labels`. */
labels_remove?: components["schemas"]["RemoveLabelParams"][];
/**
* Format: date-time
* @description The due date of the story.
*/
deadline?: string | null;
/** @description The UUIDs of the new owners to be added in addition to owners from the template. Cannot be used in conjunction with `owners`. */
owner_ids_add?: string[];
/**
* Format: date-time
* @description The time/date the Story was created.
*/
created_at?: 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`. */
external_links_remove?: string[];
};
CreateStoryLink: {
/**
* @description The type of link.
* @enum {string}
*/
verb: "blocks" | "duplicates" | "relates to";
/**
* Format: int64
* @description The ID of the subject Story.
*/
subject_id: number;
/**
* Format: int64
* @description The ID of the object Story.
*/
object_id: number;
};
/** @description Request parameters for creating a Story Link within a Story. */
CreateStoryLinkParams: {
/**
* Format: int64
* @description The unique ID of the Story defined as subject.
*/
subject_id?: number;
/**
* @description How the subject Story acts on the object Story. This can be "blocks", "duplicates", or "relates to".
* @enum {string}
*/
verb: "blocks" | "duplicates" | "relates to";
/**
* Format: int64
* @description The unique ID of the Story defined as object.
*/
object_id?: number;
};
/** @description Request parameters for creating a story. */
CreateStoryParams: {
/** @description The description of the story. */
description?: string;
/** @description Controls the story's archived state. */
archived?: boolean;
/** @description An array of story links attached to the story. */
story_links?: components["schemas"]["CreateStoryLinkParams"][];
/** @description An array of labels attached to the story. */
labels?: components["schemas"]["CreateLabelParams"][];
/**
* @description The type of story (feature, bug, chore).
* @enum {string}
*/
story_type?: "feature" | "chore" | "bug";
/** @description A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
custom_fields?: components["schemas"]["CustomFieldValueParams"][];
/**
* @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.
* @enum {string}
*/
move_to?: "last" | "first";
/** @description An array of IDs of files attached to the story. */
file_ids?: number[];
/**
* Format: int64
* @description Given this story was converted from a task in another story, this is the original task ID that was converted to this story.
*/
source_task_id?: number | null;
/**
* Format: date-time
* @description A manual override for the time/date the Story was completed.
*/
completed_at_override?: string;
/** @description The name of the story. */
name: string;
/** @description An array of comments to add to the story. */
comments?: components["schemas"]["CreateStoryCommentParams"][];
/**
* Format: int64
* @description The ID of the epic the story belongs to.
*/
epic_id?: number | null;
/**
* Format: uuid
* @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.
*/
story_template_id?: string | null;
/** @description An array of External Links associated with this story. */
external_links?: string[];
/** @description A list of either params to create a new sub-task or link an existing story as a sub-task */
sub_tasks?: (components["schemas"]["LinkSubTaskParams"] | components["schemas"]["CreateSubTaskParams"])[];
/**
* Format: uuid
* @description The ID of the member that requested the story.
*/
requested_by_id?: string;
/**
* Format: int64
* @description The ID of the iteration the story belongs to.
*/
iteration_id?: number | null;
/** @description An array of tasks connected to the story. */
tasks?: components["schemas"]["CreateTaskParams"][];
/**
* Format: date-time
* @description A manual override for the time/date the Story was started.
*/
started_at_override?: string;
/**
* Format: uuid
* @description The id of the group to associate with this story.
*/
group_id?: string | null;
/**
* Format: int64
* @description The ID of the workflow state the story will be in.
*/
workflow_state_id?: number;
/**
* Format: date-time
* @description The time/date the Story was updated.
*/
updated_at?: string;
/** @description An array of UUIDs of the followers of this story. */
follower_ids?: string[];
/** @description An array of UUIDs of the owners of this story. */
owner_ids?: 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. */
external_id?: string;
/**
* Format: int64
* @description The id of the parent story to associate with this story.
*/
parent_story_id?: number | null;
/**
* Format: int64
* @description The numeric point estimate of the story. Can also be null, which means unestimated.
*/
estimate?: number | null;
/**
* Format: int64
* @description The ID of the project the story belongs to.
*/
project_id?: number | null;
/** @description An array of IDs of linked files attached to the story. */
linked_file_ids?: number[];
/**
* Format: date-time
* @description The due date of the story.
*/
deadline?: string | null;
/**
* Format: date-time
* @description The time/date the Story was created.
*/
created_at?: string;
};
CreateSubTaskParams: {
/** @description The name of the SubTask. */
name: string;
/** @description An array of UUIDs of the owners of this story. */
owner_ids?: string[];
/**
* Format: int64
* @description The ID of the workflow state the story will be in.
*/
workflow_state_id?: number;
};
CreateTask: {
/** @description The Task description. */
description: string;
/** @description True/false boolean indicating whether the Task is completed. Defaults to false. */
complete?: boolean;
/** @description An array of UUIDs for any members you want to add as Owners on this new Task. */
owner_ids?: 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. */
external_id?: string;
/**
* Format: date-time
* @description Defaults to the time/date the Task is created but can be set to reflect another creation time/date.
*/
created_at?: 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.
*/
updated_at?: string;
};
/** @description Request parameters for creating a Task on a Story. */
CreateTaskParams: {
/** @description The Task description. */
description: string;
/** @description True/false boolean indicating whether the Task is completed. Defaults to false. */
complete?: boolean;
/** @description An array of UUIDs for any members you want to add as Owners on this new Task. */
owner_ids?: 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. */
external_id?: string;
/**
* Format: date-time
* @description Defaults to the time/date the Task is created but can be set to reflect another creation time/date.
*/
created_at?: 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.
*/
updated_at?: string;
};
CustomField: {
/** @description A string description of the CustomField */
description?: string;
/** @description A string that represents the icon that corresponds to this custom field. */
icon_set_identifier?: string;
/**
* @description A string description of this resource.
* @enum {string}
*/
entity_type: "custom-field";
/** @description The types of stories this CustomField is scoped to. */
story_types?: string[];
/** @description The name of the Custom Field. */
name: string;
/** @description When true, the CustomFieldEnumValues may not be reordered. */
fixed_position?: boolean;
/**
* Format: date-time
* @description The instant when this CustomField was last updated.
*/
updated_at: string;
/**
* Format: uuid
* @description The unique public ID for the CustomField.
*/
id: string;
/** @description A collection of legal values for a CustomField. */
values?: components["schemas"]["CustomFieldEnumValue"][];
/**
* @description The type of Custom Field, eg. 'enum'.
* @enum {string}
*/
field_type: "enum";
/**
* Format: int64
* @description An integer indicating the position of this Custom Field with respect to the other CustomField
*/
position: number;
/** @description The canonical name for a Shortcut-defined field. */
canonical_name?: string;
/** @description When true, the CustomField can be applied to entities in the Workspace. */
enabled: boolean;
/**
* Format: date-time
* @description The instant when this CustomField was created.
*/
created_at: string;
};
CustomFieldEnumValue: {
/**
* Format: uuid
* @description The unique public ID for the Custom Field.
*/
id: string;
/** @description A string value within the domain of this Custom Field. */
value: string;
/**
* Format: int64
* @description An integer indicating the position of this Value with respect to the other CustomFieldEnumValues in the enumeration.
*/
position: number;
/** @description A color key associated with this CustomFieldEnumValue. */
color_key: string | null;
/**
* @description A string description of this resource.
* @enum {string}
*/
entity_type: "custom-field-enum-value";
/** @description When true, the CustomFieldEnumValue can be selected for the CustomField. */
enabled: boolean;
};
CustomFieldValueParams: {
/**
* Format: uuid
* @description The unique public ID for the CustomField.
*/
field_id: string;
/**
* Format: uuid
* @description The unique public ID for the CustomFieldEnumValue.
*/
value_id: string;
/** @description A literal value for the CustomField. Currently ignored. */
value?: string;
};
/** @description Error returned when Datomic tx fails due to Datomc :db.error/cas-failed error */
DataConflictError: {
/** @enum {string} */
error: "data-conflict-error";
/** @description An explanatory message: "The update failed due to a data conflict. Please refresh and try again." */
message: string;
};
DeleteStories: {
/** @description An array of IDs of Stories to delete. */
story_ids: number[];
};
DisabledFeatureError: {
/** @description The feature that is disabled */
feature_tag: string;
/** @description The message explaining the error */
message: string;
};
DocSlim: {
/**
* Format: uuid
* @description The public id of the Doc
*/
id: string;
/** @description The Docs Title */
title: string | null;
};
/** @description An entity template can be used to prefill various fields when creating new stories. */
EntityTemplate: {
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: uuid
* @description The unique identifier for the entity template.
*/
id: string;
/**
* Format: date-time
* @description The time/date when the entity template was created.
*/
created_at: string;
/**
* Format: date-time
* @description The time/date when the entity template was last updated.
*/
updated_at: string;
/** @description The template's name. */
name: string;
/**
* Format: uuid
* @description The unique ID of the member who created the template.
*/
author_id: string;
/**
* Format: date-time
* @description The last time that someone created an entity using this template.
*/
last_used_at: string;
story_contents: components["schemas"]["StoryContents"];
};
/** @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. */
Epic: {
/** @description The Shortcut application url for the Epic. */
app_url: string;
/** @description The Epic's description. */
description: string;
/** @description True/false boolean that indicates whether the Epic is archived or not. */
archived: boolean;
/** @description A true/false boolean indicating if the Epic has been started. */
started: boolean;
/** @description A string description of this resource. */
entity_type: string;
/** @description An array of Labels attached to the Epic. */
labels: components["schemas"]["LabelSlim"][];
/** @description `Deprecated:` use `member_mention_ids`. */
mention_ids: string[];
/** @description An array of Member IDs that have been mentioned in the Epic description. */
member_mention_ids: string[];
/** @description An array containing Group IDs and Group-owned story counts for the Epic's associated groups. */
associated_groups: components["schemas"]["EpicAssociatedGroup"][];
/** @description The IDs of Projects related to this Epic. */
project_ids: number[];
/**
* Format: int64
* @description The number of stories in this epic which are not associated with a project.
*/
stories_without_projects: number;
/**
* Format: date-time
* @description A manual override for the time/date the Epic was completed.
*/
completed_at_override: string | null;
/**
* Format: uuid
* @description The ID of the associated productboard integration.
*/
productboard_plugin_id: string | null;
/**
* Format: date-time
* @description The time/date the Epic was started.
*/
started_at: string | null;
/**
* Format: date-time
* @description The time/date the Epic was completed.
*/
completed_at: string | null;
/** @description An array of IDs for Objectives to which this epic is related. */
objective_ids: number[];
/** @description The name of the Epic. */
name: string;
global_id: string;
/** @description A true/false boolean indicating if the Epic has been completed. */
completed: boolean;
/** @description A nested array of threaded comments. */
comments: components["schemas"]["ThreadedComment"][];
/** @description The URL of the associated productboard feature. */
productboard_url: string | null;
/**
* Format: date-time
* @description The Epic's planned start date.
*/
planned_start_date: string | null;
/** @description `Deprecated` The workflow state that the Epic is in. */
state: string;
/**
* Format: int64
* @description `Deprecated` The ID of the Objective this Epic is related to. Use `objective_ids`.
*/
milestone_id: number | null;
/**
* Format: uuid
* @description The ID of the Member that requested the epic.
*/
requested_by_id: string;
/**
* Format: int64
* @description The ID of the Epic State.
*/
epic_state_id: number;
/** @description An array of Label ids attached to the Epic. */
label_ids: number[];
/**
* Format: date-time
* @description A manual override for the time/date the Epic was started.
*/
started_at_override: string | null;
/**
* Format: uuid
* @description `Deprecated` The ID of the group to associate with the epic. Use `group_ids`.
*/
group_id: string | null;
/**
* Format: date-time
* @description The time/date the Epic was updated.
*/
updated_at: string | null;
/** @description An array of Group IDs that have been mentioned in the Epic description. */
group_mention_ids: string[];
/**
* Format: uuid
* @description The ID of the associated productboard feature.
*/
productboard_id: string | null;
/** @description An array of UUIDs for any Members you want to add as Followers on this Epic. */
follower_ids: string[];
/** @description An array of UUIDS for Groups to which this Epic is related. */
group_ids: string[];
/** @description An array of UUIDs for any members you want to add as Owners on this new Epic. */
owner_ids: 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. */
external_id: string | null;
/**
* Format: int64
* @description The unique ID of the Epic.
*/
id: number;
health?: components["schemas"]["Health"];
/**
* Format: int64
* @description The Epic's relative position in the Epic workflow state.
*/
position: number;
/** @description The name of the associated productboard feature. */
productboard_name: string | null;
/**
* Format: date-time
* @description The Epic's deadline.
*/
deadline: string | null;
stats: components["schemas"]["EpicStats"];
/**
* Format: date-time
* @description The time/date the Epic was created.
*/
created_at: string | null;
};
EpicAssociatedGroup: {
/**
* Format: uuid
* @description The Group ID of the associated group.
*/
group_id: string;
/**
* Format: int64
* @description The number of stories this Group owns in the Epic.
*/
associated_stories_count?: number;
};
/** @description Results schema for paginated Epic listing. */
EpicPaginatedResults: {
/** @description Array of Epic objects on the current page */
data: components["schemas"]["EpicSlim"][];
/**
* Format: int64
* @description The next page number if there are more results, or null for the last page
*/
next: number | null;
/**
* Format: int64
* @description The total number of Epics matching the query over all pages
*/
total: number;
};
/** @description An Epic in search results. This is typed differently from Epic because the details=slim search argument will omit some fields. */
EpicSearchResult: {
/** @description The Shortcut application url for the Epic. */
app_url: string;
/** @description The Epic's description. */
description?: string;
/** @description True/false boolean that indicates whether the Epic is archived or not. */
archived: boolean;
/** @description A true/false boolean indicating if the Epic has been started. */
started: boolean;
/** @description A string description of this resource. */
entity_type: string;
/** @description An array of Labels attached to the Epic. */
labels: components["schemas"]["LabelSlim"][];
/** @description `Deprecated:` use `member_mention_ids`. */
mention_ids: string[];
/** @description An array of Member IDs that have been mentioned in the Epic description. */
member_mention_ids: string[];
/** @description An array containing Group IDs and Group-owned story counts for the Epic's associated groups. */
associated_groups: components["schemas"]["EpicAssociatedGroup"][];
/** @description The IDs of Projects related to this Epic. */
project_ids: number[];
/**
* Format: int64
* @description The number of stories in this epic which are not associated with a project.
*/
stories_without_projects: number;
/**
* Format: date-time
* @description A manual override for the time/date the Epic was completed.
*/
completed_at_override: string | null;
/**
* Format: uuid
* @description The ID of the associated productboard integration.
*/
productboard_plugin_id: string | null;
/**
* Format: date-time
* @description The time/date the Epic was started.
*/
started_at: string | null;
/**
* Format: date-time
* @description The time/date the Epic was completed.
*/
completed_at: string | null;
/** @description An array of IDs for Objectives to which this epic is related. */
objective_ids: number[];
/** @description The name of the Epic. */
name: string;
global_id: string;
/** @description A true/false boolean indicating if the Epic has been completed. */
completed: boolean;
/** @description A nested array of threaded comments. */
comments?: components["schemas"]["ThreadedComment"][];
/** @description The URL of the associated productboard feature. */
productboard_url: string | null;
/**
* Format: date-time
* @description The Epic's planned start date.
*/
planned_start_date: string | null;
/** @description `Deprecated` The workflow state that the Epic is in. */
state: string;
/**
* Format: int64
* @description `Deprecated` The ID of the Objective this Epic is related to. Use `objective_ids`.
*/
milestone_id: number | null;
/**
* Format: uuid
* @description The ID of the Member that requested the epic.
*/
requested_by_id: string;
/**
* Format: int64
* @description The ID of the Epic State.
*/
epic_state_id: number;
/** @description An array of Label ids attached to the Epic. */
label_ids: number[];
/**
* Format: date-time
* @description A manual override for the time/date the Epic was started.
*/
started_at_override: string | null;
/**
* Format: uuid
* @description `Deprecated` The ID of the group to associate with the epic. Use `group_ids`.
*/
group_id: string | null;
/**
* Format: date-time
* @description The time/date the Epic was updated.
*/
updated_at: string | null;
/** @description An array of Group IDs that have been mentioned in the Epic description. */
group_mention_ids: string[];
/**
* Format: uuid
* @description The ID of the associated productboard feature.
*/
productboard_id: string | null;
/** @description An array of UUIDs for any Members you want to add as Followers on this Epic. */
follower_ids: string[];
/** @description An array of UUIDS for Groups to which this Epic is related. */
group_ids: string[];
/** @description An array of UUIDs for any members you want to add as Owners on this new Epic. */
owner_ids: 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. */
external_id: string | null;
/**
* Format: int64
* @description The unique ID of the Epic.
*/
id: number;
health?: components["schemas"]["Health"];
/**
* Format: int64
* @description The Epic's relative position in the Epic workflow state.
*/
position: number;
/** @description The name of the associated productboard feature. */
productboard_name: string | null;
/**
* Format: date-time
* @description The Epic's deadline.
*/
deadline: string | null;
stats: components["schemas"]["EpicStats"];
/**
* Format: date-time
* @description The time/date the Epic was created.
*/
created_at: string | null;
};
/** @description The results of the Epic search query. */
EpicSearchResults: {
/**
* Format: int64
* @description The total number of matches for the search query. The first 1000 matches can be paged through via the API.
*/
total: number;
/** @description A list of search results. */
data: components["schemas"]["EpicSearchResult"][];
/** @description The URL path and query string for the next page of search results. */
next: string | null;
};
/** @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](#Get-Epic) endpoint to fetch the unabridged payload for an Epic. */
EpicSlim: {
/** @description The Shortcut application url for the Epic. */
app_url: string;
/** @description The Epic's description. */
description?: string;
/** @description True/false boolean that indicates whether the Epic is archived or not. */
archived: boolean;
/** @description A true/false boolean indicating if the Epic has been started. */
started: boolean;
/** @description A string description of this resource. */
entity_type: string;
/** @description An array of Labels attached to the Epic. */
labels: components["schemas"]["LabelSlim"][];
/** @description `Deprecated:` use `member_mention_ids`. */
mention_ids: string[];
/** @description An array of Member IDs that have been mentioned in the Epic description. */
member_mention_ids: string[];
/** @description An array containing Group IDs and Group-owned story counts for the Epic's associated groups. */
associated_groups: components["schemas"]["EpicAssociatedGroup"][];
/** @description The IDs of Projects related to this Epic. */
project_ids: number[];
/**
* Format: int64
* @description The number of stories in this epic which are not associated with a project.
*/
stories_without_projects: number;
/**
* Format: date-time
* @description A manual override for the time/date the Epic was completed.
*/
completed_at_override: string | null;
/**
* Format: uuid
* @description The ID of the associated productboard integration.
*/
productboard_plugin_id: string | null;
/**
* Format: date-time
* @description The time/date the Epic was started.
*/
started_at: string | null;
/**
* Format: date-time
* @description The time/date the Epic was completed.
*/
completed_at: string | null;
/** @description An array of IDs for Objectives to which this epic is related. */
objective_ids: number[];
/** @description The name of the Epic. */
name: string;
global_id: string;
/** @description A true/false boolean indicating if the Epic has been completed. */
completed: boolean;
/** @description The URL of the associated productboard feature. */
productboard_url: string | null;
/**
* Format: date-time
* @description The Epic's planned start date.
*/
planned_start_date: string | null;
/** @description `Deprecated` The workflow state that the Epic is in. */
state: string;
/**
* Format: int64
* @description `Deprecated` The ID of the Objective this Epic is related to. Use `objective_ids`.
*/
milestone_id: number | null;
/**
* Format: uuid
* @description The ID of the Member that requested the epic.
*/
requested_by_id: string;
/**
* Format: int64
* @description The ID of the Epic State.
*/
epic_state_id: number;
/** @description An array of Label ids attached to the Epic. */
label_ids: number[];
/**
* Format: date-time
* @description A manual override for the time/date the Epic was started.
*/
started_at_override: string | null;
/**
* Format: uuid
* @description `Deprecated` The ID of the group to associate with the epic. Use `group_ids`.
*/
group_id: string | null;
/**
* Format: date-time
* @description The time/date the Epic was updated.
*/
updated_at: string | null;
/** @description An array of Group IDs that have been mentioned in the Epic description. */
group_mention_ids: string[];
/**
* Format: uuid
* @description The ID of the associated productboard feature.
*/
productboard_id: string | null;
/** @description An array of UUIDs for any Members you want to add as Followers on this Epic. */
follower_ids: string[];
/** @description An array of UUIDS for Groups to which this Epic is related. */
group_ids: string[];
/** @description An array of UUIDs for any members you want to add as Owners on this new Epic. */
owner_ids: 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. */
external_id: string | null;
/**
* Format: int64
* @description The unique ID of the Epic.
*/
id: number;
/**
* Format: int64
* @description The Epic's relative position in the Epic workflow state.
*/
position: number;
/** @description The name of the associated productboard feature. */
productboard_name: string | null;
/**
* Format: date-time
* @description The Epic's deadline.
*/
deadline: string | null;
stats: components["schemas"]["EpicStats"];
/**
* Format: date-time
* @description The time/date the Epic was created.
*/
created_at: string | null;
};
/** @description Epic State is any of the at least 3 columns. Epic States correspond to one of 3 types: Unstarted, Started, or Done. */
EpicState: {
/** @description The description of what sort of Epics belong in that Epic State. */
description: string;
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: css-color
* @description The hex color for this Epic State.
*/
color?: string;
/** @description The Epic State's name. */
name: string;
global_id: string;
/** @description The type of Epic State (Unstarted, Started, or Done) */
type: string;
/**
* Format: date-time
* @description When the Epic State was last updated.
*/
updated_at: string;
/**
* Format: int64
* @description The unique ID of the Epic State.
*/
id: number;
/**
* Format: int64
* @description The position that the Epic State is in, starting with 0 at the left.
*/
position: number;
/**
* Format: date-time
* @description The time/date the Epic State was created.
*/
created_at: string;
};
/** @description A group of calculated values for this Epic. */
EpicStats: {
/**
* Format: int64
* @description The total number of completed points in this Epic.
*/
num_points_done: number;
/**
* Format: int64
* @description The total number of documents associated with this Epic.
*/
num_related_documents: number;
/**
* Format: int64
* @description The total number of unstarted Stories in this Epic.
*/
num_stories_unstarted: number;
/**
* Format: int64
* @description The total number of Stories in this Epic.
*/
num_stories_total: number;
/**
* Format: date-time
* @description The date of the last update of a Story in this Epic.
*/
last_story_update: string | null;
/**
* Format: int64
* @description The total number of started points in this Epic.
*/
num_points_started: number;
/**
* Format: int64
* @description The total number of unstarted points in this Epic.
*/
num_points_unstarted: number;
/**
* Format: int64
* @description The total number of started Stories in this Epic.
*/
num_stories_started: number;
/**
* Format: int64
* @description The total number of Stories with no point estimate.
*/
num_stories_unestimated: number;
/**
* Format: int64
* @description The total number of backlog Stories in this Epic.
*/
num_stories_backlog: number;
/**
* Format: int64
* @description The total number of backlog points in this Epic.
*/
num_points_backlog: number;
/**
* Format: int64
* @description The total number of points in this Epic.
*/
num_points: number;
/**
* Format: int64
* @description The total number of done Stories in this Epic.
*/
num_stories_done: number;
};
/** @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. */
EpicWorkflow: {
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: int64
* @description The unique ID of the Epic Workflow.
*/
id: number;
/**
* Format: date-time
* @description The date the Epic Workflow was created.
*/
created_at: string;
/**
* Format: date-time
* @description The date the Epic Workflow was updated.
*/
updated_at: string;
/**
* Format: int64
* @description The unique ID of the default Epic State that new Epics are assigned by default.
*/
default_epic_state_id: number;
/** @description A map of the Epic States in this Epic Workflow. */
epic_states: components["schemas"]["EpicState"][];
};
/** @description A Group. */
Group: {
/** @description The Shortcut application url for the Group. */
app_url: string;
/** @description The description of the Group. */
description: string;
/** @description Whether or not the Group is archived. */
archived: boolean;
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: css-color
* @description The hex color to be displayed with the Group (for example, "#ff0000").
*/
color: string | null;
/**
* Format: int64
* @description The number of stories assigned to the group which are in a started workflow state.
*/
num_stories_started: number;
/** @description The mention name of the Group. */
mention_name: string;
/** @description The name of the Group. */
name: string;
global_id: string;
/**
* @description The color key to be displayed with the Group.
* @enum {string|null}
*/
color_key: "blue" | "purple" | "midnight-blue" | "orange" | "yellow-green" | "brass" | "gray" | "fuchsia" | "yellow" | "pink" | "sky-blue" | "green" | "red" | "black" | "slate" | "turquoise" | null;
/**
* Format: int64
* @description The total number of stories assigned to the group.
*/
num_stories: number;
/**
* Format: int64
* @description The number of epics assigned to the group which are in the started workflow state.
*/
num_epics_started: number;
/**
* Format: int64
* @description The number of stories assigned to the group which are in a backlog workflow state.
*/
num_stories_backlog: number;
/**
* Format: uuid
* @description The id of the Group.
*/
id: string;
display_icon: components["schemas"]["Icon"];
/**
* Format: int64
* @description The ID of the default workflow for stories created in this group.
*/
default_workflow_id?: number | null;
/** @description The Member IDs contain within the Group. */
member_ids: string[];
/** @description The Workflow IDs contained within the Group. */
workflow_ids: number[];
};
/** @description The current health status of the Epic. */
Health: {
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: uuid
* @description The ID of the permission who created or updated the Health record.
*/
author_id?: string;
/**
* Format: int64
* @description The ID of the Epic associated with this Health record.
*/
epic_id?: number;
/**
* Format: int64
* @description The ID of the Objective associated with this Health record.
*/
objective_id?: number;
/**
* Format: date-time
* @description The time that the Health record was updated.
*/
updated_at?: string;
/**
* @description The health status of the Epic or Objective.
* @enum {string}
*/
status: "At Risk" | "On Track" | "Off Track" | "No Health";
/**
* Format: uuid
* @description The unique ID of the Health record.
*/
id: string | null;
/**
* Format: date-time
* @description The time that the Health record was created.
*/
created_at?: string;
/** @description The text of the Health record. */
text?: string;
};
/** @description A history item is a group of actions that represent a transactional change to a Story. */
History: {
/** @description The name of the actor that performed the action, if it can be determined. */
actor_name?: string;
/** @description The date when the change occurred. */
changed_at: string;
/** @description The ID of the primary entity that has changed, if applicable. */
primary_id?: number | string;
/** @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. */
references?: (components["schemas"]["HistoryReferenceBranch"] | components["schemas"]["HistoryReferenceCommit"] | components["schemas"]["HistoryReferenceEpic"] | components["schemas"]["HistoryReferenceGroup"] | components["schemas"]["HistoryReferenceIteration"] | components["schemas"]["HistoryReferenceLabel"] | components["schemas"]["HistoryReferenceProject"] | components["schemas"]["HistoryReferenceStory"] | components["schemas"]["HistoryReferenceStoryTask"] | components["schemas"]["HistoryReferenceCustomFieldEnumValue"] | components["schemas"]["HistoryReferenceWorkflowState"] | components["schemas"]["HistoryReferenceGeneral"])[];
/** @description An array of actions that were performed for the change. */
actions: (components["schemas"]["HistoryActionBranchCreate"] | components["schemas"]["HistoryActionBranchMerge"] | components["schemas"]["HistoryActionBranchPush"] | components["schemas"]["HistoryActionLabelCreate"] | components["schemas"]["HistoryActionLabelUpdate"] | components["schemas"]["HistoryActionLabelDelete"] | components["schemas"]["HistoryActionProjectUpdate"] | components["schemas"]["HistoryActionPullRequest"] | components["schemas"]["HistoryActionStoryCreate"] | components["schemas"]["HistoryActionStoryUpdate"] | components["schemas"]["HistoryActionStoryDelete"] | components["schemas"]["HistoryActionStoryCommentCreate"] | components["schemas"]["HistoryActionStoryLinkCreate"] | components["schemas"]["HistoryActionStoryLinkUpdate"] | components["schemas"]["HistoryActionStoryLinkDelete"] | components["schemas"]["HistoryActionTaskCreate"] | components["schemas"]["HistoryActionTaskUpdate"] | components["schemas"]["HistoryActionTaskDelete"] | components["schemas"]["HistoryActionWorkspace2BulkUpdate"])[];
/**
* Format: uuid
* @description The ID of the member who performed the change.
*/
member_id?: string;
/** @description The ID of the webhook that handled the change. */
external_id?: string;
/**
* Format: uuid
* @description The ID representing the change for the story.
*/
id: string;
/**
* @description The version of the change format.
* @enum {string}
*/
version: "v1";
/** @description The ID of the webhook that handled the change. */
webhook_id?: string | null;
/**
* Format: uuid
* @description The ID of the automation that performed the change.
*/
automation_id?: string;
};
/** @description An action representing a VCS Branch being created. */
HistoryActionBranchCreate: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The name of the VCS Branch that was pushed */
name: string;
/** @description The URL from the provider of the VCS Branch that was pushed */
url: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "create";
};
/** @description An action representing a VCS Branch being merged. */
HistoryActionBranchMerge: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The name of the VCS Branch that was pushed */
name: string;
/** @description The URL from the provider of the VCS Branch that was pushed */
url: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "merge";
};
/** @description An action representing a VCS Branch being pushed. */
HistoryActionBranchPush: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The name of the VCS Branch that was pushed */
name: string;
/** @description The URL from the provider of the VCS Branch that was pushed */
url: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "push";
};
/** @description An action representing a Label being created. */
HistoryActionLabelCreate: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "create";
/** @description The application URL of the Label. */
app_url: string;
/** @description The name of the Label. */
name: string;
};
/** @description An action representing a Label being deleted. */
HistoryActionLabelDelete: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "delete";
/** @description The name of the Label. */
name: string;
};
/** @description An action representing a Label being updated. */
HistoryActionLabelUpdate: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "update";
};
/** @description An action representing a Project being updated. */
HistoryActionProjectUpdate: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "update";
/** @description The application URL of the Project. */
app_url: string;
/** @description The name of the Project. */
name: string;
};
/** @description An action representing various operations for a Pull Request. */
HistoryActionPullRequest: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "open" | "update" | "reopen" | "close" | "sync" | "comment";
/**
* Format: int64
* @description The VCS Repository-specific ID for the Pull Request.
*/
number: number;
/** @description The title of the Pull Request. */
title: string;
/** @description The URL from the provider of the VCS Pull Request. */
url: string;
};
/** @description An action representing a Story Comment being created. */
HistoryActionStoryCommentCreate: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "create";
/** @description The application URL of the Story Comment. */
app_url: string;
/** @description The text of the Story Comment. */
text: string;
/**
* Format: uuid
* @description The Member ID of who created the Story Comment.
*/
author_id: string;
};
/** @description An action representing a Story being created. */
HistoryActionStoryCreate: {
/** @description The application URL of the Story. */
app_url: string;
/** @description The description of the Story. */
description?: string;
/** @description Whether or not the Story has been started. */
started?: boolean;
/** @description The type of entity referenced. */
entity_type: string;
/** @description An array of Task IDs on this Story. */
task_ids?: number[];
/**
* @description The type of Story; either feature, bug, or chore.
* @enum {string}
*/
story_type: "feature" | "chore" | "bug";
/** @description The name of the Story. */
name: string;
/** @description Whether or not the Story is completed. */
completed?: boolean;
/** @description Whether or not the Story is blocking another Story. */
blocker?: boolean;
/**
* Format: int64
* @description The Epic ID for this Story.
*/
epic_id?: number;
/**
* Format: uuid
* @description The ID of the Member that requested the Story.
*/
requested_by_id?: string;
/**
* Format: int64
* @description The Iteration ID the Story is in.
*/
iteration_id?: number | null;
/** @description An array of Labels IDs attached to the Story. */
label_ids?: number[];
/**
* Format: uuid
* @description The Team IDs for the followers of the Story.
*/
group_id?: string;
/**
* Format: int64
* @description An array of Workflow State IDs attached to the Story.
*/
workflow_state_id?: number;
/** @description An array of Story IDs that are the object of a Story Link relationship. */
object_story_link_ids?: number[];
/** @description An array of Member IDs for the followers of the Story. */
follower_ids?: string[];
/** @description An array of Member IDs that are the owners of the Story. */
owner_ids?: string[];
/** @description An array of Custom Field Enum Value ids on this Story. */
custom_field_value_ids?: string[];
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/**
* Format: int64
* @description The estimate (or point value) for the Story.
*/
estimate?: number;
/** @description An array of Story IDs that are the subject of a Story Link relationship. */
subject_story_link_ids?: number[];
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "create";
/** @description Whether or not the Story is blocked by another Story. */
blocked?: boolean;
/**
* Format: int64
* @description The Project ID of the Story is in.
*/
project_id?: number;
/** @description The timestamp representing the Story's deadline. */
deadline?: string;
};
/** @description An action representing a Story being deleted. */
HistoryActionStoryDelete: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "delete";
/** @description The name of the Story. */
name: string;
/**
* @description The type of Story; either feature, bug, or chore.
* @enum {string}
*/
story_type: "feature" | "chore" | "bug";
};
/** @description An action representing a Story Link being created. */
HistoryActionStoryLinkCreate: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "create";
/**
* @description The verb describing the link's relationship.
* @enum {string}
*/
verb: "blocks" | "duplicates" | "relates to";
/**
* Format: int64
* @description The Story ID of the subject Story.
*/
subject_id: number;
/**
* Format: int64
* @description The Story ID of the object Story.
*/
object_id: number;
};
/** @description An action representing a Story Link being deleted. */
HistoryActionStoryLinkDelete: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "delete";
/**
* @description The verb describing the link's relationship.
* @enum {string}
*/
verb: "blocks" | "duplicates" | "relates to";
/**
* Format: int64
* @description The Story ID of the subject Story.
*/
subject_id: number | null;
/**
* Format: int64
* @description The Story ID of the object Story.
*/
object_id: number | null;
};
/** @description An action representing a Story Link being updated. */
HistoryActionStoryLinkUpdate: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "update";
/**
* @description The verb describing the link's relationship.
* @enum {string}
*/
verb: "blocks" | "duplicates" | "relates to";
/**
* Format: int64
* @description The Story ID of the subject Story.
*/
subject_id: number;
/**
* Format: int64
* @description The Story ID of the object Story.
*/
object_id: number;
changes: components["schemas"]["HistoryChangesStoryLink"];
};
/** @description An action representing a Story being updated. */
HistoryActionStoryUpdate: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "update";
/** @description The application URL of the Story. */
app_url: string;
changes?: components["schemas"]["HistoryChangesStory"];
/** @description The name of the Story. */
name: string;
/**
* @description The type of Story; either feature, bug, or chore.
* @enum {string}
*/
story_type: "feature" | "chore" | "bug";
};
/** @description An action representing a Task being created. */
HistoryActionTaskCreate: {
/** @description The description of the Task. */
description: string;
/** @description The type of entity referenced. */
entity_type: string;
/** @description An array of Member IDs that represent who has been mentioned in the Task. */
mention_ids?: string[];
/** @description An array of Groups IDs that represent which have been mentioned in the Task. */
group_mention_ids?: string[];
/** @description An array of Member IDs that represent the Task's owners. */
owner_ids?: string[];
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "create";
/** @description Whether or not the Task is complete. */
complete: boolean;
/** @description A timestamp that represent's the Task's deadline. */
deadline?: string;
};
/** @description An action representing a Task being deleted. */
HistoryActionTaskDelete: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "delete";
/** @description The description of the Task being deleted. */
description: string;
};
/** @description An action representing a Task being updated. */
HistoryActionTaskUpdate: {
/**
* Format: int64
* @description The ID of the entity referenced.
*/
id: number;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "update";
changes: components["schemas"]["HistoryChangesTask"];
/** @description Whether or not the Task is complete. */
complete?: boolean;
/** @description The description of the Task. */
description: string;
/**
* Format: int64
* @description The Story ID that contains the Task.
*/
story_id: number;
};
/** @description An action representing a bulk operation within a workspace2. */
HistoryActionWorkspace2BulkUpdate: {
/**
* Format: uuid
* @description The ID of the entity referenced.
*/
id: string;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description The action of the entity referenced.
* @enum {string}
*/
action: "bulk-update";
/** @description The name of the workspace2 in which the BulkUpdate occurred. */
name: string;
};
/** @description The changes that have occurred as a result of the action. */
HistoryChangesStory: {
description?: components["schemas"]["StoryHistoryChangeOldNewStr"];
archived?: components["schemas"]["StoryHistoryChangeOldNewBool"];
started?: components["schemas"]["StoryHistoryChangeOldNewBool"];
task_ids?: components["schemas"]["StoryHistoryChangeAddsRemovesInt"];
mention_ids?: components["schemas"]["StoryHistoryChangeAddsRemovesUuid"];
story_type?: components["schemas"]["StoryHistoryChangeOldNewStr"];
name?: components["schemas"]["StoryHistoryChangeOldNewStr"];
completed?: components["schemas"]["StoryHistoryChangeOldNewBool"];
blocker?: components["schemas"]["StoryHistoryChangeOldNewBool"];
epic_id?: components["schemas"]["StoryHistoryChangeOldNewInt"];
branch_ids?: components["schemas"]["StoryHistoryChangeAddsRemovesInt"];
commit_ids?: components["schemas"]["StoryHistoryChangeAddsRemovesInt"];
requested_by_id?: components["schemas"]["StoryHistoryChangeOldNewUuid"];
iteration_id?: components["schemas"]["StoryHistoryChangeOldNewInt"];
label_ids?: components["schemas"]["StoryHistoryChangeAddsRemovesInt"];
group_id?: components["schemas"]["StoryHistoryChangeOldNewUuid"];
workflow_state_id?: components["schemas"]["StoryHistoryChangeOldNewInt"];
object_story_link_ids?: components["schemas"]["StoryHistoryChangeAddsRemovesInt"];
follower_ids?: components["schemas"]["StoryHistoryChangeAddsRemovesUuid"];
owner_ids?: components["schemas"]["StoryHistoryChangeAddsRemovesUuid"];
custom_field_value_ids?: components["schemas"]["StoryHistoryChangeAddsRemovesUuid"];
estimate?: components["schemas"]["StoryHistoryChangeOldNewInt"];
subject_story_link_ids?: components["schemas"]["StoryHistoryChangeAddsRemovesInt"];
blocked?: components["schemas"]["StoryHistoryChangeOldNewBool"];
project_id?: components["schemas"]["StoryHistoryChangeOldNewInt"];
deadline?: components["schemas"]["StoryHistoryChangeOldNewStr"];
};
/** @description The changes that have occurred as a result of the action. */
HistoryChangesStoryLink: {
verb?: components["schemas"]["StoryHistoryChangeOldNewStr"];
object_id?: components["schemas"]["StoryHistoryChangeOldNewInt"];
subject_id?: components["schemas"]["StoryHistoryChangeOldNewInt"];
};
/** @description The changes that have occurred as a result of the action. */
HistoryChangesTask: {
complete?: components["schemas"]["StoryHistoryChangeOldNewBool"];
description?: components["schemas"]["StoryHistoryChangeOldNewStr"];
mention_ids?: components["schemas"]["StoryHistoryChangeAddsRemovesUuid"];
owner_ids?: components["schemas"]["StoryHistoryChangeAddsRemovesUuid"];
};
/** @description A reference to a VCS Branch. */
HistoryReferenceBranch: {
/** @description The ID of the entity referenced. */
id: number | string;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The name of the entity referenced. */
name: string;
/** @description The external URL for the Branch. */
url: string;
};
/** @description A reference to a VCS Commit. */
HistoryReferenceCommit: {
/** @description The ID of the entity referenced. */
id: number | string;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The message from the Commit. */
message: string;
/** @description The external URL for the Branch. */
url: string;
};
/** @description A reference to a CustomField value asserted on a Story. */
HistoryReferenceCustomFieldEnumValue: {
/** @description The ID of the entity referenced. */
id: number | string;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The custom-field enum value as a string. */
string_value: string | null;
/** @description Whether or not the custom-field enum value is enabled. */
enum_value_enabled: boolean | null;
/**
* Format: uuid
* @description The public-id of the parent custom-field of this enum value.
*/
field_id: string;
/** @description The type variety of the parent custom-field of this enum value. */
field_type: string;
/** @description The name as it is displayed to the user of the parent custom-field of this enum value. */
field_name: string;
/** @description Whether or not the custom-field is enabled. */
field_enabled: boolean;
};
/** @description A reference to an Epic. */
HistoryReferenceEpic: {
/** @description The ID of the entity referenced. */
id: number | string;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The application URL of the Epic. */
app_url: string;
/** @description The name of the entity referenced. */
name: string;
};
/** @description A default reference for entity types that don't have extra fields. */
HistoryReferenceGeneral: {
/** @description The ID of the entity referenced. */
id: number | string;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The name of the entity referenced. */
name: string;
};
/** @description A reference to a Group. */
HistoryReferenceGroup: {
/**
* Format: uuid
* @description The ID of the entity referenced.
*/
id: string;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The name of the entity referenced. */
name: string;
};
/** @description A reference to an Iteration. */
HistoryReferenceIteration: {
/** @description The ID of the entity referenced. */
id: number | string;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The application URL of the Iteration. */
app_url: string;
/** @description The name of the entity referenced. */
name: string;
};
/** @description A reference to an Label. */
HistoryReferenceLabel: {
/** @description The ID of the entity referenced. */
id: number | string;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The application URL of the Label. */
app_url: string;
/** @description The name of the entity referenced. */
name: string;
};
/** @description A reference to an Project. */
HistoryReferenceProject: {
/** @description The ID of the entity referenced. */
id: number | string;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The application URL of the Project. */
app_url: string;
/** @description The name of the entity referenced. */
name: string;
};
/** @description A reference to a Story. */
HistoryReferenceStory: {
/** @description The ID of the entity referenced. */
id: number | string;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The application URL of the Story. */
app_url: string;
/** @description The name of the entity referenced. */
name: string;
/**
* @description If the referenced entity is a Story, either "bug", "chore", or "feature".
* @enum {string}
*/
story_type: "feature" | "chore" | "bug";
};
/** @description A reference to a Story Task. */
HistoryReferenceStoryTask: {
/** @description The ID of the entity referenced. */
id: number | string;
/** @description The type of entity referenced. */
entity_type: string;
/** @description The description of the Story Task. */
description: string;
};
/** @description A references to a Story Workflow State. */
HistoryReferenceWorkflowState: {
/** @description The ID of the entity referenced. */
id: number | string;
/** @description The type of entity referenced. */
entity_type: string;
/**
* @description Either "backlog", "unstarted", "started", or "done".
* @enum {string}
*/
type: "started" | "backlog" | "unstarted" | "done";
/** @description The name of the entity referenced. */
name: string;
};
/** @description Icons are used to attach images to Groups, Workspaces, Members, and Loading screens in the Shortcut web application. */
Icon: {
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: uuid
* @description The unique ID of the Icon.
*/
id: string;
/**
* Format: date-time
* @description The time/date that the Icon was created.
*/
created_at: string;
/**
* Format: date-time
* @description The time/date that the Icon was updated.
*/
updated_at: string;
/** @description The URL of the Icon. */
url: string;
};
/** @description The Identity of the VCS user that authored the Commit. */
Identity: {
/** @description A string description of this resource. */
entity_type: string;
/** @description This is your login in VCS. */
name: string | null;
/**
* @description The service this Identity is for.
* @enum {string|null}
*/
type: "slack" | "github" | "gitlab" | "bitbucket" | null;
};
/** @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. */
Iteration: {
/** @description The Shortcut application url for the Iteration. */
app_url: string;
/** @description The description of the iteration. */
description: string;
/** @description A string description of this resource */
entity_type: string;
/** @description An array of labels attached to the iteration. */
labels: components["schemas"]["Label"][];
/** @description `Deprecated:` use `member_mention_ids`. */
mention_ids: string[];
/** @description An array of Member IDs that have been mentioned in the Story description. */
member_mention_ids: string[];
/** @description An array containing Group IDs and Group-owned story counts for the Iteration's associated groups. */
associated_groups: components["schemas"]["IterationAssociatedGroup"][];
/** @description The name of the iteration. */
name: string;
global_id: string;
/** @description An array of label ids attached to the iteration. */
label_ids: number[];
/**
* Format: date-time
* @description The instant when this iteration was last updated.
*/
updated_at: string;
/** @description An array of Group IDs that have been mentioned in the Story description. */
group_mention_ids: string[];
/**
* Format: date-time
* @description The date this iteration ends.
*/
end_date: string;
/** @description An array of UUIDs for any Members listed as Followers. */
follower_ids: string[];
/** @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. */
group_ids: string[];
/**
* Format: date-time
* @description The date this iteration begins.
*/
start_date: string;
/** @description The status of the iteration. Values are either "unstarted", "started", or "done". */
status: string;
/**
* Format: int64
* @description The ID of the iteration.
*/
id: number;
stats: components["schemas"]["IterationStats"];
/**
* Format: date-time
* @description The instant when this iteration was created.
*/
created_at: string;
};
IterationAssociatedGroup: {
/**
* Format: uuid
* @description The Group ID of the associated group.
*/
group_id: string;
/**
* Format: int64
* @description The number of stories this Group owns in the Iteration.
*/
associated_stories_count?: number;
};
/** @description The results of the Iteration search query. */
IterationSearchResults: {
/**
* Format: int64
* @description The total number of matches for the search query. The first 1000 matches can be paged through via the API.
*/
total: number;
/** @description A list of search results. */
data: components["schemas"]["IterationSlim"][];
/** @description The URL path and query string for the next page of search results. */
next: string | null;
};
/** @description IterationSlim represents the same resource as an Iteration, but is more light-weight. Use the [Get Iteration](#Get-Iteration) endpoint to fetch the unabridged payload for an Iteration. */
IterationSlim: {
/** @description The Shortcut application url for the Iteration. */
app_url: string;
/** @description A string description of this resource */
entity_type: string;
/** @description An array of labels attached to the iteration. */
labels: components["schemas"]["Label"][];
/** @description `Deprecated:` use `member_mention_ids`. */
mention_ids: string[];
/** @description An array of Member IDs that have been mentioned in the Story description. */
member_mention_ids: string[];
/** @description An array containing Group IDs and Group-owned story counts for the Iteration's associated groups. */
associated_groups: components["schemas"]["IterationAssociatedGroup"][];
/** @description The name of the iteration. */
name: string;
global_id: string;
/** @description An array of label ids attached to the iteration. */
label_ids: number[];
/**
* Format: date-time
* @description The instant when this iteration was last updated.
*/
updated_at: string;
/** @description An array of Group IDs that have been mentioned in the Story description. */
group_mention_ids: string[];
/**
* Format: date-time
* @description The date this iteration ends.
*/
end_date: string;
/** @description An array of UUIDs for any Members listed as Followers. */
follower_ids: string[];
/** @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. */
group_ids: string[];
/**
* Format: date-time
* @description The date this iteration begins.
*/
start_date: string;
/** @description The status of the iteration. Values are either "unstarted", "started", or "done". */
status: string;
/**
* Format: int64
* @description The ID of the iteration.
*/
id: number;
stats: components["schemas"]["IterationStats"];
/**
* Format: date-time
* @description The instant when this iteration was created.
*/
created_at: string;
};
/** @description A group of calculated values for this Iteration. */
IterationStats: {
/**
* Format: int64
* @description The total number of completed points in this Iteration.
*/
num_points_done: number;
/**
* Format: int64
* @description The total number of documents related to an Iteration
*/
num_related_documents: number;
/**
* Format: int64
* @description The average cycle time (in seconds) of completed stories in this Iteration.
*/
average_cycle_time?: number;
/**
* Format: int64
* @description The total number of unstarted Stories in this Iteration.
*/
num_stories_unstarted: number;
/**
* Format: int64
* @description The total number of started points in this Iteration.
*/
num_points_started: number;
/**
* Format: int64
* @description The total number of unstarted points in this Iteration.
*/
num_points_unstarted: number;
/**
* Format: int64
* @description The total number of started Stories in this Iteration.
*/
num_stories_started: number;
/**
* Format: int64
* @description The total number of Stories with no point estimate.
*/
num_stories_unestimated: number;
/**
* Format: int64
* @description The total number of backlog Stories in this Iteration.
*/
num_stories_backlog: number;
/**
* Format: int64
* @description The average lead time (in seconds) of completed stories in this Iteration.
*/
average_lead_time?: number;
/**
* Format: int64
* @description The total number of backlog points in this Iteration.
*/
num_points_backlog: number;
/**
* Format: int64
* @description The total number of points in this Iteration.
*/
num_points: number;
/**
* Format: int64
* @description The total number of done Stories in this Iteration.
*/
num_stories_done: number;
};
KeyResult: {
/**
* Format: uuid
* @description The ID of the Key Result.
*/
id: string;
/** @description The name of the Key Result. */
name: string;
/**
* Format: int64
* @description The Objective to which this Key Result belongs.
*/
objective_id: number;
/**
* @description The type of the Key Result (numeric, percent, or boolean).
* @enum {string}
*/
type: "percent" | "boolean" | "numeric";
initial_observed_value: components["schemas"]["KeyResultValue"];
current_observed_value: components["schemas"]["KeyResultValue"];
current_target_value: components["schemas"]["KeyResultValue"];
/**
* Format: int64
* @description The integer percentage of progress toward completion of the Key Result.
*/
progress: number;
};
/** @description The starting value of the Key Result. */
KeyResultValue: {
/** @description The numeric value, as a decimal string. No more than two decimal places are allowed. */
numeric_value?: string;
/** @description The boolean value. */
boolean_value?: boolean;
};
/** @description A Label can be used to associate and filter Stories and Epics, and also create new Workspaces. */
Label: {
/** @description The Shortcut application url for the Label. */
app_url: string;
/** @description The description of the Label. */
description: string | null;
/** @description A true/false boolean indicating if the Label has been archived. */
archived: boolean;
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: css-color
* @description The hex color to be displayed with the Label (for example, "#ff0000").
*/
color: string | null;
/** @description The name of the Label. */
name: string;
global_id: string;
/**
* Format: date-time
* @description The time/date that the Label was updated.
*/
updated_at: string | null;
/** @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. */
external_id: string | null;
/**
* Format: int64
* @description The unique ID of the Label.
*/
id: number;
stats?: components["schemas"]["LabelStats"];
/**
* Format: date-time
* @description The time/date that the Label was created.
*/
created_at: string | null;
};
/** @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. */
LabelSlim: {
/** @description The Shortcut application url for the Label. */
app_url: string;
/** @description The description of the Label. */
description: string | null;
/** @description A true/false boolean indicating if the Label has been archived. */
archived: boolean;
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: css-color
* @description The hex color to be displayed with the Label (for example, "#ff0000").
*/
color: string | null;
/** @description The name of the Label. */
name: string;
global_id: string;
/**
* Format: date-time
* @description The time/date that the Label was updated.
*/
updated_at: string | null;
/** @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. */
external_id: string | null;
/**
* Format: int64
* @description The unique ID of the Label.
*/
id: number;
/**
* Format: date-time
* @description The time/date that the Label was created.
*/
created_at: string | null;
};
/** @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. */
LabelStats: {
/**
* Format: int64
* @description The total number of Documents associated this Label.
*/
num_related_documents: number;
/**
* Format: int64
* @description The total number of Epics with this Label.
*/
num_epics: number;
/**
* Format: int64
* @description The total number of stories unstarted Stories with this Label.
*/
num_stories_unstarted: number;
/**
* Format: int64
* @description The total number of Stories with this Label.
*/
num_stories_total: number;
/**
* Format: int64
* @description The number of unstarted epics associated with this label.
*/
num_epics_unstarted: number;
/**
* Format: int64
* @description The number of in progress epics associated with this label.
*/
num_epics_in_progress: number;
/**
* Format: int64
* @description The total number of unstarted points with this Label.
*/
num_points_unstarted: number;
/**
* Format: int64
* @description The total number of Stories with no point estimate with this Label.
*/
num_stories_unestimated: number;
/**
* Format: int64
* @description The total number of in-progress points with this Label.
*/
num_points_in_progress: number;
/**
* Format: int64
* @description The total number of Epics associated with this Label.
*/
num_epics_total: number;
/**
* Format: int64
* @description The total number of completed Stories with this Label.
*/
num_stories_completed: number;
/**
* Format: int64
* @description The total number of completed points with this Label.
*/
num_points_completed: number;
/**
* Format: int64
* @description The total number of stories backlog Stories with this Label.
*/
num_stories_backlog: number;
/**
* Format: int64
* @description The total number of points with this Label.
*/
num_points_total: number;
/**
* Format: int64
* @description The total number of in-progress Stories with this Label.
*/
num_stories_in_progress: number;
/**
* Format: int64
* @description The total number of backlog points with this Label.
*/
num_points_backlog: number;
/**
* Format: int64
* @description The number of completed Epics associated with this Label.
*/
num_epics_completed: number;
};
LinkSubTaskParams: {
/**
* Format: int64
* @description The ID of the story to link as a sub-task of the parent story
*/
story_id: number;
};
/** @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. */
LinkedFile: {
/** @description The description of the file. */
description: string | null;
/** @description A string description of this resource. */
entity_type: string;
/** @description The IDs of the stories this file is attached to. */
story_ids: number[];
/** @description `Deprecated:` use `member_mention_ids`. */
mention_ids: string[];
/** @description The members that are mentioned in the description of the file. */
member_mention_ids: string[];
/** @description The name of the linked file. */
name: string;
/** @description The URL of the file thumbnail, if the integration provided it. */
thumbnail_url: string | null;
/** @description The integration type (e.g. google, dropbox, box). */
type: string;
/**
* Format: int64
* @description The filesize, if the integration provided it.
*/
size: number | null;
/**
* Format: uuid
* @description The UUID of the member that uploaded the file.
*/
uploader_id: string;
/** @description The content type of the image (e.g. txt/plain). */
content_type: string | null;
/**
* Format: date-time
* @description The time/date the LinkedFile was updated.
*/
updated_at: string;
/** @description The groups that are mentioned in the description of the file. */
group_mention_ids: string[];
/**
* Format: int64
* @description The unique identifier for the file.
*/
id: number;
/** @description The URL of the file. */
url: string;
/**
* Format: date-time
* @description The time/date the LinkedFile was created.
*/
created_at: string;
};
/** @description Error returned when total maximum supported results have been reached. */
MaxSearchResultsExceededError: {
/**
* @description The name for this type of error, `maximum-results-exceeded`
* @enum {string}
*/
error: "maximum-results-exceeded";
/** @description An explanatory message: "A maximum of 1000 search results are supported." */
message: string;
/**
* Format: int64
* @description The maximum number of search results supported, `1000`
* @enum {integer}
*/
"maximum-results": 1000;
};
/** @description Details about an individual user within the Workspace. */
Member: {
/** @description The Member's role in the Workspace. */
role: string;
/** @description A string description of this resource. */
entity_type: string;
/** @description True/false boolean indicating whether the Member has been disabled within the Workspace. */
disabled: boolean;
global_id: 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.
* @enum {string}
*/
state: "partial" | "full" | "disabled" | "imported";
/**
* Format: date-time
* @description The time/date the Member was last updated.
*/
updated_at: string | null;
/** @description Whether this member was created as a placeholder entity. */
created_without_invite: boolean;
/** @description The Member's group ids */
group_ids: string[];
/**
* Format: uuid
* @description The Member's ID in Shortcut.
*/
id: string;
profile: components["schemas"]["Profile"];
/**
* Format: date-time
* @description The time/date the Member was created.
*/
created_at: string | null;
/**
* Format: uuid
* @description The id of the member that replaces this one when merged.
*/
replaced_by?: string;
};
MemberInfo: {
/** Format: uuid */
id: string;
is_owner: boolean;
mention_name: string;
name: string;
role: string;
workspace2: components["schemas"]["BasicWorkspaceInfo"];
organization2: components["schemas"]["MemberInfoOrganization2"];
};
MemberInfoOrganization2: {
/** Format: uuid */
id: string;
};
/** @description (Deprecated) A Milestone is a collection of Epics that represent a release or some other large initiative that you are working on. Milestones have become Objectives, so you should use Objective-related API resources instead of Milestone ones. */
Milestone: {
/** @description The Shortcut application url for the Milestone. */
app_url: string;
/** @description The Milestone's description. */
description: string;
/** @description A boolean indicating whether the Milestone has been archived or not. */
archived: boolean;
/** @description A true/false boolean indicating if the Milestone has been started. */
started: boolean;
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: date-time
* @description A manual override for the time/date the Milestone was completed.
*/
completed_at_override: string | null;
/**
* Format: date-time
* @description The time/date the Milestone was started.
*/
started_at: string | null;
/**
* Format: date-time
* @description The time/date the Milestone was completed.
*/
completed_at: string | null;
/** @description The name of the Milestone. */
name: string;
global_id: string;
/** @description A true/false boolean indicating if the Milestone has been completed. */
completed: boolean;
/** @description The workflow state that the Milestone is in. */
state: string;
/**
* Format: date-time
* @description A manual override for the time/date the Milestone was started.
*/
started_at_override: string | null;
/**
* Format: date-time
* @description The time/date the Milestone was updated.
*/
updated_at: string;
/** @description An array of Categories attached to the Milestone. */
categories: components["schemas"]["Category"][];
/**
* Format: int64
* @description The unique ID of the Milestone.
*/
id: number;
/** @description The IDs of the Key Results associated with the Objective. */
key_result_ids: string[];
/**
* Format: int64
* @description A number representing the position of the Milestone in relation to every other Milestone within the Workspace.
*/
position: number;
stats: components["schemas"]["MilestoneStats"];
/**
* Format: date-time
* @description The time/date the Milestone was created.
*/
created_at: string;
};
/** @description A group of calculated values for this Milestone. */
MilestoneStats: {
/**
* Format: int64
* @description The average cycle time (in seconds) of completed stories in this Milestone.
*/
average_cycle_time?: number;
/**
* Format: int64
* @description The average lead time (in seconds) of completed stories in this Milestone.
*/
average_lead_time?: number;
/**
* Format: int64
* @description The number of related documents to this Milestone.
*/
num_related_documents: number;
};
/** @description An Objective is a collection of Epics that represent a release or some other large initiative that you are working on. */
Objective: {
/** @description The Shortcut application url for the Objective. */
app_url: string;
/** @description The Objective's description. */
description: string;
/** @description A boolean indicating whether the Objective has been archived or not. */
archived: boolean;
/** @description A true/false boolean indicating if the Objective has been started. */
started: boolean;
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: date-time
* @description A manual override for the time/date the Objective was completed.
*/
completed_at_override: string | null;
/**
* Format: date-time
* @description The time/date the Objective was started.
*/
started_at: string | null;
/**
* Format: date-time
* @description The time/date the Objective was completed.
*/
completed_at: string | null;
/** @description The name of the Objective. */
name: string;
global_id: string;
/** @description A true/false boolean indicating if the Objectivehas been completed. */
completed: boolean;
/** @description The workflow state that the Objective is in. */
state: string;
/**
* Format: date-time
* @description A manual override for the time/date the Objective was started.
*/
started_at_override: string | null;
/**
* Format: date-time
* @description The time/date the Objective was updated.
*/
updated_at: string;
/** @description An array of Categories attached to the Objective. */
categories: components["schemas"]["Category"][];
/**
* Format: int64
* @description The unique ID of the Objective.
*/
id: number;
/** @description The IDs of the Key Results associated with the Objective. */
key_result_ids: string[];
/**
* Format: int64
* @description A number representing the position of the Objective in relation to every other Objective within the Workspace.
*/
position: number;
stats: components["schemas"]["ObjectiveStats"];
/**
* Format: date-time
* @description The time/date the Objective was created.
*/
created_at: string;
};
/** @description A Milestone in search results. This is typed differently from Milestone because the details=slim search argument will omit some fields. */
ObjectiveSearchResult: {
/** @description The Shortcut application url for the Milestone. */
app_url: string;
/** @description The Milestone's description. */
description?: string;
/** @description A boolean indicating whether the Milestone has been archived or not. */
archived: boolean;
/** @description A true/false boolean indicating if the Milestone has been started. */
started: boolean;
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: date-time
* @description A manual override for the time/date the Milestone was completed.
*/
completed_at_override: string | null;
/**
* Format: date-time
* @description The time/date the Milestone was started.
*/
started_at: string | null;
/**
* Format: date-time
* @description The time/date the Milestone was completed.
*/
completed_at: string | null;
/** @description The name of the Milestone. */
name: string;
global_id: string;
/** @description A true/false boolean indicating if the Milestone has been completed. */
completed: boolean;
/** @description The workflow state that the Milestone is in. */
state: string;
/**
* Format: date-time
* @description A manual override for the time/date the Milestone was started.
*/
started_at_override: string | null;
/**
* Format: date-time
* @description The time/date the Milestone was updated.
*/
updated_at: string;
/** @description An array of Categories attached to the Milestone. */
categories: components["schemas"]["Category"][];
/**
* Format: int64
* @description The unique ID of the Milestone.
*/
id: number;
/** @description The IDs of the Key Results associated with the Objective. */
key_result_ids: string[];
/**
* Format: int64
* @description A number representing the position of the Milestone in relation to every other Milestone within the Workspace.
*/
position: number;
stats: components["schemas"]["MilestoneStats"];
/**
* Format: date-time
* @description The time/date the Milestone was created.
*/
created_at: string;
};
/** @description The results of the Objective search query. */
ObjectiveSearchResults: {
/**
* Format: int64
* @description The total number of matches for the search query. The first 1000 matches can be paged through via the API.
*/
total: number;
/** @description A list of search results. */
data: components["schemas"]["ObjectiveSearchResult"][];
/** @description The URL path and query string for the next page of search results. */
next: string | null;
};
/** @description A group of calculated values for this Objective. */
ObjectiveStats: {
/**
* Format: int64
* @description The average cycle time (in seconds) of completed stories in this Objective.
*/
average_cycle_time?: number;
/**
* Format: int64
* @description The average lead time (in seconds) of completed stories in this Objective.
*/
average_lead_time?: number;
/**
* Format: int64
* @description The number of related documents to this Objective.
*/
num_related_documents: number;
};
/** @description A group of Member profile details. */
Profile: {
/** @description A string description of this resource. */
entity_type: string;
/** @description A true/false boolean indicating whether the Member has been deactivated within Shortcut. */
deactivated: boolean;
/** @description If Two Factor Authentication is activated for this User. */
two_factor_auth_activated?: boolean;
/** @description The Member's username within the Organization. */
mention_name: string;
/** @description The Member's name within the Organization. */
name: string | null;
/** @description Whether this profile is an Agent/Bot user. */
is_agent?: boolean;
/** @description This is the gravatar hash associated with email_address. */
gravatar_hash: string | null;
/**
* Format: uuid
* @description The unique identifier of the profile.
*/
id: string;
display_icon: components["schemas"]["Icon"];
/** @description A boolean indicating whether this profile is an owner at their associated organization. */
is_owner: boolean;
/** @description The primary email address of the Member with the Organization. */
email_address: string | null;
};
/** @description Projects typically map to teams (such as Frontend, Backend, Mobile, Devops, etc) but can represent any open-ended product, component, or initiative. */
Project: {
/** @description The Shortcut application url for the Project. */
app_url: string;
/** @description The description of the Project. */
description: string | null;
/** @description True/false boolean indicating whether the Project is in an Archived state. */
archived: boolean;
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: int64
* @description The number of days before the thermometer appears in the Story summary.
*/
days_to_thermometer: number;
/**
* Format: css-color
* @description The color associated with the Project in the Shortcut member interface.
*/
color: string | null;
/**
* Format: int64
* @description The ID of the workflow the project belongs to.
*/
workflow_id: number;
/** @description The name of the Project */
name: string;
/** @description The Global ID of the Project. */
global_id: string;
/**
* Format: date-time
* @description The date at which the Project was started.
*/
start_time: string;
/**
* Format: date-time
* @description The time/date that the Project was last updated.
*/
updated_at: string | null;
/** @description An array of UUIDs for any Members listed as Followers. */
follower_ids: 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. */
external_id: string | null;
/**
* Format: int64
* @description The unique ID of the Project.
*/
id: number;
/** @description Configuration to enable or disable thermometers in the Story summary. */
show_thermometer: boolean;
/**
* Format: int64
* @description The ID of the team the project belongs to.
*/
team_id: number;
/**
* Format: int64
* @description The number of weeks per iteration in this Project.
*/
iteration_length: number;
/** @description The Project abbreviation used in Story summaries. Should be kept to 3 characters at most. */
abbreviation: string | null;
stats: components["schemas"]["ProjectStats"];
/**
* Format: date-time
* @description The time/date that the Project was created.
*/
created_at: string | null;
};
/** @description A group of calculated values for this Project. */
ProjectStats: {
/**
* Format: int64
* @description The total number of stories in this Project.
*/
num_stories: number;
/**
* Format: int64
* @description The total number of points in this Project.
*/
num_points: number;
/**
* Format: int64
* @description The total number of documents related to this Project
*/
num_related_documents: number;
};
/** @description Corresponds to a VCS Pull Request attached to a Shortcut story. */
PullRequest: {
/** @description A string description of this resource. */
entity_type: string;
/** @description True/False boolean indicating whether the VCS pull request has been closed. */
closed: boolean;
/** @description True/False boolean indicating whether the VCS pull request has been merged. */
merged: boolean;
/**
* Format: int64
* @description Number of lines added in the pull request, according to VCS.
*/
num_added: number;
/**
* Format: int64
* @description The ID of the branch for the particular pull request.
*/
branch_id: number;
/** @description An array of Story ids that have Pull Requests that change at least one of the same lines this Pull Request changes. */
overlapping_stories?: number[];
/**
* Format: int64
* @description The pull request's unique number ID in VCS.
*/
number: number;
/** @description The name of the branch for the particular pull request. */
branch_name: string;
/** @description The name of the target branch for the particular pull request. */
target_branch_name: string;
/**
* Format: int64
* @description The number of commits on the pull request.
*/
num_commits: number | null;
/** @description The title of the pull request. */
title: string;
/**
* Format: date-time
* @description The time/date the pull request was created.
*/
updated_at: string;
/** @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. */
has_overlapping_stories: boolean;
/** @description True/False boolean indicating whether the VCS pull request is in the draft state. */
draft: boolean;
/**
* Format: int64
* @description The unique ID associated with the pull request in Shortcut.
*/
id: number;
/** @description An array of PullRequestLabels attached to the PullRequest. */
vcs_labels?: components["schemas"]["PullRequestLabel"][] | null;
/** @description The URL for the pull request. */
url: string;
/**
* Format: int64
* @description Number of lines removed in the pull request, according to VCS.
*/
num_removed: number;
/** @description The status of the review for the pull request. */
review_status?: string;
/**
* Format: int64
* @description Number of lines modified in the pull request, according to VCS.
*/
num_modified: number | null;
/** @description The status of the Continuous Integration workflow for the pull request. */
build_status?: string;
/**
* Format: int64
* @description The ID of the target branch for the particular pull request.
*/
target_branch_id: number;
/**
* Format: int64
* @description The ID of the repository for the particular pull request.
*/
repository_id: number;
/**
* Format: date-time
* @description The time/date the pull request was created.
*/
created_at: string;
};
/** @description Corresponds to a VCS Label associated with a Pull Request. */
PullRequestLabel: {
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: int64
* @description The unique ID of the VCS Label.
*/
id: number;
/**
* Format: css-color
* @description The color of the VCS label.
*/
color: string;
/** @description The description of the VCS label. */
description?: string | null;
/** @description The name of the VCS label. */
name: string;
};
RemoveCustomFieldParams: {
/**
* Format: uuid
* @description The unique public ID for the CustomField.
*/
field_id: string;
};
/** @description Request parameters for removing a Label from a Shortcut Story. */
RemoveLabelParams: {
/** @description The name of the new Label to remove. */
name: string;
};
/** @description Repository refers to a VCS repository. */
Repository: {
/** @description A string description of this resource. */
entity_type: string;
/** @description The shorthand name of the VCS repository. */
name: string | null;
/**
* @description The VCS provider for the Repository.
* @enum {string}
*/
type: "github" | "gitlab" | "bitbucket";
/**
* Format: date-time
* @description The time/date the Repository was updated.
*/
updated_at: string | null;
/** @description The VCS unique identifier for the Repository. */
external_id: string | null;
/**
* Format: int64
* @description The ID associated to the VCS repository in Shortcut.
*/
id: number | null;
/** @description The URL of the Repository. */
url: string | null;
/** @description The full name of the VCS repository. */
full_name: string | null;
/**
* Format: date-time
* @description The time/date the Repository was created.
*/
created_at: string | null;
};
/** @description The results of the multi-entity search query. */
SearchResults: {
epics?: components["schemas"]["EpicSearchResults"];
stories?: components["schemas"]["StorySearchResults"];
iterations?: components["schemas"]["IterationSearchResults"];
milestones?: components["schemas"]["ObjectiveSearchResults"];
};
SearchStories: {
/** @description A true/false boolean indicating whether the Story is in archived state. */
archived?: boolean;
/**
* Format: uuid
* @description An array of UUIDs for any Users who may be Owners of the Stories.
*/
owner_id?: string | null;
/**
* @description The type of Stories that you want returned.
* @enum {string}
*/
story_type?: "feature" | "chore" | "bug";
/** @description The Epic IDs that may be associated with the Stories. */
epic_ids?: number[];
/** @description The IDs for the Projects the Stories may be assigned to. */
project_ids?: (number | null)[];
/**
* Format: date-time
* @description Stories should have been updated on or before this date.
*/
updated_at_end?: string;
/**
* Format: date-time
* @description Stories should have been completed on or before this date.
*/
completed_at_end?: string;
/** @description The type of Workflow State the Stories may be in. */
workflow_state_types?: ("started" | "backlog" | "unstarted" | "done")[];
/**
* Format: date-time
* @description Stories should have a deadline on or before this date.
*/
deadline_end?: string;
/**
* Format: date-time
* @description Stories should have been created on or after this date.
*/
created_at_start?: string;
/**
* Format: int64
* @description The Epic IDs that may be associated with the Stories.
*/
epic_id?: number | null;
/** @description The name of any associated Labels. */
label_name?: string;
/**
* Format: uuid
* @description The UUID of any Users who may have requested the Stories.
*/
requested_by_id?: string;
/**
* Format: int64
* @description The Iteration ID that may be associated with the Stories.
*/
iteration_id?: number | null;
/** @description The Label IDs that may be associated with the Stories. */
label_ids?: number[];
/**
* Format: uuid
* @description The Group ID that is associated with the Stories
*/
group_id?: string | null;
/**
* Format: int64
* @description The unique IDs of the specific Workflow States that the Stories should be in.
*/
workflow_state_id?: number;
/** @description The Iteration IDs that may be associated with the Stories. */
iteration_ids?: number[];
/**
* Format: date-time
* @description Stories should have been created on or before this date.
*/
created_at_end?: string;
/**
* Format: date-time
* @description Stories should have a deadline on or after this date.
*/
deadline_start?: string;
/** @description The Group IDs that are associated with the Stories */
group_ids?: string[];
/** @description An array of UUIDs for any Users who may be Owners of the Stories. */
owner_ids?: string[];
/** @description An ID or URL that references an external resource. Useful during imports. */
external_id?: string;
/** @description Whether to include the story description in the response. */
includes_description?: boolean;
/**
* Format: int64
* @description The number of estimate points associate with the Stories.
*/
estimate?: number;
/**
* Format: int64
* @description The IDs for the Projects the Stories may be assigned to.
*/
project_id?: number | null;
/**
* Format: date-time
* @description Stories should have been completed on or after this date.
*/
completed_at_start?: string;
/**
* Format: date-time
* @description Stories should have been updated on or after this date.
*/
updated_at_start?: string;
};
/** @description Stories are the standard unit of work in Shortcut and represent individual features, bugs, and chores. */
Story: {
/** @description The Shortcut application url for the Story. */
app_url: string;
/** @description The description of the story. */
description: string;
/** @description True if the story has been archived or not. */
archived: boolean;
/** @description A true/false boolean indicating if the Story has been started. */
started: boolean;
/** @description An array of story links attached to the Story. */
story_links: components["schemas"]["TypedStoryLink"][];
/** @description A string description of this resource. */
entity_type: string;
/** @description An array of labels attached to the story. */
labels: components["schemas"]["LabelSlim"][];
/** @description `Deprecated:` use `member_mention_ids`. */
mention_ids: string[];
synced_item?: components["schemas"]["SyncedItem"];
/** @description An array of Member IDs that have been mentioned in the Story description. */
member_mention_ids: string[];
/** @description The type of story (feature, bug, chore). */
story_type: string;
/** @description An array of CustomField value assertions for the story. */
custom_fields?: components["schemas"]["StoryCustomField"][];
/** @description An array of linked files attached to the story. */
linked_files: components["schemas"]["LinkedFile"][];
/**
* Format: int64
* @description The ID of the workflow the story belongs to.
*/
workflow_id: number;
/**
* Format: date-time
* @description A manual override for the time/date the Story was completed.
*/
completed_at_override: string | null;
/**
* Format: date-time
* @description The time/date the Story was started.
*/
started_at: string | null;
/**
* Format: date-time
* @description The time/date the Story was completed.
*/
completed_at: string | null;
/** @description The name of the story. */
name: string;
global_id: string;
/** @description A true/false boolean indicating if the Story has been completed. */
completed: boolean;
/** @description An array of comments attached to the story. */
comments: components["schemas"]["StoryComment"][];
/** @description A true/false boolean indicating if the Story is currently a blocker of another story. */
blocker: boolean;
/** @description An array of Git branches attached to the story. */
branches: components["schemas"]["Branch"][];
/**
* Format: int64
* @description The ID of the epic the story belongs to.
*/
epic_id: number | null;
/**
* Format: uuid
* @description The ID of the story template used to create this story, or null if not created using a template.
*/
story_template_id: string | null;
/** @description An array of external links (strings) associated with a Story */
external_links: string[];
/** @description The IDs of the iteration the story belongs to. */
previous_iteration_ids: number[];
/**
* Format: uuid
* @description The ID of the Member that requested the story.
*/
requested_by_id: string;
/**
* Format: int64
* @description The ID of the iteration the story belongs to.
*/
iteration_id: number | null;
sub_task_story_ids?: number[];
/** @description An array of tasks connected to the story. */
tasks: components["schemas"]["Task"][];
/** @description The formatted branch name for this story. */
formatted_vcs_branch_name?: string | null;
/** @description An array of label ids attached to the story. */
label_ids: number[];
/**
* Format: date-time
* @description A manual override for the time/date the Story was started.
*/
started_at_override: string | null;
/**
* Format: uuid
* @description The ID of the group associated with the story.
*/
group_id: string | null;
/**
* Format: int64
* @description The ID of the workflow state the story is currently in.
*/
workflow_state_id: number;
/**
* Format: date-time
* @description The time/date the Story was updated.
*/
updated_at: string | null;
/** @description An array of Pull/Merge Requests attached to the story. */
pull_requests: components["schemas"]["PullRequest"][];
/** @description An array of Group IDs that have been mentioned in the Story description. */
group_mention_ids: string[];
/** @description An array of UUIDs for any Members listed as Followers. */
follower_ids: string[];
/** @description An array of UUIDs of the owners of this story. */
owner_ids: 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. */
external_id: string | null;
/**
* Format: int64
* @description The unique ID of the Story.
*/
id: number;
/**
* Format: int64
* @description The lead time (in seconds) of this story when complete.
*/
lead_time?: number;
/** Format: int64 */
parent_story_id?: number | null;
/**
* Format: int64
* @description The numeric point estimate of the story. Can also be null, which means unestimated.
*/
estimate: number | null;
/** @description An array of commits attached to the story. */
commits: components["schemas"]["Commit"][];
/** @description An array of files attached to the story. */
files: components["schemas"]["UploadedFile"][];
/**
* Format: int64
* @description A number representing the position of the story in relation to every other story in the current project.
*/
position: number;
/** @description A true/false boolean indicating if the Story is currently blocked. */
blocked: boolean;
/**
* Format: int64
* @description The ID of the project the story belongs to.
*/
project_id: number | null;
/**
* Format: date-time
* @description The due date of the story.
*/
deadline: string | null;
stats: components["schemas"]["StoryStats"];
/**
* Format: int64
* @description The cycle time (in seconds) of this story when complete.
*/
cycle_time?: number;
/**
* Format: date-time
* @description The time/date the Story was created.
*/
created_at: string;
/**
* Format: date-time
* @description The time/date the Story was last changed workflow-state.
*/
moved_at: string | null;
};
/** @description A Comment is any note added within the Comment field of a Story. */
StoryComment: {
/** @description The Shortcut application url for the Comment. */
app_url: string;
/** @description A string description of this resource. */
entity_type: string;
/** @description True/false boolean indicating whether the Comment has been deleted. */
deleted: boolean;
/**
* Format: int64
* @description The ID of the Story on which the Comment appears.
*/
story_id: number;
/** @description `Deprecated:` use `member_mention_ids`. */
mention_ids: string[];
/**
* Format: uuid
* @description The unique ID of the Member who is the Comment's author.
*/
author_id: string | null;
/** @description The unique IDs of the Member who are mentioned in the Comment. */
member_mention_ids: string[];
/** @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. */
blocker?: boolean;
/** @description Whether the Comment is currently the root of a thread that is linked to Slack. */
linked_to_slack: boolean;
/**
* Format: date-time
* @description The time/date when the Comment was updated.
*/
updated_at: string | null;
/** @description The unique IDs of the Group who are mentioned in the Comment. */
group_mention_ids: 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. */
external_id: string | null;
/**
* Format: int64
* @description The ID of the parent Comment this Comment is threaded under.
*/
parent_id?: number | null;
/**
* Format: int64
* @description The unique ID of the Comment.
*/
id: number;
/**
* Format: int64
* @description The Comments numerical position in the list from oldest to newest.
*/
position: number;
/** @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. */
unblocks_parent?: boolean;
/** @description A set of Reactions to this Comment. */
reactions: components["schemas"]["StoryReaction"][];
/**
* Format: date-time
* @description The time/date when the Comment was created.
*/
created_at: string;
/** @description The text of the Comment. In the case that the Comment has been deleted, this field can be set to nil. */
text: string | null;
};
/** @description A container entity for the attributes this template should populate. */
StoryContents: {
/** @description The description of the story. */
description?: string;
/** @description A string description of this resource. */
entity_type?: string;
/** @description An array of labels attached to the story. */
labels?: components["schemas"]["LabelSlim"][];
/** @description The type of story (feature, bug, chore). */
story_type?: string;
/** @description An array of maps specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
custom_fields?: components["schemas"]["CustomFieldValueParams"][];
/** @description An array of linked files attached to the story. */
linked_files?: components["schemas"]["LinkedFile"][];
/** @description The name of the story. */
name?: string;
/**
* Format: int64
* @description The ID of the epic the story belongs to.
*/
epic_id?: number;
/** @description An array of external links connected to the story. */
external_links?: string[];
/** @description An array of sub-tasks connected to the story */
sub_tasks?: components["schemas"]["CreateSubTaskParams"][];
/**
* Format: int64
* @description The ID of the iteration the story belongs to.
*/
iteration_id?: number;
/** @description An array of tasks connected to the story. */
tasks?: components["schemas"]["StoryContentsTask"][];
/** @description An array of label ids attached to the story. */
label_ids?: number[];
/**
* Format: uuid
* @description The ID of the group to which the story is assigned.
*/
group_id?: string;
/**
* Format: int64
* @description The ID of the workflow state the story is currently in.
*/
workflow_state_id?: number;
/** @description An array of UUIDs for any Members listed as Followers. */
follower_ids?: string[];
/** @description An array of UUIDs of the owners of this story. */
owner_ids?: string[];
/**
* Format: int64
* @description The numeric point estimate of the story. Can also be null, which means unestimated.
*/
estimate?: number;
/** @description An array of files attached to the story. */
files?: components["schemas"]["UploadedFile"][];
/**
* Format: int64
* @description The ID of the project the story belongs to.
*/
project_id?: number;
/**
* Format: date-time
* @description The due date of the story.
*/
deadline?: string;
};
StoryContentsTask: {
/** @description Full text of the Task. */
description: string;
/**
* Format: int64
* @description The number corresponding to the Task's position within a list of Tasks on a Story.
*/
position?: number;
/** @description True/false boolean indicating whether the Task has been completed. */
complete?: boolean;
/** @description An array of UUIDs of the Owners of this Task. */
owner_ids?: 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. */
external_id?: string | null;
};
StoryCustomField: {
/**
* Format: uuid
* @description The unique public ID for a CustomField.
*/
field_id: string;
/**
* Format: uuid
* @description The unique public ID for a CustomFieldEnumValue.
*/
value_id: string;
/** @description A string representation of the value, if applicable. */
value: string;
};
/** @description Task IDs that have been added or removed from the Story. */
StoryHistoryChangeAddsRemovesInt: {
/** @description The values that have been added. */
adds?: number[];
/** @description The values that have been removed */
removes?: number[];
};
/** @description Custom Field Enum Value IDs that have been added or removed from the Story. */
StoryHistoryChangeAddsRemovesUuid: {
/** @description The values that have been added. */
adds?: string[];
/** @description The values that have been removed */
removes?: string[];
};
/** @description True if the Story has archived, otherwise false. */
StoryHistoryChangeOldNewBool: {
/** @description The old value. */
old?: boolean;
/** @description The new value. */
new?: boolean;
};
/** @description The estimate value for the Story */
StoryHistoryChangeOldNewInt: {
/**
* Format: int64
* @description The old value.
*/
old?: number;
/**
* Format: int64
* @description The new value.
*/
new?: number;
};
/** @description A timestamp that represents the Story's deadline. */
StoryHistoryChangeOldNewStr: {
/** @description The old value. */
old?: string | null;
/** @description The new value. */
new?: string;
};
/** @description The Team ID for the Story. */
StoryHistoryChangeOldNewUuid: {
/**
* Format: uuid
* @description The old value.
*/
old?: string;
/**
* Format: uuid
* @description The new value.
*/
new?: string;
};
/** @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". */
StoryLink: {
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: int64
* @description The unique identifier of the Story Link.
*/
id: number;
/**
* Format: int64
* @description The ID of the subject Story.
*/
subject_id: number;
/**
* Format: int64
* @description The workflow state of the "subject" story.
*/
subject_workflow_state_id: number;
/** @description How the subject Story acts on the object Story. This can be "blocks", "duplicates", or "relates to". */
verb: string;
/**
* Format: int64
* @description The ID of the object Story.
*/
object_id: number;
/**
* Format: date-time
* @description The time/date when the Story Link was created.
*/
created_at: string;
/**
* Format: date-time
* @description The time/date when the Story Link was last updated.
*/
updated_at: string;
};
/** @description Emoji reaction on a comment. */
StoryReaction: {
/** @description Emoji text of the reaction. */
emoji: string;
/** @description Permissions who have reacted with this. */
permission_ids: string[];
};
/** @description A Story in search results. This is typed differently from Story because the details=slim search argument will omit some fields. */
StorySearchResult: {
/** @description The Shortcut application url for the Story. */
app_url: string;
/** @description The description of the story. */
description?: string;
/** @description True if the story has been archived or not. */
archived: boolean;
/** @description A true/false boolean indicating if the Story has been started. */
started: boolean;
/** @description An array of story links attached to the Story. */
story_links: components["schemas"]["TypedStoryLink"][];
/** @description A string description of this resource. */
entity_type: string;
/** @description An array of labels attached to the story. */
labels: components["schemas"]["LabelSlim"][];
/** @description An array of IDs of Tasks attached to the story. */
task_ids?: number[];
/** @description `Deprecated:` use `member_mention_ids`. */
mention_ids: string[];
synced_item?: components["schemas"]["SyncedItem"];
/** @description An array of Member IDs that have been mentioned in the Story description. */
member_mention_ids: string[];
/** @description The type of story (feature, bug, chore). */
story_type: string;
/** @description An array of CustomField value assertions for the story. */
custom_fields?: components["schemas"]["StoryCustomField"][];
/** @description An array of linked files attached to the story. */
linked_files?: components["schemas"]["LinkedFile"][];
/** @description An array of IDs of Files attached to the story. */
file_ids?: number[];
/**
* Format: int64
* @description The number of tasks on the story which are complete.
*/
num_tasks_completed?: number;
/**
* Format: int64
* @description The ID of the workflow the story belongs to.
*/
workflow_id: number;
/**
* Format: date-time
* @description A manual override for the time/date the Story was completed.
*/
completed_at_override: string | null;
/**
* Format: date-time
* @description The time/date the Story was started.
*/
started_at: string | null;
/**
* Format: date-time
* @description The time/date the Story was completed.
*/
completed_at: string | null;
/** @description The name of the story. */
name: string;
global_id: string;
/** @description A true/false boolean indicating if the Story has been completed. */
completed: boolean;
/** @description An array of comments attached to the story. */
comments?: components["schemas"]["StoryComment"][];
/** @description A true/false boolean indicating if the Story is currently a blocker of another story. */
blocker: boolean;
/** @description An array of Git branches attached to the story. */
branches?: components["schemas"]["Branch"][];
/**
* Format: int64
* @description The ID of the epic the story belongs to.
*/
epic_id: number | null;
/**
* Format: uuid
* @description The ID of the story template used to create this story, or null if not created using a template.
*/
story_template_id: string | null;
/** @description An array of external links (strings) associated with a Story */
external_links: string[];
/** @description The IDs of the iteration the story belongs to. */
previous_iteration_ids: number[];
/**
* Format: uuid
* @description The ID of the Member that requested the story.
*/
requested_by_id: string;
/**
* Format: int64
* @description The ID of the iteration the story belongs to.
*/
iteration_id: number | null;
sub_task_story_ids?: number[];
/** @description An array of tasks connected to the story. */
tasks?: components["schemas"]["Task"][];
/** @description The formatted branch name for this story. */
formatted_vcs_branch_name?: string | null;
/** @description An array of label ids attached to the story. */
label_ids: number[];
/**
* Format: date-time
* @description A manual override for the time/date the Story was started.
*/
started_at_override: string | null;
/**
* Format: uuid
* @description The ID of the group associated with the story.
*/
group_id: string | null;
/**
* Format: int64
* @description The ID of the workflow state the story is currently in.
*/
workflow_state_id: number;
/**
* Format: date-time
* @description The time/date the Story was updated.
*/
updated_at: string | null;
/** @description An array of Pull/Merge Requests attached to the story. */
pull_requests?: components["schemas"]["PullRequest"][];
/** @description An array of Group IDs that have been mentioned in the Story description. */
group_mention_ids: string[];
/** @description An array of UUIDs for any Members listed as Followers. */
follower_ids: string[];
/** @description An array of UUIDs of the owners of this story. */
owner_ids: 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. */
external_id: string | null;
/**
* Format: int64
* @description The unique ID of the Story.
*/
id: number;
/**
* Format: int64
* @description The lead time (in seconds) of this story when complete.
*/
lead_time?: number;
/** Format: int64 */
parent_story_id?: number | null;
/**
* Format: int64
* @description The numeric point estimate of the story. Can also be null, which means unestimated.
*/
estimate: number | null;
/** @description An array of commits attached to the story. */
commits?: components["schemas"]["Commit"][];
/** @description An array of files attached to the story. */
files?: components["schemas"]["UploadedFile"][];
/**
* Format: int64
* @description A number representing the position of the story in relation to every other story in the current project.
*/
position: number;
/** @description A true/false boolean indicating if the Story is currently blocked. */
blocked: boolean;
/**
* Format: int64
* @description The ID of the project the story belongs to.
*/
project_id: number | null;
/** @description An array of IDs of LinkedFiles attached to the story. */
linked_file_ids?: number[];
/**
* Format: date-time
* @description The due date of the story.
*/
deadline: string | null;
stats: components["schemas"]["StoryStats"];
/** @description An array of IDs of Comments attached to the story. */
comment_ids?: number[];
/**
* Format: int64
* @description The cycle time (in seconds) of this story when complete.
*/
cycle_time?: number;
/**
* Format: date-time
* @description The time/date the Story was created.
*/
created_at: string;
/**
* Format: date-time
* @description The time/date the Story was last changed workflow-state.
*/
moved_at: string | null;
};
/** @description The results of the Story search query. */
StorySearchResults: {
/**
* Format: int64
* @description The total number of matches for the search query. The first 1000 matches can be paged through via the API.
*/
total: number;
/** @description A list of search results. */
data: components["schemas"]["StorySearchResult"][];
/** @description The URL path and query string for the next page of search results. */
next: string | null;
};
/** @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](#Get-Story) endpoint to fetch the unabridged payload for a Story. */
StorySlim: {
/** @description The Shortcut application url for the Story. */
app_url: string;
/** @description The description of the Story. */
description?: string;
/** @description True if the story has been archived or not. */
archived: boolean;
/** @description A true/false boolean indicating if the Story has been started. */
started: boolean;
/** @description An array of story links attached to the Story. */
story_links: components["schemas"]["TypedStoryLink"][];
/** @description A string description of this resource. */
entity_type: string;
/** @description An array of labels attached to the story. */
labels: components["schemas"]["LabelSlim"][];
/** @description An array of IDs of Tasks attached to the story. */
task_ids: number[];
/** @description `Deprecated:` use `member_mention_ids`. */
mention_ids: string[];
synced_item?: components["schemas"]["SyncedItem"];
/** @description An array of Member IDs that have been mentioned in the Story description. */
member_mention_ids: string[];
/** @description The type of story (feature, bug, chore). */
story_type: string;
/** @description An array of CustomField value assertions for the story. */
custom_fields?: components["schemas"]["StoryCustomField"][];
/** @description An array of IDs of Files attached to the story. */
file_ids: number[];
/**
* Format: int64
* @description The number of tasks on the story which are complete.
*/
num_tasks_completed: number;
/**
* Format: int64
* @description The ID of the workflow the story belongs to.
*/
workflow_id: number;
/**
* Format: date-time
* @description A manual override for the time/date the Story was completed.
*/
completed_at_override: string | null;
/**
* Format: date-time
* @description The time/date the Story was started.
*/
started_at: string | null;
/**
* Format: date-time
* @description The time/date the Story was completed.
*/
completed_at: string | null;
/** @description The name of the story. */
name: string;
global_id: string;
/** @description A true/false boolean indicating if the Story has been completed. */
completed: boolean;
/** @description A true/false boolean indicating if the Story is currently a blocker of another story. */
blocker: boolean;
/**
* Format: int64
* @description The ID of the epic the story belongs to.
*/
epic_id: number | null;
/**
* Format: uuid
* @description The ID of the story template used to create this story, or null if not created using a template.
*/
story_template_id: string | null;
/** @description An array of external links (strings) associated with a Story */
external_links: string[];
/** @description The IDs of the iteration the story belongs to. */
previous_iteration_ids: number[];
/**
* Format: uuid
* @description The ID of the Member that requested the story.
*/
requested_by_id: string;
/**
* Format: int64
* @description The ID of the iteration the story belongs to.
*/
iteration_id: number | null;
sub_task_story_ids?: number[];
/** @description The formatted branch name for this story. */
formatted_vcs_branch_name?: string | null;
/** @description An array of label ids attached to the story. */
label_ids: number[];
/**
* Format: date-time
* @description A manual override for the time/date the Story was started.
*/
started_at_override: string | null;
/**
* Format: uuid
* @description The ID of the group associated with the story.
*/
group_id: string | null;
/**
* Format: int64
* @description The ID of the workflow state the story is currently in.
*/
workflow_state_id: number;
/**
* Format: date-time
* @description The time/date the Story was updated.
*/
updated_at: string | null;
/** @description An array of Group IDs that have been mentioned in the Story description. */
group_mention_ids: string[];
/** @description An array of UUIDs for any Members listed as Followers. */
follower_ids: string[];
/** @description An array of UUIDs of the owners of this story. */
owner_ids: 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. */
external_id: string | null;
/**
* Format: int64
* @description The unique ID of the Story.
*/
id: number;
/**
* Format: int64
* @description The lead time (in seconds) of this story when complete.
*/
lead_time?: number;
/** Format: int64 */
parent_story_id?: number | null;
/**
* Format: int64
* @description The numeric point estimate of the story. Can also be null, which means unestimated.
*/
estimate: number | null;
/**
* Format: int64
* @description A number representing the position of the story in relation to every other story in the current project.
*/
position: number;
/** @description A true/false boolean indicating if the Story is currently blocked. */
blocked: boolean;
/**
* Format: int64
* @description The ID of the project the story belongs to.
*/
project_id: number | null;
/** @description An array of IDs of LinkedFiles attached to the story. */
linked_file_ids: number[];
/**
* Format: date-time
* @description The due date of the story.
*/
deadline: string | null;
stats: components["schemas"]["StoryStats"];
/** @description An array of IDs of Comments attached to the story. */
comment_ids: number[];
/**
* Format: int64
* @description The cycle time (in seconds) of this story when complete.
*/
cycle_time?: number;
/**
* Format: date-time
* @description The time/date the Story was created.
*/
created_at: string;
/**
* Format: date-time
* @description The time/date the Story was last changed workflow-state.
*/
moved_at: string | null;
};
/** @description The stats object for Stories */
StoryStats: {
/**
* Format: int64
* @description The number of documents related to this Story.
*/
num_related_documents: number;
};
/** @description The synced item for the story. */
SyncedItem: {
/** @description The id used to reference an external entity. */
external_id: string;
/** @description The url to the external entity. */
url: string;
};
/** @description A Task on a Story. */
Task: {
/** @description Full text of the Task. */
description: string;
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: int64
* @description The unique identifier of the parent Story.
*/
story_id: number;
/** @description `Deprecated:` use `member_mention_ids`. */
mention_ids: string[];
/** @description An array of UUIDs of Members mentioned in this Task. */
member_mention_ids: string[];
/**
* Format: date-time
* @description The time/date the Task was completed.
*/
completed_at: string | null;
global_id: string;
/**
* Format: date-time
* @description The time/date the Task was updated.
*/
updated_at: string | null;
/** @description An array of UUIDs of Groups mentioned in this Task. */
group_mention_ids: string[];
/** @description An array of UUIDs of the Owners of this Task. */
owner_ids: 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. */
external_id: string | null;
/**
* Format: int64
* @description The unique ID of the Task.
*/
id: number;
/**
* Format: int64
* @description The number corresponding to the Task's position within a list of Tasks on a Story.
*/
position: number;
/** @description True/false boolean indicating whether the Task has been completed. */
complete: boolean;
/**
* Format: date-time
* @description The time/date the Task was created.
*/
created_at: string;
};
/** @description Comments associated with Epic Discussions. */
ThreadedComment: {
/** @description The Shortcut application url for the Comment. */
app_url: string;
/** @description A string description of this resource. */
entity_type: string;
/** @description True/false boolean indicating whether the Comment is deleted. */
deleted: boolean;
/** @description `Deprecated:` use `member_mention_ids`. */
mention_ids: string[];
/**
* Format: uuid
* @description The unique ID of the Member that authored the Comment.
*/
author_id: string;
/** @description An array of Member IDs that have been mentioned in this Comment. */
member_mention_ids: string[];
/** @description A nested array of threaded comments. */
comments: components["schemas"]["ThreadedComment"][];
/**
* Format: date-time
* @description The time/date the Comment was updated.
*/
updated_at: string;
/** @description An array of Group IDs that have been mentioned in this Comment. */
group_mention_ids: 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. */
external_id: string | null;
/**
* Format: int64
* @description The unique ID of the Comment.
*/
id: number;
/**
* Format: date-time
* @description The time/date the Comment was created.
*/
created_at: string;
/** @description The text of the Comment. */
text: string;
};
/** @description The type of Story Link. The string can be subject or object. */
TypedStoryLink: {
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: int64
* @description The ID of the object Story.
*/
object_id: number;
/** @description How the subject Story acts on the object Story. This can be "blocks", "duplicates", or "relates to". */
verb: string;
/** @description This indicates whether the Story is the subject or object in the Story Link. */
type: string;
/**
* Format: date-time
* @description The time/date when the Story Link was last updated.
*/
updated_at: string;
/**
* Format: int64
* @description The unique identifier of the Story Link.
*/
id: number;
/**
* Format: int64
* @description The ID of the subject Story.
*/
subject_id: number;
/**
* Format: int64
* @description The workflow state of the "subject" story.
*/
subject_workflow_state_id: number;
/**
* Format: date-time
* @description The time/date when the Story Link was created.
*/
created_at: string;
};
UnusableEntitlementError: {
/**
* @description The tag for violating an entitlement action.
* @enum {string}
*/
reason_tag: "entitlement-violation";
/** @description Short tag describing the unusable entitlement action taken by the user. */
entitlement_tag: string;
/** @description Message displayed to the user on why their action failed. */
message: string;
};
UpdateCategory: {
/** @description The new name of the Category. */
name?: string;
/**
* Format: css-color
* @description The hex color to be displayed with the Category (for example, "#ff0000").
*/
color?: string | null;
/** @description A true/false boolean indicating if the Category has been archived. */
archived?: boolean;
};
UpdateComment: {
/** @description The updated comment text. */
text: string;
};
UpdateCustomField: {
/** @description Indicates whether the Field is enabled for the Workspace. Only enabled fields can be applied to Stories. */
enabled?: boolean;
/** @description A collection of objects representing reporting periods for years. */
name?: string;
/** @description A collection of EnumValue objects representing the values in the domain of some Custom Field. */
values?: components["schemas"]["UpdateCustomFieldEnumValue"][];
/** @description A frontend-controlled string that represents the icon for this custom field. */
icon_set_identifier?: string;
/** @description A description of the purpose of this field. */
description?: string;
/**
* Format: uuid
* @description The ID of the CustomField we want to move this CustomField before.
*/
before_id?: string;
/**
* Format: uuid
* @description The ID of the CustomField we want to move this CustomField after.
*/
after_id?: string;
};
UpdateCustomFieldEnumValue: {
/**
* Format: uuid
* @description The unique ID of an existing EnumValue within the CustomField's domain.
*/
id?: string;
/** @description A string value within the domain of this Custom Field. */
value?: string;
/** @description A color key associated with this EnumValue within the CustomField's domain. */
color_key?: string | null;
/** @description Whether this EnumValue is enabled for its CustomField or not. Leaving this key out of the request leaves the current enabled state untouched. */
enabled?: boolean;
};
/** @description Request parameters for changing either a template's name or any of
* the attributes it is designed to pre-populate. */
UpdateEntityTemplate: {
/** @description The updated template name. */
name?: string;
story_contents?: components["schemas"]["UpdateStoryContents"];
};
UpdateEpic: {
/** @description The Epic's description. */
description?: string;
/** @description A true/false boolean indicating whether the Epic is in archived state. */
archived?: boolean;
/** @description An array of Labels attached to the Epic. */
labels?: components["schemas"]["CreateLabelParams"][];
/**
* Format: date-time
* @description A manual override for the time/date the Epic was completed.
*/
completed_at_override?: string | null;
/** @description An array of IDs for Objectives to which this Epic is related. */
objective_ids?: number[];
/** @description The Epic's name. */
name?: string;
/**
* Format: date-time
* @description The Epic's planned start date.
*/
planned_start_date?: string | null;
/**
* @description `Deprecated` The Epic's state (to do, in progress, or done); will be ignored when `epic_state_id` is set.
* @enum {string}
*/
state?: "in progress" | "to do" | "done";
/**
* Format: int64
* @description `Deprecated` The ID of the Milestone this Epic is related to. Use `objective_ids`.
*/
milestone_id?: number | null;
/**
* Format: uuid
* @description The ID of the member that requested the epic.
*/
requested_by_id?: string;
/**
* Format: int64
* @description The ID of the Epic State.
*/
epic_state_id?: number;
/**
* Format: date-time
* @description A manual override for the time/date the Epic was started.
*/
started_at_override?: string | null;
/**
* Format: uuid
* @description `Deprecated` The ID of the group to associate with the epic. Use `group_ids`.
*/
group_id?: string | null;
/** @description An array of UUIDs for any Members you want to add as Followers on this Epic. */
follower_ids?: string[];
/** @description An array of UUIDS for Groups to which this Epic is related. */
group_ids?: string[];
/** @description An array of UUIDs for any members you want to add as Owners on this Epic. */
owner_ids?: 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. */
external_id?: string;
/**
* Format: int64
* @description The ID of the Epic we want to move this Epic before.
*/
before_id?: number;
/**
* Format: int64
* @description The ID of the Epic we want to move this Epic after.
*/
after_id?: number;
/**
* Format: date-time
* @description The Epic's deadline.
*/
deadline?: string | null;
};
UpdateFile: {
/** @description The description of the file. */
description?: string;
/**
* Format: date-time
* @description The time/date that the file was uploaded.
*/
created_at?: string;
/**
* Format: date-time
* @description The time/date that the file was last updated.
*/
updated_at?: string;
/** @description The name of the file. */
name?: string;
/**
* Format: uuid
* @description The unique ID assigned to the Member who uploaded the file to Shortcut.
*/
uploader_id?: string;
/** @description An additional ID that you may wish to assign to the file. */
external_id?: string;
};
UpdateGroup: {
/** @description The description of this Group. */
description?: string;
/** @description Whether or not this Group is archived. */
archived?: boolean | null;
/**
* Format: css-color
* @description The color you wish to use for the Group in the system.
*/
color?: string | null;
/**
* Format: uuid
* @description The Icon id for the avatar of this Group.
*/
display_icon_id?: string | null;
/** @description The mention name of this Group. */
mention_name?: string;
/** @description The name of this Group. */
name?: string;
/**
* @description The color key you wish to use for the Group in the system.
* @enum {string}
*/
color_key?: "blue" | "purple" | "midnight-blue" | "orange" | "yellow-green" | "brass" | "gray" | "fuchsia" | "yellow" | "pink" | "sky-blue" | "green" | "red" | "black" | "slate" | "turquoise";
/**
* Format: int64
* @description The ID of the default workflow for stories created in this group.
*/
default_workflow_id?: number | null;
/** @description The Member ids to add to this Group. */
member_ids?: string[];
/** @description The Workflow ids to add to the Group. */
workflow_ids?: number[];
};
UpdateHealth: {
/**
* @description The health status of the Epic.
* @enum {string}
*/
status?: "At Risk" | "On Track" | "Off Track" | "No Health";
/** @description The description of the Health status. */
text?: string;
};
UpdateIteration: {
/** @description An array of UUIDs for any Members you want to add as Followers. */
follower_ids?: string[];
/** @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. */
group_ids?: string[];
/** @description An array of Labels attached to the Iteration. */
labels?: components["schemas"]["CreateLabelParams"][];
/** @description The description of the Iteration. */
description?: string;
/** @description The name of this Iteration */
name?: string;
/** @description The date this Iteration begins, e.g. 2019-07-01 */
start_date?: string;
/** @description The date this Iteration ends, e.g. 2019-07-05. */
end_date?: string;
};
UpdateKeyResult: {
/** @description The name of the Key Result. */
name?: string;
initial_observed_value?: components["schemas"]["KeyResultValue"];
observed_value?: components["schemas"]["KeyResultValue"];
target_value?: components["schemas"]["KeyResultValue"];
};
UpdateLabel: {
/** @description The new name of the label. */
name?: string;
/** @description The new description of the label. */
description?: string;
/**
* Format: css-color
* @description The hex color to be displayed with the Label (for example, "#ff0000").
*/
color?: string | null;
/** @description A true/false boolean indicating if the Label has been archived. */
archived?: boolean;
};
UpdateLinkedFile: {
/** @description The description of the file. */
description?: string;
/**
* Format: int64
* @description The ID of the linked story.
*/
story_id?: number;
/** @description The name of the file. */
name?: string;
/** @description The URL of the thumbnail, if the integration provided it. */
thumbnail_url?: string;
/**
* @description The integration type of the file (e.g. google, dropbox, box).
* @enum {string}
*/
type?: "google" | "url" | "dropbox" | "box" | "onedrive";
/**
* Format: int64
* @description The filesize, if the integration provided it.
*/
size?: number;
/**
* Format: uuid
* @description The UUID of the member that uploaded the file.
*/
uploader_id?: string;
/** @description The URL of linked file. */
url?: string;
};
UpdateMilestone: {
/** @description The Milestone's description. */
description?: string;
/** @description A boolean indicating whether the Milestone is archived or not */
archived?: boolean;
/**
* Format: date-time
* @description A manual override for the time/date the Milestone was completed.
*/
completed_at_override?: string | null;
/** @description The name of the Milestone. */
name?: string;
/**
* @description The workflow state that the Milestone is in.
* @enum {string}
*/
state?: "in progress" | "to do" | "done";
/**
* Format: date-time
* @description A manual override for the time/date the Milestone was started.
*/
started_at_override?: string | null;
/** @description An array of IDs of Categories attached to the Milestone. */
categories?: components["schemas"]["CreateCategoryParams"][];
/**
* Format: int64
* @description The ID of the Milestone we want to move this Milestone before.
*/
before_id?: number;
/**
* Format: int64
* @description The ID of the Milestone we want to move this Milestone after.
*/
after_id?: number;
};
UpdateObjective: {
/** @description The Objective's description. */
description?: string;
/** @description A boolean indicating whether the Objective is archived or not */
archived?: boolean;
/**
* Format: date-time
* @description A manual override for the time/date the Objective was completed.
*/
completed_at_override?: string | null;
/** @description The name of the Objective. */
name?: string;
/**
* @description The workflow state that the Objective is in.
* @enum {string}
*/
state?: "in progress" | "to do" | "done";
/**
* Format: date-time
* @description A manual override for the time/date the Objective was started.
*/
started_at_override?: string | null;
/** @description An array of IDs of Categories attached to the Objective. */
categories?: components["schemas"]["CreateCategoryParams"][];
/**
* Format: int64
* @description The ID of the Objective we want to move this Objective before.
*/
before_id?: number;
/**
* Format: int64
* @description The ID of the Objective we want to move this Objective after.
*/
after_id?: number;
};
UpdateProject: {
/** @description The Project's description. */
description?: string;
/** @description A true/false boolean indicating whether the Story is in archived state. */
archived?: boolean;
/**
* Format: int64
* @description The number of days before the thermometer appears in the Story summary.
*/
days_to_thermometer?: number;
/**
* Format: css-color
* @description The color that represents the Project in the UI.
*/
color?: string;
/** @description The Project's name. */
name?: string;
/** @description An array of UUIDs for any Members you want to add as Followers. */
follower_ids?: string[];
/** @description Configuration to enable or disable thermometers in the Story summary. */
show_thermometer?: boolean;
/**
* Format: int64
* @description The ID of the team the project belongs to.
*/
team_id?: number;
/** @description The Project abbreviation used in Story summaries. Should be kept to 3 characters at most. */
abbreviation?: string;
};
UpdateStories: {
/** @description If the Stories should be archived or not. */
archived?: boolean;
/** @description The Ids of the Stories you wish to update. */
story_ids: number[];
/**
* @description The type of story (feature, bug, chore).
* @enum {string}
*/
story_type?: "feature" | "chore" | "bug";
/**
* @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.
* @enum {string}
*/
move_to?: "last" | "first";
/** @description The UUIDs of the new followers to be added. */
follower_ids_add?: string[];
/**
* Format: int64
* @description The ID of the epic the story belongs to.
*/
epic_id?: number | null;
/** @description An array of External Links associated with this story. */
external_links?: string[];
/** @description The UUIDs of the followers to be removed. */
follower_ids_remove?: string[];
/**
* Format: uuid
* @description The ID of the member that requested the story.
*/
requested_by_id?: string;
/**
* Format: int64
* @description The ID of the iteration the story belongs to.
*/
iteration_id?: number | null;
/** @description A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
custom_fields_remove?: components["schemas"]["CustomFieldValueParams"][];
/** @description An array of labels to be added. */
labels_add?: components["schemas"]["CreateLabelParams"][];
/**
* Format: uuid
* @description The Id of the Group the Stories should belong to.
*/
group_id?: string | null;
/**
* Format: int64
* @description The ID of the workflow state to put the stories in.
*/
workflow_state_id?: number;
/**
* Format: int64
* @description The ID of the story that the stories are to be moved before.
*/
before_id?: number;
/**
* Format: int64
* @description The numeric point estimate of the story. Can also be null, which means unestimated.
*/
estimate?: number | null;
/**
* Format: int64
* @description The ID of the story that the stories are to be moved below.
*/
after_id?: number;
/** @description The UUIDs of the owners to be removed. */
owner_ids_remove?: string[];
/** @description A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
custom_fields_add?: components["schemas"]["CustomFieldValueParams"][];
/**
* Format: int64
* @description The ID of the Project the Stories should belong to.
*/
project_id?: number | null;
/** @description An array of labels to be removed. */
labels_remove?: components["schemas"]["CreateLabelParams"][];
/**
* Format: date-time
* @description The due date of the story.
*/
deadline?: string | null;
/** @description The UUIDs of the new owners to be added. */
owner_ids_add?: string[];
};
UpdateStory: {
/** @description The description of the story. */
description?: string;
/** @description True if the story is archived, otherwise false. */
archived?: boolean;
/** @description An array of labels attached to the story. */
labels?: components["schemas"]["CreateLabelParams"][];
/** @description An array of IDs of Pull/Merge Requests attached to the story. */
pull_request_ids?: number[];
/**
* @description The type of story (feature, bug, chore).
* @enum {string}
*/
story_type?: "feature" | "chore" | "bug";
/** @description A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
custom_fields?: components["schemas"]["CustomFieldValueParams"][];
/**
* @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.
* @enum {string}
*/
move_to?: "last" | "first";
/** @description An array of IDs of files attached to the story. */
file_ids?: number[];
/**
* Format: date-time
* @description A manual override for the time/date the Story was completed.
*/
completed_at_override?: string | null;
/** @description The title of the story. */
name?: string;
/**
* Format: int64
* @description The ID of the epic the story belongs to.
*/
epic_id?: number | null;
/** @description An array of External Links associated with this story. */
external_links?: string[];
/** @description An array of IDs of Branches attached to the story. */
branch_ids?: number[];
/** @description An array of IDs of Commits attached to the story. */
commit_ids?: number[];
/**
* Format: uuid
* @description The ID of the member that requested the story.
*/
requested_by_id?: string;
/**
* Format: int64
* @description The ID of the iteration the story belongs to.
*/
iteration_id?: number | null;
/**
* Format: date-time
* @description A manual override for the time/date the Story was started.
*/
started_at_override?: string | null;
/**
* Format: uuid
* @description The ID of the group to associate with this story
*/
group_id?: string | null;
/**
* Format: int64
* @description The ID of the workflow state to put the story in.
*/
workflow_state_id?: number;
/** @description An array of UUIDs of the followers of this story. */
follower_ids?: string[];
/** @description An array of UUIDs of the owners of this story. */
owner_ids?: string[];
/**
* Format: int64
* @description The parent story id. If you want to unset this value set parent_story_id to null.
*/
parent_story_id?: number | null;
/**
* Format: int64
* @description The ID of the story we want to move this story before.
*/
before_id?: number;
/**
* Format: int64
* @description The numeric point estimate of the story. Can also be null, which means unestimated.
*/
estimate?: number | null;
/**
* Format: int64
* @description The ID of the story we want to move this story after.
*/
after_id?: number;
/**
* Format: int64
* @description The ID of the project the story belongs to.
*/
project_id?: number | null;
/** @description An array of IDs of linked files attached to the story. */
linked_file_ids?: number[];
/**
* Format: date-time
* @description The due date of the story.
*/
deadline?: string | null;
};
UpdateStoryComment: {
/** @description The updated comment text. */
text: string;
};
/** @description Updated attributes for the template to populate. */
UpdateStoryContents: {
/** @description The description of the story. */
description?: string;
/** @description An array of labels to be populated by the template. */
labels?: components["schemas"]["CreateLabelParams"][];
/** @description The type of story (feature, bug, chore). */
story_type?: string;
/** @description An array of maps specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
custom_fields?: components["schemas"]["CustomFieldValueParams"][];
/** @description An array of the attached file IDs to be populated. */
file_ids?: number[];
/** @description The name of the story. */
name?: string;
/**
* Format: int64
* @description The ID of the epic the to be populated.
*/
epic_id?: number | null;
/** @description An array of external links to be populated. */
external_links?: string[];
/** @description An array of sub-tasks connected to the story */
sub_tasks?: components["schemas"]["CreateSubTaskParams"][];
/**
* Format: int64
* @description The ID of the iteration the to be populated.
*/
iteration_id?: number | null;
/** @description An array of tasks to be populated by the template. */
tasks?: components["schemas"]["BaseTaskParams"][];
/**
* Format: uuid
* @description The ID of the group to be populated.
*/
group_id?: string | null;
/**
* Format: int64
* @description The ID of the workflow state to be populated.
*/
workflow_state_id?: number | null;
/** @description An array of UUIDs for any Members listed as Followers. */
follower_ids?: string[];
/** @description An array of UUIDs of the owners of this story. */
owner_ids?: string[];
/**
* Format: int64
* @description The numeric point estimate to be populated.
*/
estimate?: number | null;
/**
* Format: int64
* @description The ID of the project the story belongs to.
*/
project_id?: number | null;
/** @description An array of the linked file IDs to be populated. */
linked_file_ids?: number[];
/**
* Format: date-time
* @description The due date of the story.
*/
deadline?: string | null;
};
UpdateStoryLink: {
/**
* @description The type of link.
* @enum {string}
*/
verb?: "blocks" | "duplicates" | "relates to";
/**
* Format: int64
* @description The ID of the subject Story.
*/
subject_id?: number;
/**
* Format: int64
* @description The ID of the object Story.
*/
object_id?: number;
};
UpdateTask: {
/** @description The Task's description. */
description?: string;
/** @description An array of UUIDs of the owners of this story. */
owner_ids?: string[];
/** @description A true/false boolean indicating whether the task is complete. */
complete?: boolean;
/**
* Format: int64
* @description Move task before this task ID.
*/
before_id?: number;
/**
* Format: int64
* @description Move task after this task ID.
*/
after_id?: number;
};
/** @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. */
UploadedFile: {
/** @description The description of the file. */
description: string | null;
/** @description A string description of this resource. */
entity_type: string;
/** @description The unique IDs of the Stories associated with this file. */
story_ids: number[];
/** @description `Deprecated:` use `member_mention_ids`. */
mention_ids: string[];
/** @description The unique IDs of the Members who are mentioned in the file description. */
member_mention_ids: string[];
/** @description The optional User-specified name of the file. */
name: string;
/** @description The url where the thumbnail of the file can be found in Shortcut. */
thumbnail_url: string | null;
/**
* Format: int64
* @description The size of the file.
*/
size: number;
/**
* Format: uuid
* @description The unique ID of the Member who uploaded the file.
*/
uploader_id: string;
/** @description Free form string corresponding to a text or image file. */
content_type: string;
/**
* Format: date-time
* @description The time/date that the file was updated.
*/
updated_at: string | null;
/** @description The name assigned to the file in Shortcut upon upload. */
filename: string;
/** @description The unique IDs of the Groups who are mentioned in the file description. */
group_mention_ids: string[];
/** @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. */
external_id: string | null;
/**
* Format: int64
* @description The unique ID for the file.
*/
id: number;
/** @description The URL for the file. */
url: string | null;
/**
* Format: date-time
* @description The time/date that the file was created.
*/
created_at: string;
};
/** @description Workflow is the array of defined Workflow States. Workflow can be queried using the API but must be updated in the Shortcut UI. */
Workflow: {
/** @description A description of the workflow. */
description: string;
/** @description A string description of this resource. */
entity_type: string;
/** @description An array of IDs of projects within the Workflow. */
project_ids: number[];
/** @description A map of the states in this Workflow. */
states: components["schemas"]["WorkflowState"][];
/** @description The name of the workflow. */
name: string;
/**
* Format: date-time
* @description The date the Workflow was updated.
*/
updated_at: string;
/** @description Indicates if an owner is automatically assigned when an unowned story is started. */
auto_assign_owner: boolean;
/**
* Format: int64
* @description The unique ID of the Workflow.
*/
id: number;
/**
* Format: int64
* @description The ID of the team the workflow belongs to.
*/
team_id: number;
/**
* Format: date-time
* @description The date the Workflow was created.
*/
created_at: string;
/**
* Format: int64
* @description The unique ID of the default state that new Stories are entered into.
*/
default_state_id: number;
};
/** @description Workflow State is any of the at least 3 columns. Workflow States correspond to one of 3 types: Unstarted, Started, or Done. */
WorkflowState: {
/** @description The description of what sort of Stories belong in that Workflow state. */
description: string;
/** @description A string description of this resource. */
entity_type: string;
/**
* Format: css-color
* @description The hex color for this Workflow State.
*/
color?: string;
/** @description The verb that triggers a move to that Workflow State when making VCS commits. */
verb: string | null;
/** @description The Workflow State's name. */
name: string;
global_id: string;
/**
* Format: int64
* @description The number of Stories currently in that Workflow State.
*/
num_stories: number;
/** @description The type of Workflow State (Unstarted, Started, or Finished) */
type: string;
/**
* Format: date-time
* @description When the Workflow State was last updated.
*/
updated_at: string;
/**
* Format: int64
* @description The unique ID of the Workflow State.
*/
id: number;
/**
* Format: int64
* @description The number of Story Templates associated with that Workflow State.
*/
num_story_templates: number;
/**
* Format: int64
* @description The position that the Workflow State is in, starting with 0 at the left.
*/
position: number;
/**
* Format: date-time
* @description The time/date the Workflow State was created.
*/
created_at: string;
};
};
responses: never;
parameters: never;
requestBodies: {
CreateOrDeleteStoryReaction: {
content: {
"application/json": components["schemas"]["CreateOrDeleteStoryReaction"];
};
};
};
headers: never;
pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
listCategories: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Category"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createCategory: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateCategory"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Category"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getCategory: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Category. */
"category-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Category"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateCategory: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Category you wish to update. */
"category-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateCategory"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Category"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteCategory: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Category. */
"category-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listCategoryMilestones: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Category. */
"category-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Milestone"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listCategoryObjectives: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Category. */
"category-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Milestone"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listCustomFields: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["CustomField"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getCustomField: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the CustomField. */
"custom-field-public-id": string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["CustomField"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateCustomField: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the CustomField. */
"custom-field-public-id": string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateCustomField"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["CustomField"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
409: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["DataConflictError"];
};
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteCustomField: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the CustomField. */
"custom-field-public-id": string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listDocs: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["DocSlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["DisabledFeatureError"];
};
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createDoc: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateDoc"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["DocSlim"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["DisabledFeatureError"];
};
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listEntityTemplates: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["EntityTemplate"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createEntityTemplate: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** @description Request parameters for creating an entirely new entity template. */
requestBody: {
content: {
"application/json": components["schemas"]["CreateEntityTemplate"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["EntityTemplate"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
disableStoryTemplates: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
enableStoryTemplates: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getEntityTemplate: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the entity template. */
"entity-template-public-id": string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["EntityTemplate"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateEntityTemplate: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the template to be updated. */
"entity-template-public-id": string;
};
cookie?: never;
};
/** @description Request parameters for changing either a template's name or any of
* the attributes it is designed to pre-populate. */
requestBody: {
content: {
"application/json": components["schemas"]["UpdateEntityTemplate"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["EntityTemplate"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteEntityTemplate: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the entity template. */
"entity-template-public-id": string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getEpicWorkflow: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["EpicWorkflow"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listEpics: {
parameters: {
query?: {
/** @description A true/false boolean indicating whether to return Epics with their descriptions. */
includes_description?: boolean;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["EpicSlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createEpic: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateEpic"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Epic"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listEpicsPaginated: {
parameters: {
query?: {
/** @description A true/false boolean indicating whether to return Epics with their descriptions. */
includes_description?: boolean;
/** @description The page number to return, starting with 1. Defaults to 1. */
page?: number;
/** @description The number of Epics to return per page. Minimum 1, maximum 250, default 10. */
page_size?: number;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["EpicPaginatedResults"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getEpic: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Epic. */
"epic-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Epic"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateEpic: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Epic. */
"epic-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateEpic"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Epic"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteEpic: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Epic. */
"epic-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listEpicComments: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Epic. */
"epic-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ThreadedComment"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createEpicComment: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the associated Epic. */
"epic-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateEpicComment"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ThreadedComment"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getEpicComment: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the associated Epic. */
"epic-public-id": number;
/** @description The ID of the Comment. */
"comment-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ThreadedComment"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateEpicComment: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the associated Epic. */
"epic-public-id": number;
/** @description The ID of the Comment. */
"comment-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateComment"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ThreadedComment"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createEpicCommentComment: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the associated Epic. */
"epic-public-id": number;
/** @description The ID of the parent Epic Comment. */
"comment-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateCommentComment"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ThreadedComment"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteEpicComment: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the associated Epic. */
"epic-public-id": number;
/** @description The ID of the Comment. */
"comment-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getEpicHealth: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Epic. */
"epic-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Health"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createEpicHealth: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Epic. */
"epic-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateEpicHealth"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Health"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listEpicHealths: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Epic. */
"epic-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Health"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listEpicStories: {
parameters: {
query?: {
/** @description A true/false boolean indicating whether to return Stories with their descriptions. */
includes_description?: boolean;
};
header?: never;
path: {
/** @description The unique ID of the Epic. */
"epic-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StorySlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
unlinkProductboardFromEpic: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Epic. */
"epic-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getExternalLinkStories: {
parameters: {
query: {
/** @description The external link associated with one or more stories. */
external_link: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StorySlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listFiles: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UploadedFile"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
uploadFiles: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: {
content: {
"multipart/form-data": {
/**
* Format: int64
* @description The story ID that these files will be associated with.
*/
story_id?: number;
/**
* Format: binary
* @description A file upload. At least one is required.
*/
file0: string;
/**
* Format: binary
* @description Optional additional files.
*/
file1?: string;
/**
* Format: binary
* @description Optional additional files.
*/
file2?: string;
/**
* Format: binary
* @description Optional additional files.
*/
file3?: string;
};
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UploadedFile"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getFile: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The File’s unique ID. */
"file-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UploadedFile"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateFile: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID assigned to the file in Shortcut. */
"file-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateFile"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UploadedFile"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteFile: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The File’s unique ID. */
"file-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listGroups: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Group"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createGroup: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateGroup"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Group"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UnusableEntitlementError"];
};
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getGroup: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Group. */
"group-public-id": string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Group"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateGroup: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Group. */
"group-public-id": string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateGroup"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Group"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UnusableEntitlementError"];
};
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listGroupStories: {
parameters: {
query?: {
/** @description The maximum number of results to return. (Defaults to 1000, max 1000) */
limit?: number;
/** @description The offset at which to begin returning results. (Defaults to 0) */
offset?: number;
};
header?: never;
path: {
/** @description The unique ID of the Group. */
"group-public-id": string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StorySlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateHealth: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Health record. */
"health-public-id": string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateHealth"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Health"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createGenericIntegration: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateGenericIntegration"];
};
};
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getGenericIntegration: {
parameters: {
query?: never;
header?: never;
path: {
"integration-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteGenericIntegration: {
parameters: {
query?: never;
header?: never;
path: {
"integration-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listIterations: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["IterationSlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createIteration: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateIteration"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Iteration"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
disableIterations: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
enableIterations: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getIteration: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Iteration. */
"iteration-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Iteration"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateIteration: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Iteration. */
"iteration-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateIteration"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Iteration"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteIteration: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Iteration. */
"iteration-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listIterationStories: {
parameters: {
query?: {
/** @description A true/false boolean indicating whether to return Stories with their descriptions. */
includes_description?: boolean;
};
header?: never;
path: {
/** @description The unique ID of the Iteration. */
"iteration-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StorySlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getKeyResult: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Key Result. */
"key-result-public-id": string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["KeyResult"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateKeyResult: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Key Result. */
"key-result-public-id": string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateKeyResult"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["KeyResult"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listLabels: {
parameters: {
query?: {
/** @description A true/false boolean indicating if the slim versions of the Label should be returned. */
slim?: boolean;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Label"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createLabel: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** @description Request parameters for creating a Label on a Shortcut Story. */
requestBody: {
content: {
"application/json": components["schemas"]["CreateLabelParams"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Label"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getLabel: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Label. */
"label-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Label"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateLabel: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Label you wish to update. */
"label-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateLabel"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Label"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteLabel: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Label. */
"label-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listLabelEpics: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Label. */
"label-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["EpicSlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listLabelStories: {
parameters: {
query?: {
/** @description A true/false boolean indicating whether to return Stories with their descriptions. */
includes_description?: boolean;
};
header?: never;
path: {
/** @description The unique ID of the Label. */
"label-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StorySlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listLinkedFiles: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["LinkedFile"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createLinkedFile: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateLinkedFile"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["LinkedFile"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getLinkedFile: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique identifier of the linked file. */
"linked-file-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["LinkedFile"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateLinkedFile: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique identifier of the linked file. */
"linked-file-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateLinkedFile"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["LinkedFile"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteLinkedFile: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique identifier of the linked file. */
"linked-file-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getCurrentMemberInfo: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["MemberInfo"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listMembers: {
parameters: {
query?: {
/** @description The unique ID of the Organization to limit the list to. */
"org-public-id"?: string;
/** @description Filter members by their disabled state. If true, return only disabled members. If false, return only enabled members. */
disabled?: boolean;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Member"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getMember: {
parameters: {
query?: {
/** @description The unique ID of the Organization to limit the lookup to. */
"org-public-id"?: string;
};
header?: never;
path: {
/** @description The Member's unique ID. */
"member-public-id": string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Member"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listMilestones: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Milestone"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createMilestone: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateMilestone"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Milestone"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UnusableEntitlementError"];
};
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getMilestone: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Milestone. */
"milestone-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Milestone"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateMilestone: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Milestone. */
"milestone-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateMilestone"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Milestone"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteMilestone: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Milestone. */
"milestone-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listMilestoneEpics: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Milestone. */
"milestone-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["EpicSlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listObjectives: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Objective"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createObjective: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateObjective"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Objective"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UnusableEntitlementError"];
};
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getObjective: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Objective. */
"objective-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Objective"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateObjective: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Objective. */
"objective-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateObjective"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Objective"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteObjective: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Objective. */
"objective-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listObjectiveEpics: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Objective. */
"objective-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["EpicSlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listProjects: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Project"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createProject: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateProject"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Project"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getProject: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Project. */
"project-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Project"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateProject: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Project. */
"project-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateProject"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Project"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteProject: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Project. */
"project-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listStories: {
parameters: {
query?: {
/** @description A true/false boolean indicating whether to return Stories with their descriptions. */
includes_description?: boolean;
};
header?: never;
path: {
/** @description The unique ID of the Project. */
"project-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StorySlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listRepositories: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Repository"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getRepository: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Repository. */
"repo-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Repository"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
search: {
parameters: {
query: {
/** @description See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) */
query: string;
/** @description The number of search results to include in a page. Minimum of 1 and maximum of 250. */
page_size?: number;
/** @description 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". */
detail?: "full" | "slim";
/** @description The next page token. */
next?: string;
/** @description A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story. */
entity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[];
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["SearchResults"];
};
};
/** @description **Either:** (1) Schema mismatch **or** (2) Maximum of 1000 search results exceeded */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["MaxSearchResultsExceededError"];
};
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
searchEpics: {
parameters: {
query: {
/** @description See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) */
query: string;
/** @description The number of search results to include in a page. Minimum of 1 and maximum of 250. */
page_size?: number;
/** @description 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". */
detail?: "full" | "slim";
/** @description The next page token. */
next?: string;
/** @description A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story. */
entity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[];
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["EpicSearchResults"];
};
};
/** @description **Either:** (1) Schema mismatch **or** (2) Maximum of 1000 search results exceeded */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["MaxSearchResultsExceededError"];
};
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
searchIterations: {
parameters: {
query: {
/** @description See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) */
query: string;
/** @description The number of search results to include in a page. Minimum of 1 and maximum of 250. */
page_size?: number;
/** @description 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". */
detail?: "full" | "slim";
/** @description The next page token. */
next?: string;
/** @description A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story. */
entity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[];
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["IterationSearchResults"];
};
};
/** @description **Either:** (1) Schema mismatch **or** (2) Maximum of 1000 search results exceeded */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["MaxSearchResultsExceededError"];
};
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
searchMilestones: {
parameters: {
query: {
/** @description See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) */
query: string;
/** @description The number of search results to include in a page. Minimum of 1 and maximum of 250. */
page_size?: number;
/** @description 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". */
detail?: "full" | "slim";
/** @description The next page token. */
next?: string;
/** @description A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story. */
entity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[];
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ObjectiveSearchResults"];
};
};
/** @description **Either:** (1) Schema mismatch **or** (2) Maximum of 1000 search results exceeded */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["MaxSearchResultsExceededError"];
};
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
searchObjectives: {
parameters: {
query: {
/** @description See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) */
query: string;
/** @description The number of search results to include in a page. Minimum of 1 and maximum of 250. */
page_size?: number;
/** @description 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". */
detail?: "full" | "slim";
/** @description The next page token. */
next?: string;
/** @description A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story. */
entity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[];
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ObjectiveSearchResults"];
};
};
/** @description **Either:** (1) Schema mismatch **or** (2) Maximum of 1000 search results exceeded */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["MaxSearchResultsExceededError"];
};
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
searchStories: {
parameters: {
query: {
/** @description See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) */
query: string;
/** @description The number of search results to include in a page. Minimum of 1 and maximum of 250. */
page_size?: number;
/** @description 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". */
detail?: "full" | "slim";
/** @description The next page token. */
next?: string;
/** @description A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story. */
entity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[];
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StorySearchResults"];
};
};
/** @description **Either:** (1) Schema mismatch **or** (2) Maximum of 1000 search results exceeded */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["MaxSearchResultsExceededError"];
};
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createStory: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** @description Request parameters for creating a story. */
requestBody: {
content: {
"application/json": components["schemas"]["CreateStoryParams"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Story"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateMultipleStories: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateStories"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StorySlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createMultipleStories: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateStories"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StorySlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteMultipleStories: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["DeleteStories"];
};
};
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createStoryFromTemplate: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** @description Request parameters for creating a story from a story template. These parameters are merged with the values derived from the template. */
requestBody: {
content: {
"application/json": components["schemas"]["CreateStoryFromTemplateParams"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Story"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
searchStoriesOld: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["SearchStories"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StorySlim"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getStory: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Story. */
"story-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Story"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateStory: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique identifier of this story. */
"story-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateStory"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Story"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteStory: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Story. */
"story-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listStoryComment: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Story that the Comment is in. */
"story-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StoryComment"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createStoryComment: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Story that the Comment is in. */
"story-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateStoryComment"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StoryComment"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getStoryComment: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Story that the Comment is in. */
"story-public-id": number;
/** @description The ID of the Comment. */
"comment-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StoryComment"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateStoryComment: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Story that the Comment is in. */
"story-public-id": number;
/** @description The ID of the Comment */
"comment-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateStoryComment"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StoryComment"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteStoryComment: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Story that the Comment is in. */
"story-public-id": number;
/** @description The ID of the Comment. */
"comment-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createStoryReaction: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Story that the Comment is in. */
"story-public-id": number;
/** @description The ID of the Comment. */
"comment-public-id": number;
};
cookie?: never;
};
requestBody: components["requestBodies"]["CreateOrDeleteStoryReaction"];
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StoryReaction"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteStoryReaction: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Story that the Comment is in. */
"story-public-id": number;
/** @description The ID of the Comment. */
"comment-public-id": number;
};
cookie?: never;
};
requestBody: components["requestBodies"]["CreateOrDeleteStoryReaction"];
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
unlinkCommentThreadFromSlack: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Story to unlink. */
"story-public-id": number;
/** @description The ID of the Comment to unlink. */
"comment-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StoryComment"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
storyHistory: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Story. */
"story-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["History"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createTask: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Story that the Task will be in. */
"story-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateTask"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Task"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getTask: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Story this Task is associated with. */
"story-public-id": number;
/** @description The unique ID of the Task. */
"task-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Task"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateTask: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique identifier of the parent Story. */
"story-public-id": number;
/** @description The unique identifier of the Task you wish to update. */
"task-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateTask"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Task"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteTask: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Story this Task is associated with. */
"story-public-id": number;
/** @description The unique ID of the Task. */
"task-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
createStoryLink: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateStoryLink"];
};
};
responses: {
/** @description Resource */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StoryLink"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getStoryLink: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Story Link. */
"story-link-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StoryLink"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateStoryLink: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Story Link. */
"story-link-public-id": number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateStoryLink"];
};
};
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StoryLink"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteStoryLink: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The unique ID of the Story Link. */
"story-link-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listWorkflows: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Workflow"][];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getWorkflow: {
parameters: {
query?: never;
header?: never;
path: {
/** @description The ID of the Workflow. */
"workflow-public-id": number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Resource */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Workflow"];
};
};
/** @description Schema mismatch */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Resource does not exist */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Unprocessable */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
}