# Shortcut API API

> Shortcut API API on Apizie: 123 endpoints (List Categories, Create Category, Get Category, Update Category, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://www.apizie.tech/v1/open-data:shortcut/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `open-data:shortcut`
- Category: Open Data
- Status: byok
- Source: https://shortcut.com
- Page: https://www.apizie.tech/api/open-data/shortcut
- OpenAPI: https://www.apizie.tech/api/open-data/shortcut/openapi.json

Shortcut API

## Endpoints

### List Categories
`GET https://www.apizie.tech/v1/open-data:shortcut/category-list-all` (byok)

### Create Category
`POST https://www.apizie.tech/v1/open-data:shortcut/category-create-new-category` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get Category
`GET https://www.apizie.tech/v1/open-data:shortcut/category-get-information` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| category-public-id | integer | yes | The unique ID of the Category. |

### Update Category
`POST https://www.apizie.tech/v1/open-data:shortcut/category-update-name` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| category-public-id | integer | yes | The unique ID of the Category you wish to update. |
| body | object | yes | JSON request body |

### Delete Category
`POST https://www.apizie.tech/v1/open-data:shortcut/category-delete-category` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| category-public-id | integer | yes | The unique ID of the Category. |

### List Category Milestones
`GET https://www.apizie.tech/v1/open-data:shortcut/category-list-milestones` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| category-public-id | integer | yes | The unique ID of the Category. |

### List Category Objectives
`GET https://www.apizie.tech/v1/open-data:shortcut/category-list-objectives` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| category-public-id | integer | yes | The unique ID of the Category. |

### List Custom Fields
`GET https://www.apizie.tech/v1/open-data:shortcut/custom-field-list` (byok)

### Get Custom Field
`GET https://www.apizie.tech/v1/open-data:shortcut/custom-field-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| custom-field-public-id | string | yes | The unique ID of the CustomField. |

### Update Custom Field
`POST https://www.apizie.tech/v1/open-data:shortcut/custom-field-update-definition` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| custom-field-public-id | string | yes | The unique ID of the CustomField. |
| body | object | yes | JSON request body |

### Delete Custom Field
`POST https://www.apizie.tech/v1/open-data:shortcut/custom-field-delete-field` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| custom-field-public-id | string | yes | The unique ID of the CustomField. |

### List Entity Templates
`GET https://www.apizie.tech/v1/open-data:shortcut/template-list-entity-templates` (byok)

### Create Entity Template
`POST https://www.apizie.tech/v1/open-data:shortcut/template-create-new-entity` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Disable Story Templates
`POST https://www.apizie.tech/v1/open-data:shortcut/story-disable-template` (byok)

### Enable Story Templates
`POST https://www.apizie.tech/v1/open-data:shortcut/story-enable-template-feature` (byok)

### Get Entity Template
`GET https://www.apizie.tech/v1/open-data:shortcut/template-get-information` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| entity-template-public-id | string | yes | The unique ID of the entity template. |

### Update Entity Template
`POST https://www.apizie.tech/v1/open-data:shortcut/template-update-contents` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| entity-template-public-id | string | yes | The unique ID of the template to be updated. |
| body | object | yes | JSON request body |

### Delete Entity Template
`POST https://www.apizie.tech/v1/open-data:shortcut/template-delete-entity-template` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| entity-template-public-id | string | yes | The unique ID of the entity template. |

### Get Epic Workflow
`GET https://www.apizie.tech/v1/open-data:shortcut/epic-get-workflow` (byok)

### List Epics
`GET https://www.apizie.tech/v1/open-data:shortcut/epic-list-all-attributes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| includes_description | boolean | no | A true/false boolean indicating whether to return Epics with their descriptions. |

### Create Epic
`POST https://www.apizie.tech/v1/open-data:shortcut/epic-create-new-epic` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get Epic
`GET https://www.apizie.tech/v1/open-data:shortcut/epic-get-information` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| epic-public-id | integer | yes | The unique ID of the Epic. |

### Update Epic
`POST https://www.apizie.tech/v1/open-data:shortcut/epic-update-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| epic-public-id | integer | yes | The unique ID of the Epic. |
| body | object | yes | JSON request body |

### Delete Epic
`POST https://www.apizie.tech/v1/open-data:shortcut/epic-delete-epic` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| epic-public-id | integer | yes | The unique ID of the Epic. |

### List Epic Comments
`GET https://www.apizie.tech/v1/open-data:shortcut/epic-get-all-epic-comments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| epic-public-id | integer | yes | The unique ID of the Epic. |

### Create Epic Comment
`POST https://www.apizie.tech/v1/open-data:shortcut/epic-create-comment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| epic-public-id | integer | yes | The ID of the associated Epic. |
| body | object | yes | JSON request body |

### Get Epic Comment
`GET https://www.apizie.tech/v1/open-data:shortcut/epic-get-comment-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| epic-public-id | integer | yes | The ID of the associated Epic. |
| comment-public-id | integer | yes | The ID of the Comment. |

### Create Epic Comment Comment
`POST https://www.apizie.tech/v1/open-data:shortcut/epic-create-comment-comment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| epic-public-id | integer | yes | The ID of the associated Epic. |
| comment-public-id | integer | yes | The ID of the parent Epic Comment. |
| body | object | yes | JSON request body |

### Update Epic Comment
`POST https://www.apizie.tech/v1/open-data:shortcut/epic-update-comment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| epic-public-id | integer | yes | The ID of the associated Epic. |
| comment-public-id | integer | yes | The ID of the Comment. |
| body | object | yes | JSON request body |

### Delete Epic Comment
`POST https://www.apizie.tech/v1/open-data:shortcut/epic-delete-comment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| epic-public-id | integer | yes | The ID of the associated Epic. |
| comment-public-id | integer | yes | The ID of the Comment. |

### List Epic Stories
`GET https://www.apizie.tech/v1/open-data:shortcut/epic-list-stories` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| epic-public-id | integer | yes | The unique ID of the Epic. |
| includes_description | boolean | no | A true/false boolean indicating whether to return Stories with their descriptions. |

### Unlink Productboard from Epic
`POST https://www.apizie.tech/v1/open-data:shortcut/epic-unlink-productboard` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| epic-public-id | integer | yes | The unique ID of the Epic. |

### Get External Link Stories
`GET https://www.apizie.tech/v1/open-data:shortcut/external-link-story-get-stories` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| external_link | string | yes | The external link associated with one or more stories. |

### List Files
`GET https://www.apizie.tech/v1/open-data:shortcut/file-list-files` (byok)

### Upload Files
`POST https://www.apizie.tech/v1/open-data:shortcut/file-upload-and-associate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Get File
`GET https://www.apizie.tech/v1/open-data:shortcut/file-get-file-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| file-public-id | integer | yes | The File’s unique ID. |

### Update File
`POST https://www.apizie.tech/v1/open-data:shortcut/file-update-properties` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| file-public-id | integer | yes | The unique ID assigned to the file in Shortcut. |
| body | object | yes | JSON request body |

### Delete File
`POST https://www.apizie.tech/v1/open-data:shortcut/file-delete-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| file-public-id | integer | yes | The File’s unique ID. |

### List Groups
`GET https://www.apizie.tech/v1/open-data:shortcut/group-list-teams` (byok)

### Create Group
`POST https://www.apizie.tech/v1/open-data:shortcut/group-create-new` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Disable Groups
`POST https://www.apizie.tech/v1/open-data:shortcut/group-disable-workspace` (byok)

### Enable Groups
`POST https://www.apizie.tech/v1/open-data:shortcut/group-enable-workspace` (byok)

### Get Group
`GET https://www.apizie.tech/v1/open-data:shortcut/group-get-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group-public-id | string | yes | The unique ID of the Group. |

### Update Group
`POST https://www.apizie.tech/v1/open-data:shortcut/group-update-group-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group-public-id | string | yes | The unique ID of the Group. |
| body | object | yes | JSON request body |

### List Group Stories
`GET https://www.apizie.tech/v1/open-data:shortcut/group-list-stories` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group-public-id | string | yes | The unique ID of the Group. |
| limit | integer | no | The maximum number of results to return. (Defaults to 1000, max 1000) |
| offset | integer | no | The offset at which to begin returning results. (Defaults to 0) |

### List Iterations
`GET https://www.apizie.tech/v1/open-data:shortcut/iteration-get-all-iterations` (byok)

### Create Iteration
`POST https://www.apizie.tech/v1/open-data:shortcut/iteration-create-new-iteration` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Disable Iterations
`POST https://www.apizie.tech/v1/open-data:shortcut/iteration-disable-iterations` (byok)

### Enable Iterations
`POST https://www.apizie.tech/v1/open-data:shortcut/iteration-enable-iterations` (byok)

### Get Iteration
`GET https://www.apizie.tech/v1/open-data:shortcut/iteration-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| iteration-public-id | integer | yes | The unique ID of the Iteration. |

### Update Iteration
`POST https://www.apizie.tech/v1/open-data:shortcut/iteration-update-iteration-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| iteration-public-id | integer | yes | The unique ID of the Iteration. |
| body | object | yes | JSON request body |

### Delete Iteration
`POST https://www.apizie.tech/v1/open-data:shortcut/iteration-remove-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| iteration-public-id | integer | yes | The unique ID of the Iteration. |

### List Iteration Stories
`GET https://www.apizie.tech/v1/open-data:shortcut/iteration-list-stories` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| iteration-public-id | integer | yes | The unique ID of the Iteration. |
| includes_description | boolean | no | A true/false boolean indicating whether to return Stories with their descriptions. |

### Get Key Result
`GET https://www.apizie.tech/v1/open-data:shortcut/key-result-get-information` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key-result-public-id | string | yes | The ID of the Key Result. |

### Update Key Result
`POST https://www.apizie.tech/v1/open-data:shortcut/key-result-update-values` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key-result-public-id | string | yes | The ID of the Key Result. |
| body | object | yes | JSON request body |

### List Labels
`GET https://www.apizie.tech/v1/open-data:shortcut/label-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| slim | boolean | no | A true/false boolean indicating if the slim versions of the Label should be returned. |

### Create Label
`POST https://www.apizie.tech/v1/open-data:shortcut/label-create-new` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get Label
`GET https://www.apizie.tech/v1/open-data:shortcut/label-get-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| label-public-id | integer | yes | The unique ID of the Label. |

### Update Label
`POST https://www.apizie.tech/v1/open-data:shortcut/label-update-name-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| label-public-id | integer | yes | The unique ID of the Label you wish to update. |
| body | object | yes | JSON request body |

### Delete Label
`POST https://www.apizie.tech/v1/open-data:shortcut/label-remove` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| label-public-id | integer | yes | The unique ID of the Label. |

### List Label Epics
`GET https://www.apizie.tech/v1/open-data:shortcut/epic-list-epics` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| label-public-id | integer | yes | The unique ID of the Label. |

### List Label Stories
`GET https://www.apizie.tech/v1/open-data:shortcut/label-list-stories` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| label-public-id | integer | yes | The unique ID of the Label. |
| includes_description | boolean | no | A true/false boolean indicating whether to return Stories with their descriptions. |

### List Linked Files
`GET https://www.apizie.tech/v1/open-data:shortcut/file-list-linked-files` (byok)

### Create Linked File
`POST https://www.apizie.tech/v1/open-data:shortcut/file-create-linked-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get Linked File
`GET https://www.apizie.tech/v1/open-data:shortcut/file-get-linked-file-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| linked-file-public-id | integer | yes | The unique identifier of the linked file. |

### Update Linked File
`POST https://www.apizie.tech/v1/open-data:shortcut/file-update-linked-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| linked-file-public-id | integer | yes | The unique identifier of the linked file. |
| body | object | yes | JSON request body |

### Delete Linked File
`POST https://www.apizie.tech/v1/open-data:shortcut/file-delete-linked-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| linked-file-public-id | integer | yes | The unique identifier of the linked file. |

### Get Current Member Info
`GET https://www.apizie.tech/v1/open-data:shortcut/member-get-current-info` (byok)

### List Members
`GET https://www.apizie.tech/v1/open-data:shortcut/member-list-workspace-members` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| org-public-id | string | no | The unique ID of the Organization to limit the list to. |

### Get Member
`GET https://www.apizie.tech/v1/open-data:shortcut/member-get-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| member-public-id | string | yes | The Member's unique ID. |
| org-public-id | string | no | The unique ID of the Organization to limit the lookup to. |

### List Milestones
`GET https://www.apizie.tech/v1/open-data:shortcut/milestone-list-all-attributes` (byok)

### Create Milestone
`POST https://www.apizie.tech/v1/open-data:shortcut/milestone-create-new` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get Milestone
`GET https://www.apizie.tech/v1/open-data:shortcut/milestone-get-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| milestone-public-id | integer | yes | The ID of the Milestone. |

### Update Milestone
`POST https://www.apizie.tech/v1/open-data:shortcut/milestone-update-properties` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| milestone-public-id | integer | yes | The ID of the Milestone. |
| body | object | yes | JSON request body |

### Delete Milestone
`POST https://www.apizie.tech/v1/open-data:shortcut/milestone-delete-milestone` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| milestone-public-id | integer | yes | The ID of the Milestone. |

### List Milestone Epics
`GET https://www.apizie.tech/v1/open-data:shortcut/epic-list-milestone-epics` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| milestone-public-id | integer | yes | The ID of the Milestone. |

### List Objectives
`GET https://www.apizie.tech/v1/open-data:shortcut/objective-list-all` (byok)

### Create Objective
`POST https://www.apizie.tech/v1/open-data:shortcut/objective-create-new-objective` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get Objective
`GET https://www.apizie.tech/v1/open-data:shortcut/objective-get-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objective-public-id | integer | yes | The ID of the Objective. |

### Update Objective
`POST https://www.apizie.tech/v1/open-data:shortcut/objective-update-properties` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objective-public-id | integer | yes | The ID of the Objective. |
| body | object | yes | JSON request body |

### Delete Objective
`POST https://www.apizie.tech/v1/open-data:shortcut/objective-remove` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objective-public-id | integer | yes | The ID of the Objective. |

### List Objective Epics
`GET https://www.apizie.tech/v1/open-data:shortcut/epic-list-objective-epics` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| objective-public-id | integer | yes | The ID of the Objective. |

### List Projects
`GET https://www.apizie.tech/v1/open-data:shortcut/project-get-all` (byok)

### Create Project
`POST https://www.apizie.tech/v1/open-data:shortcut/project-create-shortcut-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get Project
`GET https://www.apizie.tech/v1/open-data:shortcut/project-get-information` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| project-public-id | integer | yes | The unique ID of the Project. |

### Update Project
`POST https://www.apizie.tech/v1/open-data:shortcut/project-update-properties` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| project-public-id | integer | yes | The unique ID of the Project. |
| body | object | yes | JSON request body |

### Delete Project
`POST https://www.apizie.tech/v1/open-data:shortcut/project-delete-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| project-public-id | integer | yes | The unique ID of the Project. |

### List Stories
`GET https://www.apizie.tech/v1/open-data:shortcut/project-list-stories` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| project-public-id | integer | yes | The unique ID of the Project. |
| includes_description | boolean | no | A true/false boolean indicating whether to return Stories with their descriptions. |

### List Repositories
`GET https://www.apizie.tech/v1/open-data:shortcut/repository-list-all` (byok)

### Get Repository
`GET https://www.apizie.tech/v1/open-data:shortcut/repository-get-information` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| repo-public-id | integer | yes | The unique ID of the Repository. |

### Search
`GET https://www.apizie.tech/v1/open-data:shortcut/search-epics-and-stories` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | yes | See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) |
| page_size | integer | no | The number of search results to include in a page. Minimum of 1 and maximum of 25. |
| detail | string | no | The amount of detail included in each result item. "full" will include all descriptions and comments and more fields on related items such… |
| next | string | no | The next page token. |
| entity_types | array | no | A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story. |

