Class ShortcutClient<SecurityDataType>

Type Parameters

  • SecurityDataType = unknown

Hierarchy

Constructors

Properties

Methods

createCategory createEntityTemplate createEpic createEpicComment createEpicCommentComment createFormData createGroup createIteration createLabel createLinkedFile createMilestone createMultipleStories createObjective createProject createStory createStoryComment createStoryFromTemplate createStoryLink createStoryReaction createTask deleteCategory deleteCustomField deleteEntityTemplate deleteEpic deleteEpicComment deleteFile deleteIteration deleteLabel deleteLinkedFile deleteMilestone deleteMultipleStories deleteObjective deleteProject deleteStory deleteStoryComment deleteStoryLink deleteStoryReaction deleteTask disableGroups disableIterations disableStoryTemplates enableGroups enableIterations enableStoryTemplates getCategory getCurrentMemberInfo getCustomField getEntityTemplate getEpic getEpicComment getEpicWorkflow getExternalLinkStories getFile getGroup getIteration getKeyResult getLabel getLinkedFile getMember getMilestone getObjective getProject getRepository getStory getStoryComment getStoryLink getTask getWorkflow listCategories listCategoryMilestones listCategoryObjectives listCustomFields listEntityTemplates listEpicComments listEpics listEpicStories listFiles listGroups listGroupStories listIterations listIterationStories listLabelEpics listLabels listLabelStories listLinkedFiles listMembers listMilestoneEpics listMilestones listObjectiveEpics listObjectives listProjects listRepositories listStories listStoryComment listWorkflows mergeRequestParams request search searchEpics searchIterations searchMilestones searchObjectives searchStories searchStoriesOld setSecurityData storyHistory stringifyFormItem unlinkCommentThreadFromSlack unlinkProductboardFromEpic updateCategory updateCustomField updateEntityTemplate updateEpic updateEpicComment updateFile updateGroup updateIteration updateKeyResult updateLabel updateLinkedFile updateMilestone updateMultipleStories updateObjective updateProject updateStory updateStoryComment updateStoryLink updateTask uploadFiles

Constructors

Properties

instance: AxiosInstance

