Shortcut Software Stories API

The Stories API from Shortcut Software — 13 operation(s) for stories.

Operations 23

POST /api/v3/stories Create Story #
POST /api/v3/stories/bulk Create Multiple Stories #
PUT /api/v3/stories/bulk Update Multiple Stories #
DELETE /api/v3/stories/bulk Delete Multiple Stories #
POST /api/v3/stories/from-template Create Story From Template #
POST /api/v3/stories/search Query Stories #
GET /api/v3/stories/{story-public-id} Get Story #
PUT /api/v3/stories/{story-public-id} Update Story #
DELETE /api/v3/stories/{story-public-id} Delete Story #
GET /api/v3/stories/{story-public-id}/comments List Story Comment #
POST /api/v3/stories/{story-public-id}/comments Create Story Comment #
GET /api/v3/stories/{story-public-id}/comments/{comment-public-id} Get Story Comment #
PUT /api/v3/stories/{story-public-id}/comments/{comment-public-id} Update Story Comment #
DELETE /api/v3/stories/{story-public-id}/comments/{comment-public-id} Delete Story Comment #
POST /api/v3/stories/{story-public-id}/comments/{comment-public-id}/reactions Create Story Reaction #
DELETE /api/v3/stories/{story-public-id}/comments/{comment-public-id}/reactions Delete Story Reaction #
POST /api/v3/stories/{story-public-id}/comments/{comment-public-id}/unlink-from-slack Unlink Comment thread from Slack #
GET /api/v3/stories/{story-public-id}/history Story History #
GET /api/v3/stories/{story-public-id}/sub-tasks List Story Sub tasks #
POST /api/v3/stories/{story-public-id}/tasks Create Task #
GET /api/v3/stories/{story-public-id}/tasks/{task-public-id} Get Task #
PUT /api/v3/stories/{story-public-id}/tasks/{task-public-id} Update Task #
DELETE /api/v3/stories/{story-public-id}/tasks/{task-public-id} Delete Task #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/shortcut-software-stories-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

shortcut-software-stories-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Shortcut Categories Stories API
  version: '3.0'
  description: Shortcut API