### Search Epics
`GET https://www.apizie.tech/v1/open-data:shortcut/epic-get-epics` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | yes | See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) |
| page_size | integer | no | The number of search results to include in a page. Minimum of 1 and maximum of 25. |
| detail | string | no | The amount of detail included in each result item. "full" will include all descriptions and comments and more fields on related items such… |
| next | string | no | The next page token. |
| entity_types | array | no | A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story. |

### Search Iterations
`GET https://www.apizie.tech/v1/open-data:shortcut/search-iterations` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | yes | See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) |
| page_size | integer | no | The number of search results to include in a page. Minimum of 1 and maximum of 25. |
| detail | string | no | The amount of detail included in each result item. "full" will include all descriptions and comments and more fields on related items such… |
| next | string | no | The next page token. |
| entity_types | array | no | A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story. |

### Search Milestones
`GET https://www.apizie.tech/v1/open-data:shortcut/search-milestones` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | yes | See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) |
| page_size | integer | no | The number of search results to include in a page. Minimum of 1 and maximum of 25. |
| detail | string | no | The amount of detail included in each result item. "full" will include all descriptions and comments and more fields on related items such… |
| next | string | no | The next page token. |
| entity_types | array | no | A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story. |

### Search Objectives
`GET https://www.apizie.tech/v1/open-data:shortcut/search-objectives` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | yes | See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) |
| page_size | integer | no | The number of search results to include in a page. Minimum of 1 and maximum of 25. |
| detail | string | no | The amount of detail included in each result item. "full" will include all descriptions and comments and more fields on related items such… |
| next | string | no | The next page token. |
| entity_types | array | no | A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story. |