Methods

  • Parameters

    Returns Promise<AxiosResponse<Category, any>>

    Create Category allows you to create a new Category in Shortcut.

    CreateCategory

    POST:/api/v3/categories

  • Parameters

    Returns Promise<AxiosResponse<EntityTemplate, any>>

    Create a new entity template for the Workspace.

    CreateEntityTemplate

    POST:/api/v3/entity-templates

  • Parameters

    Returns Promise<AxiosResponse<Epic, any>>

    Create Epic allows you to create a new Epic in Shortcut.

    CreateEpic

    POST:/api/v3/epics

  • Parameters

    Returns Promise<AxiosResponse<ThreadedComment, any>>

    This endpoint allows you to create a threaded Comment on an Epic.

    CreateEpicComment

    POST:/api/v3/epics/{epic-public-id}/comments

  • Parameters

    • epicPublicId: number
    • commentPublicId: number
    • CreateCommentComment: CreateCommentComment
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<ThreadedComment, any>>

    This endpoint allows you to create a nested Comment reply to an existing Epic Comment.

    CreateEpicCommentComment

    POST:/api/v3/epics/{epic-public-id}/comments/{comment-public-id}

  • Parameters

    • input: Record<string, unknown>

    Returns FormData

  • No description

    Parameters

    Returns Promise<AxiosResponse<Group, any>>

    CreateGroup

    POST:/api/v3/groups

  • No description

    Parameters

    Returns Promise<AxiosResponse<Iteration, any>>

    CreateIteration

    POST:/api/v3/iterations

  • Parameters

    Returns Promise<AxiosResponse<Label, any>>

    Create Label allows you to create a new Label in Shortcut.

    CreateLabel

    POST:/api/v3/labels

  • Parameters

    Returns Promise<AxiosResponse<LinkedFile, any>>

    Create Linked File allows you to create a new Linked File in Shortcut.

    CreateLinkedFile

    POST:/api/v3/linked-files

  • Parameters

    Returns Promise<AxiosResponse<Milestone, any>>

    (Deprecated: Use 'Create Objective') Create Milestone allows you to create a new Milestone in Shortcut.

    CreateMilestone

    POST:/api/v3/milestones

  • Parameters

    Returns Promise<AxiosResponse<StorySlim[], any>>

    Create Multiple Stories allows you to create multiple stories in a single request using the same syntax as Create Story.

    CreateMultipleStories

    POST:/api/v3/stories/bulk

  • Parameters

    Returns Promise<AxiosResponse<Objective, any>>

    Create Objective allows you to create a new Objective in Shortcut.

    CreateObjective

    POST:/api/v3/objectives

  • Parameters

    Returns Promise<AxiosResponse<Project, any>>

    Create Project is used to create a new Shortcut Project.

    CreateProject

    POST:/api/v3/projects

  • Parameters

    Returns Promise<AxiosResponse<Story, any>>

    Create Story is used to add a new story to your Shortcut Workspace.

    CreateStory

    POST:/api/v3/stories

  • Parameters

    Returns Promise<AxiosResponse<StoryComment, any>>

    Create Comment allows you to create a Comment on any Story.

    CreateStoryComment

    POST:/api/v3/stories/{story-public-id}/comments

  • Parameters

    Returns Promise<AxiosResponse<Story, any>>

    Create Story From Template is used to add a new story derived from a template to your Shortcut Workspace.

    CreateStoryFromTemplate

    POST:/api/v3/stories/from-template

  • Parameters

    Returns Promise<AxiosResponse<StoryLink, any>>

    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”

    CreateStoryLink

    POST:/api/v3/story-links

  • Parameters

    Returns Promise<AxiosResponse<StoryReaction[], any>>

    Create a reaction to a story comment.

    CreateStoryReaction

    POST:/api/v3/stories/{story-public-id}/comments/{comment-public-id}/reactions

  • Parameters

    • storyPublicId: number
    • CreateTask: CreateTask
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Task, any>>

    Create Task is used to create a new task in a Story.

    CreateTask

    POST:/api/v3/stories/{story-public-id}/tasks

  • Parameters

    • categoryPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Delete Category can be used to delete any Category.

    DeleteCategory

    DELETE:/api/v3/categories/{category-public-id}

  • No description

    Parameters

    • customFieldPublicId: string
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    DeleteCustomField

    DELETE:/api/v3/custom-fields/{custom-field-public-id}

  • No description

    Parameters

    • entityTemplatePublicId: string
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    DeleteEntityTemplate

    DELETE:/api/v3/entity-templates/{entity-template-public-id}

  • Parameters

    • epicPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Delete Epic can be used to delete the Epic. The only required parameter is Epic ID.

    DeleteEpic

    DELETE:/api/v3/epics/{epic-public-id}

  • Parameters

    • epicPublicId: number
    • commentPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    This endpoint allows you to delete a Comment from an Epic.

    DeleteEpicComment

    DELETE:/api/v3/epics/{epic-public-id}/comments/{comment-public-id}

  • Parameters

    • filePublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Delete File deletes a previously uploaded file.

    DeleteFile

    DELETE:/api/v3/files/{file-public-id}

  • No description

    Parameters

    • iterationPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    DeleteIteration

    DELETE:/api/v3/iterations/{iteration-public-id}

  • Parameters

    • labelPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Delete Label can be used to delete any Label.

    DeleteLabel

    DELETE:/api/v3/labels/{label-public-id}

  • Parameters

    • linkedFilePublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Delete Linked File can be used to delete any previously attached Linked-File.

    DeleteLinkedFile

    DELETE:/api/v3/linked-files/{linked-file-public-id}

  • Parameters

    • milestonePublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    (Deprecated: Use 'Delete Objective') Delete Milestone can be used to delete any Milestone.

    DeleteMilestone

    DELETE:/api/v3/milestones/{milestone-public-id}

  • Parameters

    Returns Promise<AxiosResponse<void, any>>

    Delete Multiple Stories allows you to delete multiple archived stories at once.

    DeleteMultipleStories

    DELETE:/api/v3/stories/bulk

  • Parameters

    • objectivePublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Delete Objective can be used to delete any Objective.

    DeleteObjective

    DELETE:/api/v3/objectives/{objective-public-id}

  • Parameters

    • projectPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    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.

    DeleteProject

    DELETE:/api/v3/projects/{project-public-id}

  • Parameters

    • storyPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Delete Story can be used to delete any Story.

    DeleteStory

    DELETE:/api/v3/stories/{story-public-id}

  • Parameters

    • storyPublicId: number
    • commentPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Delete a Comment from any story.

    DeleteStoryComment

    DELETE:/api/v3/stories/{story-public-id}/comments/{comment-public-id}

  • Parameters

    • storyLinkPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Removes the relationship between the stories for the given Story Link.

    DeleteStoryLink

    DELETE:/api/v3/story-links/{story-link-public-id}

  • Parameters

    Returns Promise<AxiosResponse<void, any>>

    Delete a reaction from any story comment.

    DeleteStoryReaction

    DELETE:/api/v3/stories/{story-public-id}/comments/{comment-public-id}/reactions

  • Parameters

    • storyPublicId: number
    • taskPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Delete Task can be used to delete any previously created Task on a Story.

    DeleteTask

    DELETE:/api/v3/stories/{story-public-id}/tasks/{task-public-id}

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Disables Groups for the current workspace2

    DisableGroups

    PUT:/api/v3/groups/disable

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Disables Iterations for the current workspace

    DisableIterations

    PUT:/api/v3/iterations/disable

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Disables the Story Template feature for the Workspace.

    DisableStoryTemplates

    PUT:/api/v3/entity-templates/disable

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Enables Groups for the current workspace2

    EnableGroups

    PUT:/api/v3/groups/enable

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Enables Iterations for the current workspace

    EnableIterations

    PUT:/api/v3/iterations/enable

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    Enables the Story Template feature for the Workspace.

    EnableStoryTemplates

    PUT:/api/v3/entity-templates/enable

  • Parameters

    • categoryPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Category, any>>

    Get Category returns information about the selected Category.

    GetCategory

    GET:/api/v3/categories/{category-public-id}

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<MemberInfo, any>>

    Returns information about the authenticated member.

    GetCurrentMemberInfo

    GET:/api/v3/member

  • No description

    Parameters

    • customFieldPublicId: string
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<CustomField, any>>

    GetCustomField

    GET:/api/v3/custom-fields/{custom-field-public-id}

  • Parameters

    • entityTemplatePublicId: string
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<EntityTemplate, any>>

    Get Entity Template returns information about a given entity template.

    GetEntityTemplate

    GET:/api/v3/entity-templates/{entity-template-public-id}

  • Parameters

    • epicPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Epic, any>>

    Get Epic returns information about the selected Epic.

    GetEpic

    GET:/api/v3/epics/{epic-public-id}

  • Parameters

    • epicPublicId: number
    • commentPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<ThreadedComment, any>>

    This endpoint returns information about the selected Epic Comment.

    GetEpicComment

    GET:/api/v3/epics/{epic-public-id}/comments/{comment-public-id}

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<EpicWorkflow, any>>

    Returns the Epic Workflow for the Workspace.

    GetEpicWorkflow

    GET:/api/v3/epic-workflow

  • Parameters

    • query: { external_link: string }
      • external_link: string

        The external link associated with one or more stories.

        2048

        ^https?://.+$

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<StorySlim[], any>>

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

    GetExternalLinkStories

    GET:/api/v3/external-link/stories

  • Parameters

    • filePublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<UploadedFile, any>>

    Get File returns information about the selected UploadedFile.

    GetFile

    GET:/api/v3/files/{file-public-id}

  • No description

    Parameters

    • groupPublicId: string
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Group, any>>

    GetGroup

    GET:/api/v3/groups/{group-public-id}

  • No description

    Parameters

    • iterationPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Iteration, any>>

    GetIteration

    GET:/api/v3/iterations/{iteration-public-id}

  • Parameters

    • keyResultPublicId: string
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<KeyResult, any>>

    Get Key Result returns information about a chosen Key Result.

    GetKeyResult

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

  • Parameters

    • labelPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Label, any>>

    Get Label returns information about the selected Label.

    GetLabel

    GET:/api/v3/labels/{label-public-id}

  • Parameters

    • linkedFilePublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<LinkedFile, any>>

    Get File returns information about the selected Linked File.

    GetLinkedFile

    GET:/api/v3/linked-files/{linked-file-public-id}

  • Parameters

    • memberPublicId: string
    • Optionalquery: { "org-public-id"?: string }
      • Optionalorg-public-id?: string

        The unique ID of the Organization to limit the lookup to.

        uuid

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Member, any>>

    Returns information about a Member.

    GetMember

    GET:/api/v3/members/{member-public-id}

  • Parameters

    • milestonePublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Milestone, any>>

    (Deprecated: Use 'Get Objective') Get Milestone returns information about a chosen Milestone.

    GetMilestone

    GET:/api/v3/milestones/{milestone-public-id}

  • Parameters

    • objectivePublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Objective, any>>

    Get Objective returns information about a chosen Objective.

    GetObjective

    GET:/api/v3/objectives/{objective-public-id}

  • Parameters

    • projectPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Project, any>>

    Get Project returns information about the selected Project.

    GetProject

    GET:/api/v3/projects/{project-public-id}

  • Parameters

    • repoPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Repository, any>>

    Get Repository returns information about the selected Repository.

    GetRepository

    GET:/api/v3/repositories/{repo-public-id}

  • Parameters

    • storyPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Story, any>>

    Get Story returns information about a chosen Story.

    GetStory

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

  • Parameters

    • storyPublicId: number
    • commentPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<StoryComment, any>>

    Get Comment is used to get Comment information.

    GetStoryComment

    GET:/api/v3/stories/{story-public-id}/comments/{comment-public-id}

  • Parameters

    • storyLinkPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<StoryLink, any>>

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

    GetStoryLink

    GET:/api/v3/story-links/{story-link-public-id}

  • Parameters

    • storyPublicId: number
    • taskPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Task, any>>

    Returns information about a chosen Task.

    GetTask

    GET:/api/v3/stories/{story-public-id}/tasks/{task-public-id}

  • Parameters

    • workflowPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Workflow, any>>

    Get Workflow returns information about a chosen Workflow.

    GetWorkflow

    GET:/api/v3/workflows/{workflow-public-id}

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Category[], any>>

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

    ListCategories

    GET:/api/v3/categories

  • Parameters

    • categoryPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Milestone[], any>>

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

    ListCategoryMilestones

    GET:/api/v3/categories/{category-public-id}/milestones

  • Parameters

    • categoryPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Milestone[], any>>

    Returns a list of all Objectives with the Category.

    ListCategoryObjectives

    GET:/api/v3/categories/{category-public-id}/objectives

  • No description

    Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<CustomField[], any>>

    ListCustomFields

    GET:/api/v3/custom-fields

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<EntityTemplate[], any>>

    List all the entity templates for the Workspace.

    ListEntityTemplates

    GET:/api/v3/entity-templates

  • Parameters

    • epicPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<ThreadedComment[], any>>

    Get a list of all Comments on an Epic.

    ListEpicComments

    GET:/api/v3/epics/{epic-public-id}/comments

  • Parameters

    • Optionalquery: { includes_description?: boolean }
      • Optionalincludes_description?: boolean

        A true/false boolean indicating whether to return Epics with their descriptions.

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<EpicSlim[], any>>

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

    ListEpics

    GET:/api/v3/epics

  • Parameters

    • epicPublicId: number
    • Optionalquery: { includes_description?: boolean }
      • Optionalincludes_description?: boolean

        A true/false boolean indicating whether to return Stories with their descriptions.

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<StorySlim[], any>>

    Get a list of all Stories in an Epic.

    ListEpicStories

    GET:/api/v3/epics/{epic-public-id}/stories

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<UploadedFile[], any>>

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

    ListFiles

    GET:/api/v3/files

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Group[], any>>

    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.

    ListGroups

    GET:/api/v3/groups

  • Parameters

    • groupPublicId: string
    • Optionalquery: { limit?: number; offset?: number }
      • Optionallimit?: number

        The maximum number of results to return. (Defaults to 1000, max 1000)

        int64

      • Optionaloffset?: number

        The offset at which to begin returning results. (Defaults to 0)

        int64

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<StorySlim[], any>>

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

    ListGroupStories

    GET:/api/v3/groups/{group-public-id}/stories

  • No description

    Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<IterationSlim[], any>>

    ListIterations

    GET:/api/v3/iterations

  • Parameters

    • iterationPublicId: number
    • Optionalquery: { includes_description?: boolean }
      • Optionalincludes_description?: boolean

        A true/false boolean indicating whether to return Stories with their descriptions.

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<StorySlim[], any>>

    Get a list of all Stories in an Iteration.

    ListIterationStories

    GET:/api/v3/iterations/{iteration-public-id}/stories

  • Parameters

    • labelPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<EpicSlim[], any>>

    List all of the Epics with the Label.

    ListLabelEpics

    GET:/api/v3/labels/{label-public-id}/epics

  • Parameters

    • Optionalquery: { slim?: boolean }
      • Optionalslim?: boolean

        A true/false boolean indicating if the slim versions of the Label should be returned.

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Label[], any>>

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

    ListLabels

    GET:/api/v3/labels

  • Parameters

    • labelPublicId: number
    • Optionalquery: { includes_description?: boolean }
      • Optionalincludes_description?: boolean

        A true/false boolean indicating whether to return Stories with their descriptions.

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<StorySlim[], any>>

    List all of the Stories with the Label.

    ListLabelStories

    GET:/api/v3/labels/{label-public-id}/stories

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<LinkedFile[], any>>

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

    ListLinkedFiles

    GET:/api/v3/linked-files

  • Parameters

    • Optionalquery: { "org-public-id"?: string }
      • Optionalorg-public-id?: string

        The unique ID of the Organization to limit the list to.

        uuid

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Member[], any>>

    Returns information about members of the Workspace.

    ListMembers

    GET:/api/v3/members

  • Parameters

    • milestonePublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<EpicSlim[], any>>

    (Deprecated: Use 'List Objective Epics') List all of the Epics within the Milestone.

    ListMilestoneEpics

    GET:/api/v3/milestones/{milestone-public-id}/epics

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Milestone[], any>>

    (Deprecated: Use 'List Objectives') List Milestones returns a list of all Milestones and their attributes.

    ListMilestones

    GET:/api/v3/milestones

  • Parameters

    • objectivePublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<EpicSlim[], any>>

    List all of the Epics within the Objective.

    ListObjectiveEpics

    GET:/api/v3/objectives/{objective-public-id}/epics

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Objective[], any>>

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

    ListObjectives

    GET:/api/v3/objectives

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Project[], any>>

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

    ListProjects

    GET:/api/v3/projects

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Repository[], any>>

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

    ListRepositories

    GET:/api/v3/repositories

  • Parameters

    • projectPublicId: number
    • Optionalquery: { includes_description?: boolean }
      • Optionalincludes_description?: boolean

        A true/false boolean indicating whether to return Stories with their descriptions.

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<StorySlim[], any>>

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

    ListStories

    GET:/api/v3/projects/{project-public-id}/stories

  • Parameters

    • storyPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<StoryComment[], any>>

    Lists Comments associated with a Story

    ListStoryComment

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

  • Parameters

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Workflow[], any>>

    Returns a list of all Workflows in the Workspace.

    ListWorkflows

    GET:/api/v3/workflows

  • Parameters

    • params1: AxiosRequestConfig
    • Optionalparams2: AxiosRequestConfig

    Returns AxiosRequestConfig

  • Type Parameters

    • T = any
    • _E = any

    Parameters

    • __namedParameters: FullRequestParams

    Returns Promise<AxiosResponse<T, any>>

  • Parameters

    • query: {
          detail?: "full" | "slim";
          entity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[];
          next?: string;
          page_size?: number;
          query: string;
      }
      • Optionaldetail?: "full" | "slim"

        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".

      • Optionalentity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[]

        A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story.

      • Optionalnext?: string

        The next page token.

      • Optionalpage_size?: number

        The number of search results to include in a page. Minimum of 1 and maximum of 25.

        int64

      • query: string

        See our help center article on search operators

        1

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<SearchResults, any>>

    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.

    Search

    GET:/api/v3/search

  • Parameters

    • query: {
          detail?: "full" | "slim";
          entity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[];
          next?: string;
          page_size?: number;
          query: string;
      }
      • Optionaldetail?: "full" | "slim"

        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".

      • Optionalentity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[]

        A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story.

      • Optionalnext?: string

        The next page token.

      • Optionalpage_size?: number

        The number of search results to include in a page. Minimum of 1 and maximum of 25.

        int64

      • query: string

        See our help center article on search operators

        1

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<EpicSearchResults, any>>

    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.

    SearchEpics

    GET:/api/v3/search/epics

  • Parameters

    • query: {
          detail?: "full" | "slim";
          entity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[];
          next?: string;
          page_size?: number;
          query: string;
      }
      • Optionaldetail?: "full" | "slim"

        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".

      • Optionalentity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[]

        A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story.

      • Optionalnext?: string

        The next page token.

      • Optionalpage_size?: number

        The number of search results to include in a page. Minimum of 1 and maximum of 25.

        int64

      • query: string

        See our help center article on search operators

        1

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<IterationSearchResults, any>>

    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.

    SearchIterations

    GET:/api/v3/search/iterations

  • Parameters

    • query: {
          detail?: "full" | "slim";
          entity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[];
          next?: string;
          page_size?: number;
          query: string;
      }
      • Optionaldetail?: "full" | "slim"

        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".

      • Optionalentity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[]

        A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story.

      • Optionalnext?: string

        The next page token.

      • Optionalpage_size?: number

        The number of search results to include in a page. Minimum of 1 and maximum of 25.

        int64

      • query: string

        See our help center article on search operators

        1

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<ObjectiveSearchResults, any>>

    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.

    SearchMilestones

    GET:/api/v3/search/milestones

  • Parameters

    • query: {
          detail?: "full" | "slim";
          entity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[];
          next?: string;
          page_size?: number;
          query: string;
      }
      • Optionaldetail?: "full" | "slim"

        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".

      • Optionalentity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[]

        A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story.

      • Optionalnext?: string

        The next page token.

      • Optionalpage_size?: number

        The number of search results to include in a page. Minimum of 1 and maximum of 25.

        int64

      • query: string

        See our help center article on search operators

        1

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<ObjectiveSearchResults, any>>

    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.

    SearchObjectives

    GET:/api/v3/search/objectives

  • Parameters

    • query: {
          detail?: "full" | "slim";
          entity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[];
          next?: string;
          page_size?: number;
          query: string;
      }
      • Optionaldetail?: "full" | "slim"

        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".

      • Optionalentity_types?: ("story" | "milestone" | "epic" | "iteration" | "objective")[]

        A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story.

      • Optionalnext?: string

        The next page token.

      • Optionalpage_size?: number

        The number of search results to include in a page. Minimum of 1 and maximum of 25.

        int64

      • query: string

        See our help center article on search operators

        1

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<StorySearchResults, any>>

    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.

    SearchStories

    GET:/api/v3/search/stories

  • Parameters

    Returns Promise<AxiosResponse<StorySlim[], any>>

    Search Stories lets you search Stories based on desired parameters.

    SearchStoriesOld

    POST:/api/v3/stories/search

  • No description

    Parameters

    • storyPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<History[], any>>

    StoryHistory

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

  • Parameters

    • formItem: unknown

    Returns string

  • Parameters

    • storyPublicId: number
    • commentPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<StoryComment, any>>

    Unlinks a Comment from its linked Slack thread (Comment replies and Slack replies will no longer be synced)

    UnlinkCommentThreadFromSlack

    POST:/api/v3/stories/{story-public-id}/comments/{comment-public-id}/unlink-from-slack

  • Parameters

    • epicPublicId: number
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<void, any>>

    This endpoint allows you to unlink a productboard epic.

    UnlinkProductboardFromEpic

    POST:/api/v3/epics/{epic-public-id}/unlink-productboard

  • Parameters

    • categoryPublicId: number
    • UpdateCategory: UpdateCategory
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Category, any>>

    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.

    UpdateCategory

    PUT:/api/v3/categories/{category-public-id}

  • Parameters

    • customFieldPublicId: string
    • UpdateCustomField: UpdateCustomField
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<CustomField, any>>

    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'}).

    UpdateCustomField

    PUT:/api/v3/custom-fields/{custom-field-public-id}

  • Parameters

    Returns Promise<AxiosResponse<EntityTemplate, any>>

    Update an entity template's name or its contents.

    UpdateEntityTemplate

    PUT:/api/v3/entity-templates/{entity-template-public-id}

  • Parameters

    • epicPublicId: number
    • UpdateEpic: UpdateEpic
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Epic, any>>

    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.

    UpdateEpic

    PUT:/api/v3/epics/{epic-public-id}

  • Parameters

    • epicPublicId: number
    • commentPublicId: number
    • UpdateComment: UpdateComment
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<ThreadedComment, any>>

    This endpoint allows you to update a threaded Comment on an Epic.

    UpdateEpicComment

    PUT:/api/v3/epics/{epic-public-id}/comments/{comment-public-id}

  • Parameters

    • filePublicId: number
    • UpdateFile: UpdateFile
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<UploadedFile, any>>

    Update File updates the properties of an UploadedFile (but not its content).

    UpdateFile

    PUT:/api/v3/files/{file-public-id}

  • No description

    Parameters

    • groupPublicId: string
    • UpdateGroup: UpdateGroup
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Group, any>>

    UpdateGroup

    PUT:/api/v3/groups/{group-public-id}

  • No description

    Parameters

    • iterationPublicId: number
    • UpdateIteration: UpdateIteration
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Iteration, any>>

    UpdateIteration

    PUT:/api/v3/iterations/{iteration-public-id}

  • Parameters

    • keyResultPublicId: string
    • UpdateKeyResult: UpdateKeyResult
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<KeyResult, any>>

    Update Key Result allows updating a Key Result's name or initial, observed, or target values.

    UpdateKeyResult

    PUT:/api/v3/key-results/{key-result-public-id}

  • Parameters

    • labelPublicId: number
    • UpdateLabel: UpdateLabel
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Label, any>>

    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.

    UpdateLabel

    PUT:/api/v3/labels/{label-public-id}

  • Parameters

    • linkedFilePublicId: number
    • UpdateLinkedFile: UpdateLinkedFile
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<LinkedFile, any>>

    Updated Linked File allows you to update properties of a previously attached Linked-File.

    UpdateLinkedFile

    PUT:/api/v3/linked-files/{linked-file-public-id}

  • Parameters

    • milestonePublicId: number
    • UpdateMilestone: UpdateMilestone
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Milestone, any>>

    (Deprecated: Use 'Update Objective') Update Milestone can be used to update Milestone properties.

    UpdateMilestone

    PUT:/api/v3/milestones/{milestone-public-id}

  • Parameters

    Returns Promise<AxiosResponse<StorySlim[], any>>

    Update Multiple Stories allows you to make changes to numerous stories at once.

    UpdateMultipleStories

    PUT:/api/v3/stories/bulk

  • Parameters

    • objectivePublicId: number
    • UpdateObjective: UpdateObjective
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Objective, any>>

    Update Objective can be used to update Objective properties.

    UpdateObjective

    PUT:/api/v3/objectives/{objective-public-id}

  • Parameters

    • projectPublicId: number
    • UpdateProject: UpdateProject
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Project, any>>

    Update Project can be used to change properties of a Project.

    UpdateProject

    PUT:/api/v3/projects/{project-public-id}

  • Parameters

    • storyPublicId: number
    • UpdateStory: UpdateStory
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Story, any>>

    Update Story can be used to update Story properties.

    UpdateStory

    PUT:/api/v3/stories/{story-public-id}

  • Parameters

    • storyPublicId: number
    • commentPublicId: number
    • UpdateStoryComment: UpdateStoryComment
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<StoryComment, any>>

    Update Comment replaces the text of the existing Comment.

    UpdateStoryComment

    PUT:/api/v3/stories/{story-public-id}/comments/{comment-public-id}

  • Parameters

    • storyLinkPublicId: number
    • UpdateStoryLink: UpdateStoryLink
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<StoryLink, any>>

    Updates the stories and/or the relationship for the given Story Link.

    UpdateStoryLink

    PUT:/api/v3/story-links/{story-link-public-id}

  • Parameters

    • storyPublicId: number
    • taskPublicId: number
    • UpdateTask: UpdateTask
    • params: RequestParams = {}

    Returns Promise<AxiosResponse<Task, any>>

    Update Task can be used to update Task properties.

    UpdateTask

    PUT:/api/v3/stories/{story-public-id}/tasks/{task-public-id}

  • Parameters

    • data: { file0: File; file1?: File; file2?: File; file3?: File; story_id?: number }
      • file0: File

        A file upload. At least one is required.

        binary

      • Optionalfile1?: File

        Optional additional files.

        binary

      • Optionalfile2?: File

        Optional additional files.

        binary

      • Optionalfile3?: File

        Optional additional files.

        binary

      • Optionalstory_id?: number

        The story ID that these files will be associated with.

        int64

    • params: RequestParams = {}

    Returns Promise<AxiosResponse<UploadedFile[], any>>

    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.

    UploadFiles

    POST:/api/v3/files