servers:
- url: https://api.app.shortcut.com
security:
- api_token: []
tags:
- name: Stories
paths:
  /api/v3/stories:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateStoryParams'
        description: Request parameters for creating a story.
        required: true
      responses:
        '201':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Story'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: createStory
      description: "Create Story is used to add a new story to your Shortcut Workspace.\n    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."
      summary: Create Story
      tags:
      - Stories
  /api/v3/stories/bulk:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateStories'
        required: true
      responses:
        '201':
          description: Resource
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StorySlim'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: createMultipleStories
      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).
      summary: Create Multiple Stories
      tags:
      - Stories
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateStories'
        required: true
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StorySlim'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: updateMultipleStories
      description: Update Multiple Stories allows you to make changes to numerous stories at once.
      summary: Update Multiple Stories
      tags:
      - Stories
    delete:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteStories'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: deleteMultipleStories
      description: Delete Multiple Stories allows you to delete multiple archived stories at once.
      summary: Delete Multiple Stories
      tags:
      - Stories
  /api/v3/stories/from-template:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateStoryFromTemplateParams'
        description: Request parameters for creating a story from a story template. These parameters are merged with the values derived from the template.
        required: true
      responses:
        '201':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Story'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: createStoryFromTemplate
      description: Create Story From Template is used to add a new story derived from a template to your Shortcut Workspace.
      summary: Create Story From Template
      tags:
      - Stories
  /api/v3/stories/search:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchStories'
        required: true
      responses:
        '201':
          description: Resource
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StorySlim'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: queryStories
      description: Search Stories lets you search Stories based on desired parameters.
      summary: Query Stories
      tags:
      - Stories
  /api/v3/stories/{story-public-id}:
    get:
      parameters:
      - in: path
        name: story-public-id
        description: The ID of the Story.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Story'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: getStory
      description: Get Story returns information about a chosen Story.
      summary: Get Story
      tags:
      - Stories
    put:
      parameters:
      - in: path
        name: story-public-id
        description: The unique identifier of this story.
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateStory'
        required: true
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Story'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: updateStory
      description: Update Story can be used to update Story properties.
      summary: Update Story
      tags:
      - Stories
    delete:
      parameters:
      - in: path
        name: story-public-id
        description: The ID of the Story.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '204':
          description: No Content
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: deleteStory
      description: Delete Story can be used to delete any Story.
      summary: Delete Story
      tags:
      - Stories
  /api/v3/stories/{story-public-id}/comments:
    get:
      parameters:
      - in: path
        name: story-public-id
        description: The ID of the Story that the Comment is in.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StoryComment'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: listStoryComment
      description: Lists Comments associated with a Story
      summary: List Story Comment
      tags:
      - Stories
    post:
      parameters:
      - in: path
        name: story-public-id
        description: The ID of the Story that the Comment is in.
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateStoryComment'
        required: true
      responses:
        '201':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoryComment'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: createStoryComment
      description: Create Comment allows you to create a Comment on any Story.
      summary: Create Story Comment
      tags:
      - Stories
  /api/v3/stories/{story-public-id}/comments/{comment-public-id}:
    get:
      parameters:
      - in: path
        name: story-public-id
        description: The ID of the Story that the Comment is in.
        required: true
        schema:
          type: integer
          format: int64
      - in: path
        name: comment-public-id
        description: The ID of the Comment.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoryComment'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: getStoryComment
      description: Get Comment is used to get Comment information.
      summary: Get Story Comment
      tags:
      - Stories
    put:
      parameters:
      - in: path
        name: story-public-id
        description: The ID of the Story that the Comment is in.
        required: true
        schema:
          type: integer
          format: int64
      - in: path
        name: comment-public-id
        description: The ID of the Comment
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateStoryComment'
        required: true
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoryComment'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: updateStoryComment
      description: Update Comment replaces the text of the existing Comment.
      summary: Update Story Comment
      tags:
      - Stories
    delete:
      parameters:
      - in: path
        name: story-public-id
        description: The ID of the Story that the Comment is in.
        required: true
        schema:
          type: integer
          format: int64
      - in: path
        name: comment-public-id
        description: The ID of the Comment.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '204':
          description: No Content
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: deleteStoryComment
      description: Delete a Comment from any story.
      summary: Delete Story Comment
      tags:
      - Stories
  /api/v3/stories/{story-public-id}/comments/{comment-public-id}/reactions:
    post:
      parameters:
      - in: path
        name: story-public-id
        description: The ID of the Story that the Comment is in.
        required: true
        schema:
          type: integer
          format: int64
      - in: path
        name: comment-public-id
        description: The ID of the Comment.
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        $ref: '#/components/requestBodies/CreateOrDeleteStoryReaction'
      responses:
        '201':
          description: Resource
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StoryReaction'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: createStoryReaction
      description: Create a reaction to a story comment.
      summary: Create Story Reaction
      tags:
      - Stories
    delete:
      parameters:
      - in: path
        name: story-public-id
        description: The ID of the Story that the Comment is in.
        required: true
        schema:
          type: integer
          format: int64
      - in: path
        name: comment-public-id
        description: The ID of the Comment.
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        $ref: '#/components/requestBodies/CreateOrDeleteStoryReaction'
      responses:
        '204':
          description: No Content
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: deleteStoryReaction
      description: Delete a reaction from any story comment.
      summary: Delete Story Reaction
      tags:
      - Stories
  /api/v3/stories/{story-public-id}/comments/{comment-public-id}/unlink-from-slack:
    post:
      parameters:
      - in: path
        name: story-public-id
        description: The ID of the Story to unlink.
        required: true
        schema:
          type: integer
          format: int64
      - in: path
        name: comment-public-id
        description: The ID of the Comment to unlink.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '201':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoryComment'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: unlinkCommentThreadFromSlack
      description: Unlinks a Comment from its linked Slack thread (Comment replies and Slack replies will no longer be synced)
      summary: Unlink Comment thread from Slack
      tags:
      - Stories
  /api/v3/stories/{story-public-id}/history:
    get:
      parameters:
      - in: path
        name: story-public-id
        description: The ID of the Story.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/History'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: storyHistory
      summary: Story History
      tags:
      - Stories
  /api/v3/stories/{story-public-id}/sub-tasks:
    get:
      parameters:
      - in: path
        name: story-public-id
        description: The ID of the Story.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StorySlim'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: listStorySubTasks
      description: List Story Sub tasks returns a list of all Sub-task Stories for a given parent Story.
      summary: List Story Sub tasks
      tags:
      - Stories
  /api/v3/stories/{story-public-id}/tasks:
    post:
      parameters:
      - in: path
        name: story-public-id
        description: The ID of the Story that the Task will be in.
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTask'
        required: true
      responses:
        '201':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: createTask
      description: Create Task is used to create a new task in a Story.
      summary: Create Task
      tags:
      - Stories
  /api/v3/stories/{story-public-id}/tasks/{task-public-id}:
    get:
      parameters:
      - in: path
        name: story-public-id
        description: The unique ID of the Story this Task is associated with.
        required: true
        schema:
          type: integer
          format: int64
      - in: path
        name: task-public-id
        description: The unique ID of the Task.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: getTask
      description: Returns information about a chosen Task.
      summary: Get Task
      tags:
      - Stories
    put:
      parameters:
      - in: path
        name: story-public-id
        description: The unique identifier of the parent Story.
        required: true
        schema:
          type: integer
          format: int64
      - in: path
        name: task-public-id
        description: The unique identifier of the Task you wish to update.
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTask'
        required: true
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: updateTask
      description: Update Task can be used to update Task properties.
      summary: Update Task
      tags:
      - Stories
    delete:
      parameters:
      - in: path
        name: story-public-id
        description: The unique ID of the Story this Task is associated with.
        required: true
        schema:
          type: integer
          format: int64
      - in: path
        name: task-public-id
        description: The unique ID of the Task.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '204':
          description: No Content
        '400':
          description: Schema mismatch
        '404':
          description: Resource does not exist
        '422':
          description: Unprocessable
      operationId: deleteTask
      description: Delete Task can be used to delete any previously created Task on a Story.
      summary: Delete Task
      tags:
      - Stories