### Search Stories
`GET https://www.apizie.tech/v1/open-data:shortcut/search-stories-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | yes | See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) |
| page_size | integer | no | The number of search results to include in a page. Minimum of 1 and maximum of 25. |
| detail | string | no | The amount of detail included in each result item. "full" will include all descriptions and comments and more fields on related items such… |
| next | string | no | The next page token. |
| entity_types | array | no | A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, objective, story. |

### Create Story
`POST https://www.apizie.tech/v1/open-data:shortcut/story-add-new` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create Multiple Stories
`POST https://www.apizie.tech/v1/open-data:shortcut/story-create-multiple` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Update Multiple Stories
`POST https://www.apizie.tech/v1/open-data:shortcut/story-update-multiple` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Delete Multiple Stories
`POST https://www.apizie.tech/v1/open-data:shortcut/story-delete-multiple` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create Story From Template
`POST https://www.apizie.tech/v1/open-data:shortcut/story-create-from-template` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Search Stories (Old)
`POST https://www.apizie.tech/v1/open-data:shortcut/search-stories-old` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get Story
`GET https://www.apizie.tech/v1/open-data:shortcut/story-get-information` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The ID of the Story. |

### Update Story
`POST https://www.apizie.tech/v1/open-data:shortcut/story-update-properties` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The unique identifier of this story. |
| body | object | yes | JSON request body |

### Delete Story
`POST https://www.apizie.tech/v1/open-data:shortcut/story-remove` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The ID of the Story. |

### List Story Comment
`GET https://www.apizie.tech/v1/open-data:shortcut/story-list-comments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The ID of the Story that the Comment is in. |

### Create Story Comment
`POST https://www.apizie.tech/v1/open-data:shortcut/story-create-comment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The ID of the Story that the Comment is in. |
| body | object | yes | JSON request body |

### Get Story Comment
`GET https://www.apizie.tech/v1/open-data:shortcut/story-get-comment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The ID of the Story that the Comment is in. |
| comment-public-id | integer | yes | The ID of the Comment. |

### Update Story Comment
`POST https://www.apizie.tech/v1/open-data:shortcut/story-update-comment-text` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The ID of the Story that the Comment is in. |
| comment-public-id | integer | yes | The ID of the Comment |
| body | object | yes | JSON request body |

### Delete Story Comment
`POST https://www.apizie.tech/v1/open-data:shortcut/story-delete-comment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The ID of the Story that the Comment is in. |
| comment-public-id | integer | yes | The ID of the Comment. |

### Create Story Reaction
`POST https://www.apizie.tech/v1/open-data:shortcut/story-add-reaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The ID of the Story that the Comment is in. |
| comment-public-id | integer | yes | The ID of the Comment. |
| body | object | yes | JSON request body |