components:
  schemas:
    Branch:
      description: Branch refers to a VCS branch. Branches are feature branches associated with Shortcut Stories.
      type: object
      properties:
        entity_type:
          description: A string description of this resource.
          type: string
        deleted:
          description: A true/false boolean indicating if the Branch has been deleted.
          type: boolean
        name:
          description: The name of the Branch.
          type: string
        persistent:
          description: This field is deprecated, and will always be false.
          type: boolean
        updated_at:
          description: The time/date the Branch was updated.
          type:
          - string
          - 'null'
          format: date-time
        pull_requests:
          description: An array of PullRequests attached to the Branch (there is usually only one).
          type: array
          items:
            $ref: '#/components/schemas/PullRequest'
        merged_branch_ids:
          description: The IDs of the Branches the Branch has been merged into.
          type: array
          items:
            type: integer
            format: int64
        id:
          description: The unique ID of the Branch.
          type:
          - integer
          - 'null'
          format: int64
        url:
          description: The URL of the Branch.
          type: string
        repository_id:
          description: The ID of the Repository that contains the Branch.
          type: integer
          format: int64
        created_at:
          description: The time/date the Branch was created.
          type:
          - string
          - 'null'
          format: date-time
      additionalProperties: false
      required:
      - entity_type
      - deleted
      - name
      - persistent
      - updated_at
      - pull_requests
      - merged_branch_ids
      - id
      - url
      - repository_id
      - created_at
    HistoryActionWorkspace2BulkUpdate:
      description: An action representing a bulk operation within a workspace2.
      type: object
      properties:
        id:
          description: The ID of the entity referenced.
          type: string
          format: uuid
        entity_type:
          description: The type of entity referenced.
          type: string
        action:
          description: The action of the entity referenced.
          type: string
          enum:
          - bulk-update
        name:
          description: The name of the workspace2 in which the BulkUpdate occurred.
          type: string
      additionalProperties: false
      required:
      - id
      - entity_type
      - action
      - name
    HistoryActionStoryCommentCreate:
      description: An action representing a Story Comment being created.
      type: object
      properties:
        id:
          description: The ID of the entity referenced.
          type: integer
          format: int64
        entity_type:
          description: The type of entity referenced.
          type: string
        action:
          description: The action of the entity referenced.
          type: string
          enum:
          - create
        app_url:
          pattern: ^https?://.+$
          maxLength: 2048
          description: The application URL of the Story Comment.
          type: string
        author_id:
          description: The Member ID of who created the Story Comment.
          type: string
          format: uuid
      additionalProperties: false
      required:
      - id
      - entity_type
      - action
      - app_url
      - author_id
    CreateStoryParams:
      description: Request parameters for creating a story.
      type: object
      properties:
        description:
          maxLength: 100000
          description: The description of the story.
          type: string
        archived:
          description: Controls the story's archived state.
          type: boolean
        story_links:
          description: An array of story links attached to the story.
          type: array
          items:
            $ref: '#/components/schemas/CreateStoryLinkParams'
        labels:
          description: An array of labels attached to the story.
          type: array
          items:
            $ref: '#/components/schemas/CreateLabelParams'
        story_type:
          description: The type of story (feature, bug, chore).
          type: string
          enum:
          - feature
          - chore
          - bug
        custom_fields:
          description: A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField.
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldValueParams'
        move_to:
          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.
          type: string
          enum:
          - last
          - first
        file_ids:
          description: An array of IDs of files attached to the story.
          type: array
          items:
            type: integer
            format: int64
          uniqueItems: true
        source_task_id:
          description: Given this story was converted from a task in another story, this is the original task ID that was converted to this story.
          type:
          - integer
          - 'null'
          format: int64
        completed_at_override:
          description: A manual override for the time/date the Story was completed.
          type: string
          format: date-time
        name:
          maxLength: 512
          minLength: 1
          description: The name of the story.
          type: string
        comments:
          description: An array of comments to add to the story.
          type: array
          items:
            $ref: '#/components/schemas/CreateStoryCommentParams'
        epic_id:
          description: The ID of the epic the story belongs to.
          type:
          - integer
          - 'null'
          format: int64
        story_template_id:
          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.
          type:
          - string
          - 'null'
          format: uuid
        external_links:
          description: An array of External Links associated with this story.
          type: array
          items:
            type: string
        sub_tasks:
          description: 'An array of maps specifying sub-tasks to be associated with the created story. Each map can either link to an existing story or create a new sub-task story to be linked to the created story.

            Field only applicable when Sub-task feature is enabled.'
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/LinkSubTaskParams'
            - $ref: '#/components/schemas/CreateSubTaskParams'
        requested_by_id:
          description: The ID of the member that requested the story.
          type: string
          format: uuid
        iteration_id:
          description: The ID of the iteration the story belongs to.
          type:
          - integer
          - 'null'
          format: int64
        tasks:
          description: An array of tasks connected to the story.
          type: array
          items:
            $ref: '#/components/schemas/CreateTaskParams'
        started_at_override:
          description: A manual override for the time/date the Story was started.
          type: string
          format: date-time
        group_id:
          description: The id of the group to associate with this story.
          type:
          - string
          - 'null'
          format: uuid
        workflow_state_id:
          description: The ID of the workflow state the story will be in.
          type: integer
          format: int64
        updated_at:
          description: The time/date the Story was updated.
          type: string
          format: date-time
        follower_ids:
          description: An array of UUIDs of the followers of this story.
          type: array
          items:
            type: string
            format: uuid
          uniqueItems: true
        owner_ids:
          description: An array of UUIDs of the owners of this story.
          type: array
          items:
            type: string
            format: uuid
          uniqueItems: true
        external_id:
          maxLength: 1024
          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.
          type: string
        parent_story_id:
          description: 'The ID of the parent story to associate with this story (making the created story a sub-task).

            Field only applicable when Sub-task feature is enabled.'
          type:
          - integer
          - 'null'
          format: int64
        estimate:
          description: The numeric point estimate of the story. Can also be null, which means unestimated.
          type:
          - integer
          - 'null'
          format: int64
        project_id:
          description: The ID of the project the story belongs to.
          type:
          - integer
          - 'null'
          format: int64
        linked_file_ids:
          description: An array of IDs of linked files attached to the story.
          type: array
          items:
            type: integer
            format: int64
          uniqueItems: true
        deadline:
          description: The due date of the story.
          type:
          - string
          - 'null'
          format: date-time
        created_at:
          description: The time/date the Story was created.
          type: string
          format: date-time
      additionalProperties: false
      required:
      - name
    CreateStoryFromTemplateParams:
      description: Request parameters for creating a story from a story template. These parameters are merged with the values derived from the template.
      type: object
      properties:
        description:
          maxLength: 100000
          description: The description of the story.
          type: string
        archived:
          description: Controls the story's archived state.
          type: boolean
        story_links:
          description: An array of story links attached to the story.
          type: array
          items:
            $ref: '#/components/schemas/CreateStoryLinkParams'
        labels:
          description: An array of labels attached to the story.
          type: array
          items:
            $ref: '#/components/schemas/CreateLabelParams'
        external_links_add:
          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`.
          type: array
          items:
            type: string
          uniqueItems: true
        story_type:
          description: The type of story (feature, bug, chore).
          type: string
          enum:
          - feature
          - chore
          - bug
        custom_fields:
          description: A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField.
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldValueParams'
        move_to:
          description: One of "first" or "last". This can be used to move the given story to the first or last position in the workflow

# --- truncated at 32 KB (149 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/shortcut-software/refs/heads/main/openapi/shortcut-software-stories-api-openapi.yml