### Delete Story Reaction
`POST https://www.apizie.tech/v1/open-data:shortcut/story-delete-reaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The ID of the Story that the Comment is in. |
| comment-public-id | integer | yes | The ID of the Comment. |
| body | object | yes | JSON request body |

### Story History
`GET https://www.apizie.tech/v1/open-data:shortcut/story-get-history` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The ID of the Story. |

### Create Task
`POST https://www.apizie.tech/v1/open-data:shortcut/story-create-new-task` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The ID of the Story that the Task will be in. |
| body | object | yes | JSON request body |

### Get Task
`GET https://www.apizie.tech/v1/open-data:shortcut/story-get-task-information` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The unique ID of the Story this Task is associated with. |
| task-public-id | integer | yes | The unique ID of the Task. |

### Update Task
`POST https://www.apizie.tech/v1/open-data:shortcut/story-update-task` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The unique identifier of the parent Story. |
| task-public-id | integer | yes | The unique identifier of the Task you wish to update. |
| body | object | yes | JSON request body |

### Delete Task
`POST https://www.apizie.tech/v1/open-data:shortcut/story-remove-task` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-public-id | integer | yes | The unique ID of the Story this Task is associated with. |
| task-public-id | integer | yes | The unique ID of the Task. |

### Create Story Link
`POST https://www.apizie.tech/v1/open-data:shortcut/story-create-link` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get Story Link
`GET https://www.apizie.tech/v1/open-data:shortcut/story-get-relationship` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-link-public-id | integer | yes | The unique ID of the Story Link. |

### Update Story Link
`POST https://www.apizie.tech/v1/open-data:shortcut/story-update-link-relationship` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| story-link-public-id | integer | yes | The unique ID of the Story Link. |
| body | object | yes | JSON request body |

…and 3 more. See the OpenAPI spec.

## Example
```
curl "https://www.apizie.tech/v1/open-data:shortcut/category-list-all" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Shortcut API API?
Create a free Apizie key, then send GET https://www.apizie.tech/v1/open-data:shortcut/category-list-all with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Shortcut API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Shortcut API itself also needs your own key from api.app.shortcut.com.

### Can AI agents use the Shortcut API API?
Yes. Add the Apizie MCP server (https://www.apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key open-data:shortcut.

### What is the status of the Shortcut API API?
Needs your own provider key (bring your own key)
