@useshortcut/client 1.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4418 @@
1
+ export interface BasicWorkspaceInfo {
2
+ url_slug: string;
3
+ estimate_scale: number[];
4
+ }
5
+ /**
6
+ * Branch refers to a VCS branch. Branches are feature branches associated with Shortcut Stories.
7
+ */
8
+ export interface Branch {
9
+ /** A string description of this resource. */
10
+ entity_type: string;
11
+ /** A true/false boolean indicating if the Branch has been deleted. */
12
+ deleted: boolean;
13
+ /** The name of the Branch. */
14
+ name: string;
15
+ /** A true/false boolean indicating if the Branch is persistent; e.g. master. */
16
+ persistent: boolean;
17
+ /**
18
+ * The time/date the Branch was updated.
19
+ * @format date-time
20
+ */
21
+ updated_at?: string | null;
22
+ /** An array of PullRequests attached to the Branch (there is usually only one). */
23
+ pull_requests: PullRequest[];
24
+ /** The IDs of the Branches the Branch has been merged into. */
25
+ merged_branch_ids: number[];
26
+ /**
27
+ * The unique ID of the Branch.
28
+ * @format int64
29
+ */
30
+ id?: number | null;
31
+ /** The URL of the Branch. */
32
+ url: string;
33
+ /**
34
+ * The ID of the Repository that contains the Branch.
35
+ * @format int64
36
+ */
37
+ repository_id?: number | null;
38
+ /**
39
+ * The time/date the Branch was created.
40
+ * @format date-time
41
+ */
42
+ created_at?: string | null;
43
+ }
44
+ /**
45
+ * A Category can be used to associate Milestones.
46
+ */
47
+ export interface Category {
48
+ /** A true/false boolean indicating if the Category has been archived. */
49
+ archived: boolean;
50
+ /** A string description of this resource. */
51
+ entity_type: string;
52
+ /**
53
+ * The hex color to be displayed with the Category (for example, "#ff0000").
54
+ * @format css-color
55
+ * @pattern ^#[a-fA-F0-9]{6}$
56
+ */
57
+ color?: string | null;
58
+ /** The name of the Category. */
59
+ name: string;
60
+ /** The type of entity this Category is associated with; currently Milestone is the only type of Category. */
61
+ type: string;
62
+ /**
63
+ * The time/date that the Category was updated.
64
+ * @format date-time
65
+ */
66
+ updated_at: string;
67
+ /** This field can be set to another unique ID. In the case that the Category has been imported from another tool, the ID in the other tool can be indicated here. */
68
+ external_id?: string | null;
69
+ /**
70
+ * The unique ID of the Category.
71
+ * @format int64
72
+ */
73
+ id: number;
74
+ /**
75
+ * The time/date that the Category was created.
76
+ * @format date-time
77
+ */
78
+ created_at: string;
79
+ }
80
+ /**
81
+ * Commit refers to a VCS commit and all associated details.
82
+ */
83
+ export interface Commit {
84
+ /** A string description of this resource. */
85
+ entity_type: string;
86
+ /**
87
+ * The ID of the Member that authored the Commit, if known.
88
+ * @format uuid
89
+ */
90
+ author_id?: string | null;
91
+ /** The Commit hash. */
92
+ hash: string;
93
+ /**
94
+ * The time/date the Commit was updated.
95
+ * @format date-time
96
+ */
97
+ updated_at?: string | null;
98
+ /** The IDs of the Branches the Commit has been merged into. */
99
+ merged_branch_ids: number[];
100
+ /**
101
+ * The unique ID of the Commit.
102
+ * @format int64
103
+ */
104
+ id?: number | null;
105
+ /** The URL of the Commit. */
106
+ url: string;
107
+ /** The email address of the VCS user that authored the Commit. */
108
+ author_email: string;
109
+ /**
110
+ * The time/date the Commit was pushed.
111
+ * @format date-time
112
+ */
113
+ timestamp: string;
114
+ /** The Identity of the VCS user that authored the Commit. */
115
+ author_identity: Identity;
116
+ /**
117
+ * The ID of the Repository that contains the Commit.
118
+ * @format int64
119
+ */
120
+ repository_id?: number | null;
121
+ /**
122
+ * The time/date the Commit was created.
123
+ * @format date-time
124
+ */
125
+ created_at: string;
126
+ /** The Commit message. */
127
+ message: string;
128
+ }
129
+ export interface CreateCategory {
130
+ /** The name of the new Category. */
131
+ name: string;
132
+ /**
133
+ * The hex color to be displayed with the Category (for example, "#ff0000").
134
+ * @format css-color
135
+ * @pattern ^#[a-fA-F0-9]{6}$
136
+ */
137
+ color?: string;
138
+ /** This field can be set to another unique ID. In the case that the Category has been imported from another tool, the ID in the other tool can be indicated here. */
139
+ external_id?: string;
140
+ /** The type of entity this Category is associated with; currently Milestone is the only type of Category. */
141
+ type: "milestone";
142
+ }
143
+ /**
144
+ * Request parameters for creating a Category with a Milestone.
145
+ */
146
+ export interface CreateCategoryParams {
147
+ /** The name of the new Category. */
148
+ name: string;
149
+ /**
150
+ * The hex color to be displayed with the Category (for example, "#ff0000").
151
+ * @format css-color
152
+ * @pattern ^#[a-fA-F0-9]{6}$
153
+ */
154
+ color?: string;
155
+ /** This field can be set to another unique ID. In the case that the Category has been imported from another tool, the ID in the other tool can be indicated here. */
156
+ external_id?: string;
157
+ }
158
+ export interface CreateCommentComment {
159
+ /** The comment text. */
160
+ text: string;
161
+ /**
162
+ * The Member ID of the Comment's author. Defaults to the user identified by the API token.
163
+ * @format uuid
164
+ */
165
+ author_id?: string;
166
+ /**
167
+ * Defaults to the time/date the comment is created, but can be set to reflect another date.
168
+ * @format date-time
169
+ */
170
+ created_at?: string;
171
+ /**
172
+ * Defaults to the time/date the comment is last updated, but can be set to reflect another date.
173
+ * @format date-time
174
+ */
175
+ updated_at?: string;
176
+ /** This field can be set to another unique ID. In the case that the comment has been imported from another tool, the ID in the other tool can be indicated here. */
177
+ external_id?: string;
178
+ }
179
+ /**
180
+ * Request paramaters for creating an entirely new entity template.
181
+ */
182
+ export interface CreateEntityTemplate {
183
+ /** The name of the new entity template */
184
+ name: string;
185
+ /**
186
+ * The id of the user creating this template.
187
+ * @format uuid
188
+ */
189
+ author_id?: string;
190
+ /** A map of story attributes this template populates. */
191
+ story_contents: CreateStoryContents;
192
+ }
193
+ export interface CreateEpic {
194
+ /** The Epic's description. */
195
+ description?: string;
196
+ /** An array of Labels attached to the Epic. */
197
+ labels?: CreateLabelParams[];
198
+ /**
199
+ * A manual override for the time/date the Epic was completed.
200
+ * @format date-time
201
+ */
202
+ completed_at_override?: string;
203
+ /** The Epic's name. */
204
+ name: string;
205
+ /**
206
+ * The Epic's planned start date.
207
+ * @format date-time
208
+ */
209
+ planned_start_date?: string | null;
210
+ /** `Deprecated` The Epic's state (to do, in progress, or done); will be ignored when `epic_state_id` is set. */
211
+ state?: "in progress" | "to do" | "done";
212
+ /**
213
+ * The ID of the Milestone this Epic is related to.
214
+ * @format int64
215
+ */
216
+ milestone_id?: number | null;
217
+ /**
218
+ * The ID of the member that requested the epic.
219
+ * @format uuid
220
+ */
221
+ requested_by_id?: string;
222
+ /**
223
+ * The ID of the Epic State.
224
+ * @format int64
225
+ */
226
+ epic_state_id?: number;
227
+ /**
228
+ * A manual override for the time/date the Epic was started.
229
+ * @format date-time
230
+ */
231
+ started_at_override?: string;
232
+ /**
233
+ * The ID of the group to associate with the epic.
234
+ * @format uuid
235
+ */
236
+ group_id?: string | null;
237
+ /**
238
+ * Defaults to the time/date it is created but can be set to reflect another date.
239
+ * @format date-time
240
+ */
241
+ updated_at?: string;
242
+ /** An array of UUIDs for any Members you want to add as Followers on this new Epic. */
243
+ follower_ids?: string[];
244
+ /** An array of UUIDs for any members you want to add as Owners on this new Epic. */
245
+ owner_ids?: string[];
246
+ /** This field can be set to another unique ID. In the case that the Epic has been imported from another tool, the ID in the other tool can be indicated here. */
247
+ external_id?: string;
248
+ /**
249
+ * The Epic's deadline.
250
+ * @format date-time
251
+ */
252
+ deadline?: string | null;
253
+ /**
254
+ * Defaults to the time/date it is created but can be set to reflect another date.
255
+ * @format date-time
256
+ */
257
+ created_at?: string;
258
+ }
259
+ export interface CreateEpicComment {
260
+ /** The comment text. */
261
+ text: string;
262
+ /**
263
+ * The Member ID of the Comment's author. Defaults to the user identified by the API token.
264
+ * @format uuid
265
+ */
266
+ author_id?: string;
267
+ /**
268
+ * Defaults to the time/date the comment is created, but can be set to reflect another date.
269
+ * @format date-time
270
+ */
271
+ created_at?: string;
272
+ /**
273
+ * Defaults to the time/date the comment is last updated, but can be set to reflect another date.
274
+ * @format date-time
275
+ */
276
+ updated_at?: string;
277
+ /** This field can be set to another unique ID. In the case that the comment has been imported from another tool, the ID in the other tool can be indicated here. */
278
+ external_id?: string;
279
+ }
280
+ export interface CreateGroup {
281
+ /** The description of the Group. */
282
+ description?: string;
283
+ /** The Member ids to add to this Group. */
284
+ member_ids?: string[];
285
+ /** The Workflow ids to add to the Group. */
286
+ workflow_ids?: number[];
287
+ /** The name of this Group. */
288
+ name: string;
289
+ /** The mention name of this Group. */
290
+ mention_name: string;
291
+ /**
292
+ * The color you wish to use for the Group in the system.
293
+ * @format css-color
294
+ * @pattern ^#[a-fA-F0-9]{6}$
295
+ */
296
+ color?: string;
297
+ /** The color key you wish to use for the Group in the system. */
298
+ color_key?: "blue" | "purple" | "midnight-blue" | "orange" | "yellow-green" | "brass" | "gray" | "fuchsia" | "yellow" | "pink" | "sky-blue" | "green" | "red" | "black" | "slate" | "turquoise";
299
+ /**
300
+ * The Icon id for the avatar of this Group.
301
+ * @format uuid
302
+ */
303
+ display_icon_id?: string;
304
+ }
305
+ export interface CreateIteration {
306
+ /** An array of UUIDs for any Members you want to add as Followers. */
307
+ follower_ids?: string[];
308
+ /** An array of UUIDs for any Groups you want to add as Followers. Currently, only one Group association is presented in our web UI. */
309
+ group_ids?: string[];
310
+ /** An array of Labels attached to the Iteration. */
311
+ labels?: CreateLabelParams[];
312
+ /** The description of the Iteration. */
313
+ description?: string;
314
+ /** The name of this Iteration. */
315
+ name: string;
316
+ /** The date this Iteration begins, e.g. 2019-07-01. */
317
+ start_date: string;
318
+ /** The date this Iteration ends, e.g. 2019-07-01. */
319
+ end_date: string;
320
+ }
321
+ /**
322
+ * Request parameters for creating a Label on a Shortcut Story.
323
+ */
324
+ export interface CreateLabelParams {
325
+ /** The name of the new Label. */
326
+ name: string;
327
+ /** The description of the new Label. */
328
+ description?: string;
329
+ /**
330
+ * The hex color to be displayed with the Label (for example, "#ff0000").
331
+ * @format css-color
332
+ * @pattern ^#[a-fA-F0-9]{6}$
333
+ */
334
+ color?: string;
335
+ /** This field can be set to another unique ID. In the case that the Label has been imported from another tool, the ID in the other tool can be indicated here. */
336
+ external_id?: string;
337
+ }
338
+ export interface CreateLinkedFile {
339
+ /** The description of the file. */
340
+ description?: string;
341
+ /**
342
+ * The ID of the linked story.
343
+ * @format int64
344
+ */
345
+ story_id?: number;
346
+ /** The name of the file. */
347
+ name: string;
348
+ /**
349
+ * The URL of the thumbnail, if the integration provided it.
350
+ * @pattern ^https?://.+$
351
+ */
352
+ thumbnail_url?: string;
353
+ /** The integration type of the file (e.g. google, dropbox, box). */
354
+ type: "google" | "url" | "dropbox" | "box" | "onedrive";
355
+ /**
356
+ * The filesize, if the integration provided it.
357
+ * @format int64
358
+ */
359
+ size?: number;
360
+ /**
361
+ * The UUID of the member that uploaded the file.
362
+ * @format uuid
363
+ */
364
+ uploader_id?: string;
365
+ /** The content type of the image (e.g. txt/plain). */
366
+ content_type?: string;
367
+ /**
368
+ * The URL of linked file.
369
+ * @pattern ^https?://.+$
370
+ */
371
+ url: string;
372
+ }
373
+ export interface CreateMilestone {
374
+ /** The name of the Milestone. */
375
+ name: string;
376
+ /** The Milestone's description. */
377
+ description?: string;
378
+ /** The workflow state that the Milestone is in. */
379
+ state?: "in progress" | "to do" | "done";
380
+ /**
381
+ * A manual override for the time/date the Milestone was started.
382
+ * @format date-time
383
+ */
384
+ started_at_override?: string;
385
+ /**
386
+ * A manual override for the time/date the Milestone was completed.
387
+ * @format date-time
388
+ */
389
+ completed_at_override?: string;
390
+ /** An array of IDs of Categories attached to the Milestone. */
391
+ categories?: CreateCategoryParams[];
392
+ }
393
+ export interface CreateOrDeleteStoryReaction {
394
+ /** The emoji short-code to add / remove. E.g. `:thumbsup::skin-tone-4:`. */
395
+ emoji: string;
396
+ }
397
+ export interface CreateProject {
398
+ /** The Project description. */
399
+ description?: string;
400
+ /**
401
+ * The color you wish to use for the Project in the system.
402
+ * @format css-color
403
+ * @pattern ^#[a-fA-F0-9]{6}$
404
+ */
405
+ color?: string;
406
+ /** The name of the Project. */
407
+ name: string;
408
+ /**
409
+ * The date at which the Project was started.
410
+ * @format date-time
411
+ */
412
+ start_time?: string;
413
+ /**
414
+ * Defaults to the time/date it is created but can be set to reflect another date.
415
+ * @format date-time
416
+ */
417
+ updated_at?: string;
418
+ /** An array of UUIDs for any members you want to add as Owners on this new Epic. */
419
+ follower_ids?: string[];
420
+ /** This field can be set to another unique ID. In the case that the Project has been imported from another tool, the ID in the other tool can be indicated here. */
421
+ external_id?: string;
422
+ /**
423
+ * The ID of the team the project belongs to.
424
+ * @format int64
425
+ */
426
+ team_id: number;
427
+ /**
428
+ * The number of weeks per iteration in this Project.
429
+ * @format int64
430
+ */
431
+ iteration_length?: number;
432
+ /** The Project abbreviation used in Story summaries. Should be kept to 3 characters at most. */
433
+ abbreviation?: string;
434
+ /**
435
+ * Defaults to the time/date it is created but can be set to reflect another date.
436
+ * @format date-time
437
+ */
438
+ created_at?: string;
439
+ }
440
+ export interface CreateStories {
441
+ /** An array of stories to be created. */
442
+ stories: CreateStoryParams[];
443
+ }
444
+ export interface CreateStoryComment {
445
+ /** The comment text. */
446
+ text: string;
447
+ /**
448
+ * The Member ID of the Comment's author. Defaults to the user identified by the API token.
449
+ * @format uuid
450
+ */
451
+ author_id?: string;
452
+ /**
453
+ * Defaults to the time/date the comment is created, but can be set to reflect another date.
454
+ * @format date-time
455
+ */
456
+ created_at?: string;
457
+ /**
458
+ * Defaults to the time/date the comment is last updated, but can be set to reflect another date.
459
+ * @format date-time
460
+ */
461
+ updated_at?: string;
462
+ /** This field can be set to another unique ID. In the case that the comment has been imported from another tool, the ID in the other tool can be indicated here. */
463
+ external_id?: string;
464
+ }
465
+ /**
466
+ * Request parameters for creating a Comment on a Shortcut Story.
467
+ */
468
+ export interface CreateStoryCommentParams {
469
+ /** The comment text. */
470
+ text: string;
471
+ /**
472
+ * The Member ID of the Comment's author. Defaults to the user identified by the API token.
473
+ * @format uuid
474
+ */
475
+ author_id?: string;
476
+ /**
477
+ * Defaults to the time/date the comment is created, but can be set to reflect another date.
478
+ * @format date-time
479
+ */
480
+ created_at?: string;
481
+ /**
482
+ * Defaults to the time/date the comment is last updated, but can be set to reflect another date.
483
+ * @format date-time
484
+ */
485
+ updated_at?: string;
486
+ /** This field can be set to another unique ID. In the case that the comment has been imported from another tool, the ID in the other tool can be indicated here. */
487
+ external_id?: string;
488
+ }
489
+ /**
490
+ * A map of story attributes this template populates.
491
+ */
492
+ export interface CreateStoryContents {
493
+ /** The description of the story. */
494
+ description?: string;
495
+ /** A string description of this resource. */
496
+ entity_type?: string;
497
+ /** An array of labels to be populated by the template. */
498
+ labels?: CreateLabelParams[];
499
+ /** The type of story (feature, bug, chore). */
500
+ story_type?: string;
501
+ /** An array of linked files attached to the story. */
502
+ linked_files?: LinkedFile[];
503
+ /** An array of the attached file IDs to be populated. */
504
+ file_ids?: number[];
505
+ /** The name of the story. */
506
+ name?: string;
507
+ /**
508
+ * The ID of the epic the to be populated.
509
+ * @format int64
510
+ */
511
+ epic_id?: number | null;
512
+ /** An array of external links to be populated. */
513
+ external_links?: string[];
514
+ /**
515
+ * The ID of the iteration the to be populated.
516
+ * @format int64
517
+ */
518
+ iteration_id?: number | null;
519
+ /** An array of tasks to be populated by the template. */
520
+ tasks?: EntityTemplateTask[];
521
+ /** An array of label ids attached to the story. */
522
+ label_ids?: number[];
523
+ /**
524
+ * The ID of the group to be populated.
525
+ * @format uuid
526
+ */
527
+ group_id?: string | null;
528
+ /**
529
+ * The ID of the workflow state the story is currently in.
530
+ * @format int64
531
+ */
532
+ workflow_state_id?: number;
533
+ /** An array of UUIDs for any Members listed as Followers. */
534
+ follower_ids?: string[];
535
+ /** An array of UUIDs of the owners of this story. */
536
+ owner_ids?: string[];
537
+ /**
538
+ * The numeric point estimate to be populated.
539
+ * @format int64
540
+ */
541
+ estimate?: number | null;
542
+ /** An array of files attached to the story. */
543
+ files?: UploadedFile[];
544
+ /**
545
+ * The ID of the project the story belongs to.
546
+ * @format int64
547
+ */
548
+ project_id?: number;
549
+ /** An array of the linked file IDs to be populated. */
550
+ linked_file_ids?: number[];
551
+ /**
552
+ * The due date of the story.
553
+ * @format date-time
554
+ */
555
+ deadline?: string | null;
556
+ }
557
+ export interface CreateStoryLink {
558
+ /** The type of link. */
559
+ verb: "blocks" | "duplicates" | "relates to";
560
+ /**
561
+ * The ID of the subject Story.
562
+ * @format int64
563
+ */
564
+ subject_id: number;
565
+ /**
566
+ * The ID of the object Story.
567
+ * @format int64
568
+ */
569
+ object_id: number;
570
+ }
571
+ /**
572
+ * Request parameters for creating a Story Link within a Story.
573
+ */
574
+ export interface CreateStoryLinkParams {
575
+ /**
576
+ * The unique ID of the Story defined as subject.
577
+ * @format int64
578
+ */
579
+ subject_id?: number;
580
+ /** How the subject Story acts on the object Story. This can be "blocks", "duplicates", or "relates to". */
581
+ verb: "blocks" | "duplicates" | "relates to";
582
+ /**
583
+ * The unique ID of the Story defined as object.
584
+ * @format int64
585
+ */
586
+ object_id?: number;
587
+ }
588
+ /**
589
+ * Request parameters for creating a story.
590
+ */
591
+ export interface CreateStoryParams {
592
+ /** The description of the story. */
593
+ description?: string;
594
+ /** Controls the story's archived state. */
595
+ archived?: boolean;
596
+ /** An array of story links attached to the story. */
597
+ story_links?: CreateStoryLinkParams[];
598
+ /** An array of labels attached to the story. */
599
+ labels?: CreateLabelParams[];
600
+ /** The type of story (feature, bug, chore). */
601
+ story_type?: "feature" | "chore" | "bug";
602
+ /** An array of IDs of files attached to the story. */
603
+ file_ids?: number[];
604
+ /**
605
+ * A manual override for the time/date the Story was completed.
606
+ * @format date-time
607
+ */
608
+ completed_at_override?: string;
609
+ /** The name of the story. */
610
+ name: string;
611
+ /** An array of comments to add to the story. */
612
+ comments?: CreateStoryCommentParams[];
613
+ /**
614
+ * The ID of the epic the story belongs to.
615
+ * @format int64
616
+ */
617
+ epic_id?: number | null;
618
+ /**
619
+ * The id of the story template used to create this story, if applicable.
620
+ * @format uuid
621
+ */
622
+ story_template_id?: string | null;
623
+ /** An array of External Links associated with this story. */
624
+ external_links?: string[];
625
+ /**
626
+ * The ID of the member that requested the story.
627
+ * @format uuid
628
+ */
629
+ requested_by_id?: string;
630
+ /**
631
+ * The ID of the iteration the story belongs to.
632
+ * @format int64
633
+ */
634
+ iteration_id?: number | null;
635
+ /** An array of tasks connected to the story. */
636
+ tasks?: CreateTaskParams[];
637
+ /**
638
+ * A manual override for the time/date the Story was started.
639
+ * @format date-time
640
+ */
641
+ started_at_override?: string;
642
+ /**
643
+ * The id of the group to associate with this story.
644
+ * @format uuid
645
+ */
646
+ group_id?: string | null;
647
+ /**
648
+ * The ID of the workflow state the story will be in.
649
+ * @format int64
650
+ */
651
+ workflow_state_id?: number;
652
+ /**
653
+ * The time/date the Story was updated.
654
+ * @format date-time
655
+ */
656
+ updated_at?: string;
657
+ /** An array of UUIDs of the followers of this story. */
658
+ follower_ids?: string[];
659
+ /** An array of UUIDs of the owners of this story. */
660
+ owner_ids?: string[];
661
+ /** 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. */
662
+ external_id?: string;
663
+ /**
664
+ * The numeric point estimate of the story. Can also be null, which means unestimated.
665
+ * @format int64
666
+ */
667
+ estimate?: number | null;
668
+ /**
669
+ * The ID of the project the story belongs to.
670
+ * @format int64
671
+ */
672
+ project_id?: number | null;
673
+ /** An array of IDs of linked files attached to the story. */
674
+ linked_file_ids?: number[];
675
+ /**
676
+ * The due date of the story.
677
+ * @format date-time
678
+ */
679
+ deadline?: string | null;
680
+ /**
681
+ * The time/date the Story was created.
682
+ * @format date-time
683
+ */
684
+ created_at?: string;
685
+ }
686
+ export interface CreateTask {
687
+ /** The Task description. */
688
+ description: string;
689
+ /** True/false boolean indicating whether the Task is completed. Defaults to false. */
690
+ complete?: boolean;
691
+ /** An array of UUIDs for any members you want to add as Owners on this new Task. */
692
+ owner_ids?: string[];
693
+ /**
694
+ * Defaults to the time/date the Task is created but can be set to reflect another creation time/date.
695
+ * @format date-time
696
+ */
697
+ created_at?: string;
698
+ /**
699
+ * Defaults to the time/date the Task is created in Shortcut but can be set to reflect another time/date.
700
+ * @format date-time
701
+ */
702
+ updated_at?: string;
703
+ /** This field can be set to another unique ID. In the case that the Task has been imported from another tool, the ID in the other tool can be indicated here. */
704
+ external_id?: string;
705
+ }
706
+ /**
707
+ * Request parameters for creating a Task on a Story.
708
+ */
709
+ export interface CreateTaskParams {
710
+ /** The Task description. */
711
+ description: string;
712
+ /** True/false boolean indicating whether the Task is completed. Defaults to false. */
713
+ complete?: boolean;
714
+ /** An array of UUIDs for any members you want to add as Owners on this new Task. */
715
+ owner_ids?: string[];
716
+ /**
717
+ * Defaults to the time/date the Task is created but can be set to reflect another creation time/date.
718
+ * @format date-time
719
+ */
720
+ created_at?: string;
721
+ /**
722
+ * Defaults to the time/date the Task is created in Shortcut but can be set to reflect another time/date.
723
+ * @format date-time
724
+ */
725
+ updated_at?: string;
726
+ /** This field can be set to another unique ID. In the case that the Task has been imported from another tool, the ID in the other tool can be indicated here. */
727
+ external_id?: string;
728
+ }
729
+ export interface DeleteStories {
730
+ /** An array of IDs of Stories to delete. */
731
+ story_ids: number[];
732
+ }
733
+ /**
734
+ * An entity template can be used to prefill various fields when creating new stories.
735
+ */
736
+ export interface EntityTemplate {
737
+ /** A string description of this resource. */
738
+ entity_type: string;
739
+ /**
740
+ * The unique identifier for the entity template.
741
+ * @format uuid
742
+ */
743
+ id: string;
744
+ /**
745
+ * The time/date when the entity template was created.
746
+ * @format date-time
747
+ */
748
+ created_at: string;
749
+ /**
750
+ * The time/date when the entity template was last updated.
751
+ * @format date-time
752
+ */
753
+ updated_at: string;
754
+ /** The template's name. */
755
+ name: string;
756
+ /**
757
+ * The unique ID of the member who created the template.
758
+ * @format uuid
759
+ */
760
+ author_id: string;
761
+ /**
762
+ * The last time that someone created an entity using this template.
763
+ * @format date-time
764
+ */
765
+ last_used_at: string;
766
+ /** A container entity for the attributes this template should populate. */
767
+ story_contents: StoryContents;
768
+ }
769
+ /**
770
+ * Request parameters for specifying how to pre-populate a task through a template.
771
+ */
772
+ export interface EntityTemplateTask {
773
+ /** The Task description. */
774
+ description: string;
775
+ /** True/false boolean indicating whether the Task is completed. Defaults to false. */
776
+ complete?: boolean;
777
+ /** An array of UUIDs for any members you want to add as Owners on this new Task. */
778
+ owner_ids?: string[];
779
+ /** This field can be set to another unique ID. In the case that the Task has been imported from another tool, the ID in the other tool can be indicated here. */
780
+ external_id?: string;
781
+ }
782
+ /**
783
+ * An Epic is a collection of stories that together might make up a release, a milestone, or some other large initiative that your organization is working on.
784
+ */
785
+ export interface Epic {
786
+ /** The Shortcut application url for the Epic. */
787
+ app_url: string;
788
+ /** The Epic's description. */
789
+ description: string;
790
+ /** True/false boolean that indicates whether the Epic is archived or not. */
791
+ archived: boolean;
792
+ /** A true/false boolean indicating if the Epic has been started. */
793
+ started: boolean;
794
+ /** A string description of this resource. */
795
+ entity_type: string;
796
+ /** An array of Labels attached to the Epic. */
797
+ labels: LabelSlim[];
798
+ /** Deprecated: use member_mention_ids. */
799
+ mention_ids: string[];
800
+ /** An array of Member IDs that have been mentioned in the Epic description. */
801
+ member_mention_ids: string[];
802
+ /** The IDs of Projects related to this Epic. */
803
+ project_ids: number[];
804
+ /**
805
+ * The number of stories in this epic which are not associated with a project.
806
+ * @format int64
807
+ */
808
+ stories_without_projects: number;
809
+ /**
810
+ * A manual override for the time/date the Epic was completed.
811
+ * @format date-time
812
+ */
813
+ completed_at_override?: string | null;
814
+ /**
815
+ * The ID of the associated productboard integration.
816
+ * @format uuid
817
+ */
818
+ productboard_plugin_id?: string | null;
819
+ /**
820
+ * The time/date the Epic was started.
821
+ * @format date-time
822
+ */
823
+ started_at?: string | null;
824
+ /**
825
+ * The time/date the Epic was completed.
826
+ * @format date-time
827
+ */
828
+ completed_at?: string | null;
829
+ /** The name of the Epic. */
830
+ name: string;
831
+ /** A true/false boolean indicating if the Epic has been completed. */
832
+ completed: boolean;
833
+ /** A nested array of threaded comments. */
834
+ comments: ThreadedComment[];
835
+ /** The URL of the associated productboard feature. */
836
+ productboard_url?: string | null;
837
+ /**
838
+ * The Epic's planned start date.
839
+ * @format date-time
840
+ */
841
+ planned_start_date?: string | null;
842
+ /** `Deprecated` The workflow state that the Epic is in. */
843
+ state: string;
844
+ /**
845
+ * The ID of the Milestone this Epic is related to.
846
+ * @format int64
847
+ */
848
+ milestone_id?: number | null;
849
+ /**
850
+ * The ID of the Member that requested the epic.
851
+ * @format uuid
852
+ */
853
+ requested_by_id: string;
854
+ /**
855
+ * The ID of the Epic State.
856
+ * @format int64
857
+ */
858
+ epic_state_id: number;
859
+ /** An array of Label ids attached to the Epic. */
860
+ label_ids: number[];
861
+ /**
862
+ * A manual override for the time/date the Epic was started.
863
+ * @format date-time
864
+ */
865
+ started_at_override?: string | null;
866
+ /** @format uuid */
867
+ group_id?: string | null;
868
+ /**
869
+ * The time/date the Epic was updated.
870
+ * @format date-time
871
+ */
872
+ updated_at?: string | null;
873
+ /** An array of Group IDs that have been mentioned in the Epic description. */
874
+ group_mention_ids: string[];
875
+ /**
876
+ * The ID of the associated productboard feature.
877
+ * @format uuid
878
+ */
879
+ productboard_id?: string | null;
880
+ /** An array of UUIDs for any Members you want to add as Followers on this Epic. */
881
+ follower_ids: string[];
882
+ /** An array of UUIDs for any members you want to add as Owners on this new Epic. */
883
+ owner_ids: string[];
884
+ /** This field can be set to another unique ID. In the case that the Epic has been imported from another tool, the ID in the other tool can be indicated here. */
885
+ external_id?: string | null;
886
+ /**
887
+ * The unique ID of the Epic.
888
+ * @format int64
889
+ */
890
+ id: number;
891
+ /**
892
+ * The Epic's relative position in the Epic workflow state.
893
+ * @format int64
894
+ */
895
+ position: number;
896
+ /** The name of the associated productboard feature. */
897
+ productboard_name?: string | null;
898
+ /**
899
+ * The Epic's deadline.
900
+ * @format date-time
901
+ */
902
+ deadline?: string | null;
903
+ /** A group of calculated values for this Epic. */
904
+ stats: EpicStats;
905
+ /**
906
+ * The time/date the Epic was created.
907
+ * @format date-time
908
+ */
909
+ created_at?: string | null;
910
+ }
911
+ /**
912
+ * The results of the Epic search query.
913
+ */
914
+ export interface EpicSearchResults {
915
+ /**
916
+ * The total number of matches for the search query. The first 1000 matches can be paged through via the API.
917
+ * @format int64
918
+ */
919
+ total: number;
920
+ /** A list of search results. */
921
+ data: Epic[];
922
+ /** The URL path and query string for the next page of search results. */
923
+ next?: string | null;
924
+ cursors?: string[];
925
+ }
926
+ /**
927
+ * EpicSlim represents the same resource as an Epic but is more light-weight, including all Epic fields except the comments array. The description string can be optionally included. Use the [Get Epic](#Get-Epic) endpoint to fetch the unabridged payload for an Epic.
928
+ */
929
+ export interface EpicSlim {
930
+ /** The Shortcut application url for the Epic. */
931
+ app_url: string;
932
+ /** The Epic's description. */
933
+ description?: string;
934
+ /** True/false boolean that indicates whether the Epic is archived or not. */
935
+ archived: boolean;
936
+ /** A true/false boolean indicating if the Epic has been started. */
937
+ started: boolean;
938
+ /** A string description of this resource. */
939
+ entity_type: string;
940
+ /** An array of Labels attached to the Epic. */
941
+ labels: LabelSlim[];
942
+ /** Deprecated: use member_mention_ids. */
943
+ mention_ids: string[];
944
+ /** An array of Member IDs that have been mentioned in the Epic description. */
945
+ member_mention_ids: string[];
946
+ /** The IDs of Projects related to this Epic. */
947
+ project_ids: number[];
948
+ /**
949
+ * The number of stories in this epic which are not associated with a project.
950
+ * @format int64
951
+ */
952
+ stories_without_projects: number;
953
+ /**
954
+ * A manual override for the time/date the Epic was completed.
955
+ * @format date-time
956
+ */
957
+ completed_at_override?: string | null;
958
+ /**
959
+ * The ID of the associated productboard integration.
960
+ * @format uuid
961
+ */
962
+ productboard_plugin_id?: string | null;
963
+ /**
964
+ * The time/date the Epic was started.
965
+ * @format date-time
966
+ */
967
+ started_at?: string | null;
968
+ /**
969
+ * The time/date the Epic was completed.
970
+ * @format date-time
971
+ */
972
+ completed_at?: string | null;
973
+ /** The name of the Epic. */
974
+ name: string;
975
+ /** A true/false boolean indicating if the Epic has been completed. */
976
+ completed: boolean;
977
+ /** The URL of the associated productboard feature. */
978
+ productboard_url?: string | null;
979
+ /**
980
+ * The Epic's planned start date.
981
+ * @format date-time
982
+ */
983
+ planned_start_date?: string | null;
984
+ /** `Deprecated` The workflow state that the Epic is in. */
985
+ state: string;
986
+ /**
987
+ * The ID of the Milestone this Epic is related to.
988
+ * @format int64
989
+ */
990
+ milestone_id?: number | null;
991
+ /**
992
+ * The ID of the Member that requested the epic.
993
+ * @format uuid
994
+ */
995
+ requested_by_id: string;
996
+ /**
997
+ * The ID of the Epic State.
998
+ * @format int64
999
+ */
1000
+ epic_state_id: number;
1001
+ /** An array of Label ids attached to the Epic. */
1002
+ label_ids: number[];
1003
+ /**
1004
+ * A manual override for the time/date the Epic was started.
1005
+ * @format date-time
1006
+ */
1007
+ started_at_override?: string | null;
1008
+ /** @format uuid */
1009
+ group_id?: string | null;
1010
+ /**
1011
+ * The time/date the Epic was updated.
1012
+ * @format date-time
1013
+ */
1014
+ updated_at?: string | null;
1015
+ /** An array of Group IDs that have been mentioned in the Epic description. */
1016
+ group_mention_ids: string[];
1017
+ /**
1018
+ * The ID of the associated productboard feature.
1019
+ * @format uuid
1020
+ */
1021
+ productboard_id?: string | null;
1022
+ /** An array of UUIDs for any Members you want to add as Followers on this Epic. */
1023
+ follower_ids: string[];
1024
+ /** An array of UUIDs for any members you want to add as Owners on this new Epic. */
1025
+ owner_ids: string[];
1026
+ /** This field can be set to another unique ID. In the case that the Epic has been imported from another tool, the ID in the other tool can be indicated here. */
1027
+ external_id?: string | null;
1028
+ /**
1029
+ * The unique ID of the Epic.
1030
+ * @format int64
1031
+ */
1032
+ id: number;
1033
+ /**
1034
+ * The Epic's relative position in the Epic workflow state.
1035
+ * @format int64
1036
+ */
1037
+ position: number;
1038
+ /** The name of the associated productboard feature. */
1039
+ productboard_name?: string | null;
1040
+ /**
1041
+ * The Epic's deadline.
1042
+ * @format date-time
1043
+ */
1044
+ deadline?: string | null;
1045
+ /** A group of calculated values for this Epic. */
1046
+ stats: EpicStats;
1047
+ /**
1048
+ * The time/date the Epic was created.
1049
+ * @format date-time
1050
+ */
1051
+ created_at?: string | null;
1052
+ }
1053
+ /**
1054
+ * Epic State is any of the at least 3 columns. Epic States correspond to one of 3 types: Unstarted, Started, or Done.
1055
+ */
1056
+ export interface EpicState {
1057
+ /** The description of what sort of Epics belong in that Epic State. */
1058
+ description: string;
1059
+ /** A string description of this resource. */
1060
+ entity_type: string;
1061
+ /**
1062
+ * The hex color for this Epic State.
1063
+ * @format css-color
1064
+ * @pattern ^#[a-fA-F0-9]{6}$
1065
+ */
1066
+ color?: string;
1067
+ /** The Epic State's name. */
1068
+ name: string;
1069
+ /** The type of Epic State (Unstarted, Started, or Done) */
1070
+ type: string;
1071
+ /**
1072
+ * When the Epic State was last updated.
1073
+ * @format date-time
1074
+ */
1075
+ updated_at: string;
1076
+ /**
1077
+ * The unique ID of the Epic State.
1078
+ * @format int64
1079
+ */
1080
+ id: number;
1081
+ /**
1082
+ * The position that the Epic State is in, starting with 0 at the left.
1083
+ * @format int64
1084
+ */
1085
+ position: number;
1086
+ /**
1087
+ * The time/date the Epic State was created.
1088
+ * @format date-time
1089
+ */
1090
+ created_at: string;
1091
+ }
1092
+ /**
1093
+ * A group of calculated values for this Epic.
1094
+ */
1095
+ export interface EpicStats {
1096
+ /**
1097
+ * The total number of completed points in this Epic.
1098
+ * @format int64
1099
+ */
1100
+ num_points_done: number;
1101
+ /**
1102
+ * The total number of documents associated with this Epic.
1103
+ * @format int64
1104
+ */
1105
+ num_related_documents: number;
1106
+ /**
1107
+ * The average cycle time (in seconds) of completed stories in this Epic.
1108
+ * @format int64
1109
+ */
1110
+ average_cycle_time?: number;
1111
+ /**
1112
+ * The total number of unstarted Stories in this Epic.
1113
+ * @format int64
1114
+ */
1115
+ num_stories_unstarted: number;
1116
+ /**
1117
+ * The total number of Stories in this Epic.
1118
+ * @format int64
1119
+ */
1120
+ num_stories_total: number;
1121
+ /**
1122
+ * The date of the last update of a Story in this Epic.
1123
+ * @format date-time
1124
+ */
1125
+ last_story_update?: string | null;
1126
+ /**
1127
+ * The total number of started points in this Epic.
1128
+ * @format int64
1129
+ */
1130
+ num_points_started: number;
1131
+ /**
1132
+ * The total number of unstarted points in this Epic.
1133
+ * @format int64
1134
+ */
1135
+ num_points_unstarted: number;
1136
+ /**
1137
+ * The total number of started Stories in this Epic.
1138
+ * @format int64
1139
+ */
1140
+ num_stories_started: number;
1141
+ /**
1142
+ * The total number of Stories with no point estimate.
1143
+ * @format int64
1144
+ */
1145
+ num_stories_unestimated: number;
1146
+ /**
1147
+ * The average lead time (in seconds) of completed stories in this Epic.
1148
+ * @format int64
1149
+ */
1150
+ average_lead_time?: number;
1151
+ /**
1152
+ * The total number of points in this Epic.
1153
+ * @format int64
1154
+ */
1155
+ num_points: number;
1156
+ /**
1157
+ * The total number of done Stories in this Epic.
1158
+ * @format int64
1159
+ */
1160
+ num_stories_done: number;
1161
+ }
1162
+ /**
1163
+ * Epic Workflow is the array of defined Epic States. Epic Workflow can be queried using the API but must be updated in the Shortcut UI.
1164
+ */
1165
+ export interface EpicWorkflow {
1166
+ /** A string description of this resource. */
1167
+ entity_type: string;
1168
+ /**
1169
+ * The unique ID of the Epic Workflow.
1170
+ * @format int64
1171
+ */
1172
+ id: number;
1173
+ /**
1174
+ * The date the Epic Workflow was created.
1175
+ * @format date-time
1176
+ */
1177
+ created_at: string;
1178
+ /**
1179
+ * The date the Epic Workflow was updated.
1180
+ * @format date-time
1181
+ */
1182
+ updated_at: string;
1183
+ /**
1184
+ * The unique ID of the default Epic State that new Epics are assigned by default.
1185
+ * @format int64
1186
+ */
1187
+ default_epic_state_id: number;
1188
+ /** A map of the Epic States in this Epic Workflow. */
1189
+ epic_states: EpicState[];
1190
+ }
1191
+ export interface GetEpicStories {
1192
+ /** A true/false boolean indicating whether to return Stories with their descriptions. */
1193
+ includes_description?: boolean;
1194
+ }
1195
+ export interface GetExternalLinkStoriesParams {
1196
+ /**
1197
+ * The external link associated with one or more stories.
1198
+ * @pattern ^https?://.+$
1199
+ */
1200
+ external_link: string;
1201
+ }
1202
+ export interface GetIterationStories {
1203
+ /** A true/false boolean indicating whether to return Stories with their descriptions. */
1204
+ includes_description?: boolean;
1205
+ }
1206
+ export interface GetLabelStories {
1207
+ /** A true/false boolean indicating whether to return Stories with their descriptions. */
1208
+ includes_description?: boolean;
1209
+ }
1210
+ export interface GetMember {
1211
+ /**
1212
+ * The unique ID of the Organization to limit the lookup to.
1213
+ * @format uuid
1214
+ */
1215
+ "org-public-id"?: string;
1216
+ }
1217
+ export interface GetProjectStories {
1218
+ /** A true/false boolean indicating whether to return Stories with their descriptions. */
1219
+ includes_description?: boolean;
1220
+ }
1221
+ /**
1222
+ * A Group.
1223
+ */
1224
+ export interface Group {
1225
+ /** The Shortcut application url for the Group. */
1226
+ app_url: string;
1227
+ /** The description of the Group. */
1228
+ description: string;
1229
+ /** Whether or not the Group is archived. */
1230
+ archived: boolean;
1231
+ /** A string description of this resource. */
1232
+ entity_type: string;
1233
+ /**
1234
+ * The hex color to be displayed with the Group (for example, "#ff0000").
1235
+ * @format css-color
1236
+ * @pattern ^#[a-fA-F0-9]{6}$
1237
+ */
1238
+ color?: string | null;
1239
+ /**
1240
+ * The number of stories assigned to the group which are in a started workflow state.
1241
+ * @format int64
1242
+ */
1243
+ num_stories_started: number;
1244
+ /**
1245
+ * The mention name of the Group.
1246
+ * @pattern ^[a-z0-9\-\_\.]+$
1247
+ */
1248
+ mention_name: string;
1249
+ /** The name of the Group. */
1250
+ name: string;
1251
+ /** The color key to be displayed with the Group. */
1252
+ color_key?: "blue" | "purple" | "midnight-blue" | "orange" | "yellow-green" | "brass" | "gray" | "fuchsia" | "yellow" | "pink" | "sky-blue" | "green" | "red" | "black" | "slate" | "turquoise" | null;
1253
+ /**
1254
+ * The total number of stories assigned ot the group.
1255
+ * @format int64
1256
+ */
1257
+ num_stories: number;
1258
+ /**
1259
+ * The number of epics assigned to the group which are in the started workflow state.
1260
+ * @format int64
1261
+ */
1262
+ num_epics_started: number;
1263
+ /**
1264
+ * The id of the Group.
1265
+ * @format uuid
1266
+ */
1267
+ id: string;
1268
+ /** Icons are used to attach images to Organizations, Members, and Loading screens in the Shortcut web application. */
1269
+ display_icon: Icon | null;
1270
+ /** The Member IDs contain within the Group. */
1271
+ member_ids: string[];
1272
+ /** The Workflow IDs which have stories assigned to the group. */
1273
+ story_workflow_ids: number[];
1274
+ /** The Workflow IDs contained within the Group. */
1275
+ workflow_ids: number[];
1276
+ }
1277
+ /**
1278
+ * A history item is a group of actions that represent a transactional change to a Story.
1279
+ */
1280
+ export interface History {
1281
+ /** The date when the change occurred. */
1282
+ changed_at: string;
1283
+ /**
1284
+ * The ID of the primary entity that has changed, if applicable.
1285
+ * @format int64
1286
+ */
1287
+ primary_id?: number;
1288
+ /** An array of objects affected by the change. Reference objects provide basic information for the entities reference in the history actions. Some have specific fields, but they always contain an id, entity_type, and a name. */
1289
+ references?: (HistoryReferenceBranch | HistoryReferenceCommit | HistoryReferenceEpic | HistoryReferenceGroup | HistoryReferenceIteration | HistoryReferenceLabel | HistoryReferenceProject | HistoryReferenceStory | HistoryReferenceStoryTask | HistoryReferenceWorkflowState | HistoryReferenceGeneral)[];
1290
+ /** An array of actions that were performed for the change. */
1291
+ actions: (HistoryActionBranchCreate | HistoryActionBranchMerge | HistoryActionBranchPush | HistoryActionLabelCreate | HistoryActionLabelUpdate | HistoryActionLabelDelete | HistoryActionProjectUpdate | HistoryActionPullRequest | HistoryActionStoryCreate | HistoryActionStoryUpdate | HistoryActionStoryDelete | HistoryActionStoryCommentCreate | HistoryActionStoryLinkCreate | HistoryActionStoryLinkUpdate | HistoryActionStoryLinkDelete | HistoryActionTaskCreate | HistoryActionTaskUpdate | HistoryActionTaskDelete)[];
1292
+ /**
1293
+ * The ID of the member who performed the change.
1294
+ * @format uuid
1295
+ */
1296
+ member_id?: string;
1297
+ /** The ID of the webhook that handled the change. */
1298
+ external_id?: string;
1299
+ /**
1300
+ * The ID representing the change for the story.
1301
+ * @format uuid
1302
+ */
1303
+ id: string;
1304
+ /** The version of the change format. */
1305
+ version: "v1";
1306
+ /** The ID of the webhook that handled the change. */
1307
+ webhook_id?: string | null;
1308
+ }
1309
+ /**
1310
+ * An action representing a VCS Branch being created.
1311
+ */
1312
+ export interface HistoryActionBranchCreate {
1313
+ /**
1314
+ * The ID of the entity referenced.
1315
+ * @format int64
1316
+ */
1317
+ id: number;
1318
+ /** The type of entity referenced. */
1319
+ entity_type: string;
1320
+ /** The name of the VCS Branch that was pushed */
1321
+ name: string;
1322
+ /** The URL from the provider of the VCS Branch that was pushed */
1323
+ url: string;
1324
+ /** The action of the entity referenced. */
1325
+ action: "create";
1326
+ }
1327
+ /**
1328
+ * An action representing a VCS Branch being merged.
1329
+ */
1330
+ export interface HistoryActionBranchMerge {
1331
+ /**
1332
+ * The ID of the entity referenced.
1333
+ * @format int64
1334
+ */
1335
+ id: number;
1336
+ /** The type of entity referenced. */
1337
+ entity_type: string;
1338
+ /** The name of the VCS Branch that was pushed */
1339
+ name: string;
1340
+ /** The URL from the provider of the VCS Branch that was pushed */
1341
+ url: string;
1342
+ /** The action of the entity referenced. */
1343
+ action: "merge";
1344
+ }
1345
+ /**
1346
+ * An action representing a VCS Branch being pushed.
1347
+ */
1348
+ export interface HistoryActionBranchPush {
1349
+ /**
1350
+ * The ID of the entity referenced.
1351
+ * @format int64
1352
+ */
1353
+ id: number;
1354
+ /** The type of entity referenced. */
1355
+ entity_type: string;
1356
+ /** The name of the VCS Branch that was pushed */
1357
+ name: string;
1358
+ /** The URL from the provider of the VCS Branch that was pushed */
1359
+ url: string;
1360
+ /** The action of the entity referenced. */
1361
+ action: "push";
1362
+ }
1363
+ /**
1364
+ * An action representing a Label being created.
1365
+ */
1366
+ export interface HistoryActionLabelCreate {
1367
+ /**
1368
+ * The ID of the entity referenced.
1369
+ * @format int64
1370
+ */
1371
+ id: number;
1372
+ /** The type of entity referenced. */
1373
+ entity_type: string;
1374
+ /** The action of the entity referenced. */
1375
+ action: "create";
1376
+ /**
1377
+ * The application URL of the Label.
1378
+ * @pattern ^https?://.+$
1379
+ */
1380
+ app_url: string;
1381
+ /** The name of the Label. */
1382
+ name: string;
1383
+ }
1384
+ /**
1385
+ * An action representing a Label being deleted.
1386
+ */
1387
+ export interface HistoryActionLabelDelete {
1388
+ /**
1389
+ * The ID of the entity referenced.
1390
+ * @format int64
1391
+ */
1392
+ id: number;
1393
+ /** The type of entity referenced. */
1394
+ entity_type: string;
1395
+ /** The action of the entity referenced. */
1396
+ action: "delete";
1397
+ /** The name of the Label. */
1398
+ name: string;
1399
+ }
1400
+ /**
1401
+ * An action representing a Label being updated.
1402
+ */
1403
+ export interface HistoryActionLabelUpdate {
1404
+ /**
1405
+ * The ID of the entity referenced.
1406
+ * @format int64
1407
+ */
1408
+ id: number;
1409
+ /** The type of entity referenced. */
1410
+ entity_type: string;
1411
+ /** The action of the entity referenced. */
1412
+ action: "update";
1413
+ }
1414
+ /**
1415
+ * An action representing a Project being updated.
1416
+ */
1417
+ export interface HistoryActionProjectUpdate {
1418
+ /**
1419
+ * The ID of the entity referenced.
1420
+ * @format int64
1421
+ */
1422
+ id: number;
1423
+ /** The type of entity referenced. */
1424
+ entity_type: string;
1425
+ /** The action of the entity referenced. */
1426
+ action: "update";
1427
+ /**
1428
+ * The application URL of the Project.
1429
+ * @pattern ^https?://.+$
1430
+ */
1431
+ app_url: string;
1432
+ /** The name of the Project. */
1433
+ name: string;
1434
+ }
1435
+ /**
1436
+ * An action representing various operations for a Pull Request.
1437
+ */
1438
+ export interface HistoryActionPullRequest {
1439
+ /**
1440
+ * The ID of the entity referenced.
1441
+ * @format int64
1442
+ */
1443
+ id: number;
1444
+ /** The type of entity referenced. */
1445
+ entity_type: string;
1446
+ /** The action of the entity referenced. */
1447
+ action: "open" | "update" | "reopen" | "close" | "sync" | "comment";
1448
+ /**
1449
+ * The VCS Repository-specific ID for the Pull Request.
1450
+ * @format int64
1451
+ */
1452
+ number: number;
1453
+ /** The title of the Pull Request. */
1454
+ title: string;
1455
+ /**
1456
+ * The URL from the provider of the VCS Pull Request.
1457
+ * @pattern ^https?://.+$
1458
+ */
1459
+ url: string;
1460
+ }
1461
+ /**
1462
+ * An action representing a Story Comment being created.
1463
+ */
1464
+ export interface HistoryActionStoryCommentCreate {
1465
+ /**
1466
+ * The ID of the entity referenced.
1467
+ * @format int64
1468
+ */
1469
+ id: number;
1470
+ /** The type of entity referenced. */
1471
+ entity_type: string;
1472
+ /** The action of the entity referenced. */
1473
+ action: "create";
1474
+ /**
1475
+ * The application URL of the Story Comment.
1476
+ * @pattern ^https?://.+$
1477
+ */
1478
+ app_url: string;
1479
+ /** The text of the Story Comment. */
1480
+ text: string;
1481
+ /**
1482
+ * The Member ID of who created the Story Comment.
1483
+ * @format uuid
1484
+ */
1485
+ author_id: string;
1486
+ }
1487
+ /**
1488
+ * An action representing a Story being created.
1489
+ */
1490
+ export interface HistoryActionStoryCreate {
1491
+ /**
1492
+ * The application URL of the Story.
1493
+ * @pattern ^https?://.+$
1494
+ */
1495
+ app_url: string;
1496
+ /** The description of the Story. */
1497
+ description?: string;
1498
+ /** Whether or not the Story has been started. */
1499
+ started?: boolean;
1500
+ /** The type of entity referenced. */
1501
+ entity_type: string;
1502
+ /** An array of Task IDs on this Story. */
1503
+ task_ids?: number[];
1504
+ /** The type of Story; either feature, bug, or chore. */
1505
+ story_type: "feature" | "chore" | "bug";
1506
+ /** The name of the Story. */
1507
+ name: string;
1508
+ /** Whether or not the Story is completed. */
1509
+ completed?: boolean;
1510
+ /** Whether or not the Story is blocking another Story. */
1511
+ blocker?: boolean;
1512
+ /**
1513
+ * The Epic ID for this Story.
1514
+ * @format int64
1515
+ */
1516
+ epic_id?: number;
1517
+ /**
1518
+ * The ID of the Member that requested the Story.
1519
+ * @format uuid
1520
+ */
1521
+ requested_by_id?: string;
1522
+ /**
1523
+ * The Iteration ID the Story is in.
1524
+ * @format int64
1525
+ */
1526
+ iteration_id?: number | null;
1527
+ /** An array of Labels IDs attached to the Story. */
1528
+ label_ids?: number[];
1529
+ /**
1530
+ * An array of Workflow State IDs attached to the Story.
1531
+ * @format int64
1532
+ */
1533
+ workflow_state_id?: number;
1534
+ /** An array of Story IDs that are the object of a Story Link relationship. */
1535
+ object_story_link_ids?: number[];
1536
+ /** An array of Member IDs for the followers of the Story. */
1537
+ follower_ids?: string[];
1538
+ /** An array of Member IDs that are the owners of the Story. */
1539
+ owner_ids?: string[];
1540
+ /**
1541
+ * The ID of the entity referenced.
1542
+ * @format int64
1543
+ */
1544
+ id: number;
1545
+ /**
1546
+ * The estimate (or point value) for the Story.
1547
+ * @format int64
1548
+ */
1549
+ estimate?: number;
1550
+ /** An array of Story IDs that are the subject of a Story Link relationship. */
1551
+ subject_story_link_ids?: number[];
1552
+ /** The action of the entity referenced. */
1553
+ action: "create";
1554
+ /** Whether or not the Story is blocked by another Story. */
1555
+ blocked?: boolean;
1556
+ /**
1557
+ * The Project ID of the Story is in.
1558
+ * @format int64
1559
+ */
1560
+ project_id?: number;
1561
+ /** The timestamp representing the Story's deadline. */
1562
+ deadline?: string;
1563
+ }
1564
+ /**
1565
+ * An action representing a Story being deleted.
1566
+ */
1567
+ export interface HistoryActionStoryDelete {
1568
+ /**
1569
+ * The ID of the entity referenced.
1570
+ * @format int64
1571
+ */
1572
+ id: number;
1573
+ /** The type of entity referenced. */
1574
+ entity_type: string;
1575
+ /** The action of the entity referenced. */
1576
+ action: "delete";
1577
+ /** The name of the Story. */
1578
+ name: string;
1579
+ /** The type of Story; either feature, bug, or chore. */
1580
+ story_type: "feature" | "chore" | "bug";
1581
+ }
1582
+ /**
1583
+ * An action representing a Story Link being created.
1584
+ */
1585
+ export interface HistoryActionStoryLinkCreate {
1586
+ /**
1587
+ * The ID of the entity referenced.
1588
+ * @format int64
1589
+ */
1590
+ id: number;
1591
+ /** The type of entity referenced. */
1592
+ entity_type: string;
1593
+ /** The action of the entity referenced. */
1594
+ action: "create";
1595
+ /** The verb describing the link's relationship. */
1596
+ verb: "blocks" | "duplicates" | "relates to";
1597
+ /**
1598
+ * The Story ID of the subject Story.
1599
+ * @format int64
1600
+ */
1601
+ subject_id: number;
1602
+ /**
1603
+ * The Story ID of the object Story.
1604
+ * @format int64
1605
+ */
1606
+ object_id: number;
1607
+ }
1608
+ /**
1609
+ * An action representing a Story Link being deleted.
1610
+ */
1611
+ export interface HistoryActionStoryLinkDelete {
1612
+ /**
1613
+ * The ID of the entity referenced.
1614
+ * @format int64
1615
+ */
1616
+ id: number;
1617
+ /** The type of entity referenced. */
1618
+ entity_type: string;
1619
+ /** The action of the entity referenced. */
1620
+ action: "delete";
1621
+ /** The verb describing the link's relationship. */
1622
+ verb: "blocks" | "duplicates" | "relates to";
1623
+ /**
1624
+ * The Story ID of the subject Story.
1625
+ * @format int64
1626
+ */
1627
+ subject_id?: number | null;
1628
+ /**
1629
+ * The Story ID of the object Story.
1630
+ * @format int64
1631
+ */
1632
+ object_id?: number | null;
1633
+ }
1634
+ /**
1635
+ * An action representing a Story Link being updated.
1636
+ */
1637
+ export interface HistoryActionStoryLinkUpdate {
1638
+ /**
1639
+ * The ID of the entity referenced.
1640
+ * @format int64
1641
+ */
1642
+ id: number;
1643
+ /** The type of entity referenced. */
1644
+ entity_type: string;
1645
+ /** The action of the entity referenced. */
1646
+ action: "update";
1647
+ /** The verb describing the link's relationship. */
1648
+ verb: "blocks" | "duplicates" | "relates to";
1649
+ /**
1650
+ * The Story ID of the subject Story.
1651
+ * @format int64
1652
+ */
1653
+ subject_id: number;
1654
+ /**
1655
+ * The Story ID of the object Story.
1656
+ * @format int64
1657
+ */
1658
+ object_id: number;
1659
+ /** The changes that have occurred as a result of the action. */
1660
+ changes: HistoryChangesStoryLink;
1661
+ }
1662
+ /**
1663
+ * An action representing a Story being updated.
1664
+ */
1665
+ export interface HistoryActionStoryUpdate {
1666
+ /**
1667
+ * The ID of the entity referenced.
1668
+ * @format int64
1669
+ */
1670
+ id: number;
1671
+ /** The type of entity referenced. */
1672
+ entity_type: string;
1673
+ /** The action of the entity referenced. */
1674
+ action: "update";
1675
+ /**
1676
+ * The application URL of the Story.
1677
+ * @pattern ^https?://.+$
1678
+ */
1679
+ app_url: string;
1680
+ /** The changes that have occurred as a result of the action. */
1681
+ changes?: HistoryChangesStory;
1682
+ /** The name of the Story. */
1683
+ name: string;
1684
+ /** The type of Story; either feature, bug, or chore. */
1685
+ story_type: "feature" | "chore" | "bug";
1686
+ }
1687
+ /**
1688
+ * An action representing a Task being created.
1689
+ */
1690
+ export interface HistoryActionTaskCreate {
1691
+ /** The description of the Task. */
1692
+ description: string;
1693
+ /** The type of entity referenced. */
1694
+ entity_type: string;
1695
+ /** An array of Member IDs that represent who has been mentioned in the Task. */
1696
+ mention_ids?: string[];
1697
+ /** An array of Groups IDs that represent which have been mentioned in the Task. */
1698
+ group_mention_ids?: string[];
1699
+ /** An array of Member IDs that represent the Task's owners. */
1700
+ owner_ids?: string[];
1701
+ /**
1702
+ * The ID of the entity referenced.
1703
+ * @format int64
1704
+ */
1705
+ id: number;
1706
+ /** The action of the entity referenced. */
1707
+ action: "create";
1708
+ /** Whether or not the Task is complete. */
1709
+ complete: boolean;
1710
+ /** A timestamp that represent's the Task's deadline. */
1711
+ deadline?: string;
1712
+ }
1713
+ /**
1714
+ * An action representing a Task being deleted.
1715
+ */
1716
+ export interface HistoryActionTaskDelete {
1717
+ /**
1718
+ * The ID of the entity referenced.
1719
+ * @format int64
1720
+ */
1721
+ id: number;
1722
+ /** The type of entity referenced. */
1723
+ entity_type: string;
1724
+ /** The action of the entity referenced. */
1725
+ action: "delete";
1726
+ /** The description of the Task being deleted. */
1727
+ description: string;
1728
+ }
1729
+ /**
1730
+ * An action representing a Task being updated.
1731
+ */
1732
+ export interface HistoryActionTaskUpdate {
1733
+ /**
1734
+ * The ID of the entity referenced.
1735
+ * @format int64
1736
+ */
1737
+ id: number;
1738
+ /** The type of entity referenced. */
1739
+ entity_type: string;
1740
+ /** The action of the entity referenced. */
1741
+ action: "update";
1742
+ /** The changes that have occurred as a result of the action. */
1743
+ changes: HistoryChangesTask;
1744
+ /** Whether or not the Task is complete. */
1745
+ complete?: boolean;
1746
+ /** The description of the Task. */
1747
+ description: string;
1748
+ /**
1749
+ * The Story ID that contains the Task.
1750
+ * @format int64
1751
+ */
1752
+ story_id: number;
1753
+ }
1754
+ /**
1755
+ * The changes that have occurred as a result of the action.
1756
+ */
1757
+ export interface HistoryChangesStory {
1758
+ /** A timestamp that represents the Story's deadline. */
1759
+ description?: StoryHistoryChangeOldNewStr;
1760
+ /** True if the Story has archived, otherwise false. */
1761
+ archived?: StoryHistoryChangeOldNewBool;
1762
+ /** True if the Story has archived, otherwise false. */
1763
+ started?: StoryHistoryChangeOldNewBool;
1764
+ /** Task IDs that have been added or removed from the Story. */
1765
+ task_ids?: StoryHistoryChangeAddsRemovesInt;
1766
+ /** Member IDs that have been added or removed as a owner of the Story. */
1767
+ mention_ids?: StoryHistoryChangeAddsRemovesUuid;
1768
+ /** A timestamp that represents the Story's deadline. */
1769
+ story_type?: StoryHistoryChangeOldNewStr;
1770
+ /** A timestamp that represents the Story's deadline. */
1771
+ name?: StoryHistoryChangeOldNewStr;
1772
+ /** True if the Story has archived, otherwise false. */
1773
+ completed?: StoryHistoryChangeOldNewBool;
1774
+ /** True if the Story has archived, otherwise false. */
1775
+ blocker?: StoryHistoryChangeOldNewBool;
1776
+ /** The estimate value for the Story */
1777
+ epic_id?: StoryHistoryChangeOldNewInt;
1778
+ /** Task IDs that have been added or removed from the Story. */
1779
+ branch_ids?: StoryHistoryChangeAddsRemovesInt;
1780
+ /** Task IDs that have been added or removed from the Story. */
1781
+ commit_ids?: StoryHistoryChangeAddsRemovesInt;
1782
+ /** The Member ID of the preson who requested the Story. */
1783
+ requested_by_id?: StoryHistoryChangeOldNewUuid;
1784
+ /** The estimate value for the Story */
1785
+ iteration_id?: StoryHistoryChangeOldNewInt;
1786
+ /** Task IDs that have been added or removed from the Story. */
1787
+ label_ids?: StoryHistoryChangeAddsRemovesInt;
1788
+ /** The estimate value for the Story */
1789
+ workflow_state_id?: StoryHistoryChangeOldNewInt;
1790
+ /** Task IDs that have been added or removed from the Story. */
1791
+ object_story_link_ids?: StoryHistoryChangeAddsRemovesInt;
1792
+ /** Member IDs that have been added or removed as a owner of the Story. */
1793
+ follower_ids?: StoryHistoryChangeAddsRemovesUuid;
1794
+ /** Member IDs that have been added or removed as a owner of the Story. */
1795
+ owner_ids?: StoryHistoryChangeAddsRemovesUuid;
1796
+ /** The estimate value for the Story */
1797
+ estimate?: StoryHistoryChangeOldNewInt;
1798
+ /** Task IDs that have been added or removed from the Story. */
1799
+ subject_story_link_ids?: StoryHistoryChangeAddsRemovesInt;
1800
+ /** True if the Story has archived, otherwise false. */
1801
+ blocked?: StoryHistoryChangeOldNewBool;
1802
+ /** The estimate value for the Story */
1803
+ project_id?: StoryHistoryChangeOldNewInt;
1804
+ /** A timestamp that represents the Story's deadline. */
1805
+ deadline?: StoryHistoryChangeOldNewStr;
1806
+ }
1807
+ /**
1808
+ * The changes that have occurred as a result of the action.
1809
+ */
1810
+ export interface HistoryChangesStoryLink {
1811
+ /** A timestamp that represents the Story's deadline. */
1812
+ verb?: StoryHistoryChangeOldNewStr;
1813
+ /** The estimate value for the Story */
1814
+ object_id?: StoryHistoryChangeOldNewInt;
1815
+ /** The estimate value for the Story */
1816
+ subject_id?: StoryHistoryChangeOldNewInt;
1817
+ }
1818
+ /**
1819
+ * The changes that have occurred as a result of the action.
1820
+ */
1821
+ export interface HistoryChangesTask {
1822
+ /** True if the Story has archived, otherwise false. */
1823
+ complete?: StoryHistoryChangeOldNewBool;
1824
+ /** A timestamp that represents the Story's deadline. */
1825
+ description?: StoryHistoryChangeOldNewStr;
1826
+ /** Member IDs that have been added or removed as a owner of the Story. */
1827
+ mention_ids?: StoryHistoryChangeAddsRemovesUuid;
1828
+ /** Member IDs that have been added or removed as a owner of the Story. */
1829
+ owner_ids?: StoryHistoryChangeAddsRemovesUuid;
1830
+ }
1831
+ /**
1832
+ * A reference to a VCS Branch.
1833
+ */
1834
+ export interface HistoryReferenceBranch {
1835
+ /**
1836
+ * The ID of the entity referenced.
1837
+ * @format int64
1838
+ */
1839
+ id: number;
1840
+ /** The type of entity referenced. */
1841
+ entity_type: string;
1842
+ /** The name of the entity referenced. */
1843
+ name: string;
1844
+ /**
1845
+ * The external URL for the Branch.
1846
+ * @pattern ^https?://.+$
1847
+ */
1848
+ url: string;
1849
+ }
1850
+ /**
1851
+ * A reference to a VCS Commit.
1852
+ */
1853
+ export interface HistoryReferenceCommit {
1854
+ /**
1855
+ * The ID of the entity referenced.
1856
+ * @format int64
1857
+ */
1858
+ id: number;
1859
+ /** The type of entity referenced. */
1860
+ entity_type: string;
1861
+ /** The message from the Commit. */
1862
+ message: string;
1863
+ /**
1864
+ * The external URL for the Branch.
1865
+ * @pattern ^https?://.+$
1866
+ */
1867
+ url: string;
1868
+ }
1869
+ /**
1870
+ * A reference to an Epic.
1871
+ */
1872
+ export interface HistoryReferenceEpic {
1873
+ /**
1874
+ * The ID of the entity referenced.
1875
+ * @format int64
1876
+ */
1877
+ id: number;
1878
+ /** The type of entity referenced. */
1879
+ entity_type: string;
1880
+ /**
1881
+ * The application URL of the Epic.
1882
+ * @pattern ^https?://.+$
1883
+ */
1884
+ app_url: string;
1885
+ /** The name of the entity referenced. */
1886
+ name: string;
1887
+ }
1888
+ /**
1889
+ * A default reference for entity types that don't have extra fields.
1890
+ */
1891
+ export interface HistoryReferenceGeneral {
1892
+ /**
1893
+ * The ID of the entity referenced.
1894
+ * @format int64
1895
+ */
1896
+ id: number;
1897
+ /** The type of entity referenced. */
1898
+ entity_type: string;
1899
+ /** The name of the entity referenced. */
1900
+ name: string;
1901
+ }
1902
+ /**
1903
+ * A reference to a Group.
1904
+ */
1905
+ export interface HistoryReferenceGroup {
1906
+ /**
1907
+ * The ID of the entity referenced.
1908
+ * @format uuid
1909
+ */
1910
+ id: string;
1911
+ /** The type of entity referenced. */
1912
+ entity_type: string;
1913
+ /** The name of the entity referenced. */
1914
+ name: string;
1915
+ }
1916
+ /**
1917
+ * A reference to an Iteration.
1918
+ */
1919
+ export interface HistoryReferenceIteration {
1920
+ /**
1921
+ * The ID of the entity referenced.
1922
+ * @format int64
1923
+ */
1924
+ id: number;
1925
+ /** The type of entity referenced. */
1926
+ entity_type: string;
1927
+ /**
1928
+ * The application URL of the Iteration.
1929
+ * @pattern ^https?://.+$
1930
+ */
1931
+ app_url: string;
1932
+ /** The name of the entity referenced. */
1933
+ name: string;
1934
+ }
1935
+ /**
1936
+ * A reference to an Label.
1937
+ */
1938
+ export interface HistoryReferenceLabel {
1939
+ /**
1940
+ * The ID of the entity referenced.
1941
+ * @format int64
1942
+ */
1943
+ id: number;
1944
+ /** The type of entity referenced. */
1945
+ entity_type: string;
1946
+ /**
1947
+ * The application URL of the Label.
1948
+ * @pattern ^https?://.+$
1949
+ */
1950
+ app_url: string;
1951
+ /** The name of the entity referenced. */
1952
+ name: string;
1953
+ }
1954
+ /**
1955
+ * A reference to an Project.
1956
+ */
1957
+ export interface HistoryReferenceProject {
1958
+ /**
1959
+ * The ID of the entity referenced.
1960
+ * @format int64
1961
+ */
1962
+ id: number;
1963
+ /** The type of entity referenced. */
1964
+ entity_type: string;
1965
+ /**
1966
+ * The application URL of the Project.
1967
+ * @pattern ^https?://.+$
1968
+ */
1969
+ app_url: string;
1970
+ /** The name of the entity referenced. */
1971
+ name: string;
1972
+ }
1973
+ /**
1974
+ * A reference to a Story.
1975
+ */
1976
+ export interface HistoryReferenceStory {
1977
+ /**
1978
+ * The ID of the entity referenced.
1979
+ * @format int64
1980
+ */
1981
+ id: number;
1982
+ /** The type of entity referenced. */
1983
+ entity_type: string;
1984
+ /**
1985
+ * The application URL of the Story.
1986
+ * @pattern ^https?://.+$
1987
+ */
1988
+ app_url: string;
1989
+ /** The name of the entity referenced. */
1990
+ name: string;
1991
+ /** If the referenced entity is a Story, either "bug", "chore", or "feature". */
1992
+ story_type: "feature" | "chore" | "bug";
1993
+ }
1994
+ /**
1995
+ * A reference to a Story Task.
1996
+ */
1997
+ export interface HistoryReferenceStoryTask {
1998
+ /**
1999
+ * The ID of the entity referenced.
2000
+ * @format int64
2001
+ */
2002
+ id: number;
2003
+ /** The type of entity referenced. */
2004
+ entity_type: string;
2005
+ /** The description of the Story Task. */
2006
+ description: string;
2007
+ }
2008
+ /**
2009
+ * A references to a Story Workflow State.
2010
+ */
2011
+ export interface HistoryReferenceWorkflowState {
2012
+ /**
2013
+ * The ID of the entity referenced.
2014
+ * @format int64
2015
+ */
2016
+ id: number;
2017
+ /** The type of entity referenced. */
2018
+ entity_type: string;
2019
+ /** Either "unstarted", "started", or "done". */
2020
+ type: "started" | "unstarted" | "done";
2021
+ /** The name of the entity referenced. */
2022
+ name: string;
2023
+ }
2024
+ /**
2025
+ * Icons are used to attach images to Organizations, Members, and Loading screens in the Shortcut web application.
2026
+ */
2027
+ export interface Icon {
2028
+ /** A string description of this resource. */
2029
+ entity_type: string;
2030
+ /**
2031
+ * The unique ID of the Icon.
2032
+ * @format uuid
2033
+ */
2034
+ id: string;
2035
+ /**
2036
+ * The time/date that the Icon was created.
2037
+ * @format date-time
2038
+ */
2039
+ created_at: string;
2040
+ /**
2041
+ * The time/date that the Icon was updated.
2042
+ * @format date-time
2043
+ */
2044
+ updated_at: string;
2045
+ /** The URL of the Icon. */
2046
+ url: string;
2047
+ }
2048
+ /**
2049
+ * The Identity of the VCS user that authored the Commit.
2050
+ */
2051
+ export interface Identity {
2052
+ /** A string description of this resource. */
2053
+ entity_type: string;
2054
+ /** This is your login in VCS. */
2055
+ name?: string | null;
2056
+ /** The type of Identity; currently only type is github. */
2057
+ type?: string | null;
2058
+ }
2059
+ /**
2060
+ * An Iteration is a defined, time-boxed period of development for a collection of Stories. See https://help.shortcut.com/hc/en-us/articles/360028953452-Iterations-Overview for more information.
2061
+ */
2062
+ export interface Iteration {
2063
+ /** The Shortcut application url for the Iteration. */
2064
+ app_url: string;
2065
+ /** The description of the iteration. */
2066
+ description: string;
2067
+ /** A string description of this resource */
2068
+ entity_type: string;
2069
+ /** An array of labels attached to the iteration. */
2070
+ labels: Label[];
2071
+ /** Deprecated: use member_mention_ids. */
2072
+ mention_ids: string[];
2073
+ /** An array of Member IDs that have been mentioned in the Story description. */
2074
+ member_mention_ids: string[];
2075
+ /** The name of the iteration. */
2076
+ name: string;
2077
+ /** An array of label ids attached to the iteration. */
2078
+ label_ids: number[];
2079
+ /**
2080
+ * The instant when this iteration was last updated.
2081
+ * @format date-time
2082
+ */
2083
+ updated_at: string;
2084
+ /** An array of Group IDs that have been mentioned in the Story description. */
2085
+ group_mention_ids: string[];
2086
+ /**
2087
+ * The date this iteration begins.
2088
+ * @format date-time
2089
+ */
2090
+ end_date: string;
2091
+ /** An array of UUIDs for any Members listed as Followers. */
2092
+ follower_ids: string[];
2093
+ /** An array of UUIDs for any Groups you want to add as Followers. Currently, only one Group association is presented in our web UI. */
2094
+ group_ids: string[];
2095
+ /**
2096
+ * The date this iteration begins.
2097
+ * @format date-time
2098
+ */
2099
+ start_date: string;
2100
+ /** The status of the iteration. Values are either "unstarted", "started", or "done". */
2101
+ status: string;
2102
+ /**
2103
+ * The ID of the iteration.
2104
+ * @format int64
2105
+ */
2106
+ id: number;
2107
+ /** A group of calculated values for this Iteration. */
2108
+ stats: IterationStats;
2109
+ /**
2110
+ * The instant when this iteration was created.
2111
+ * @format date-time
2112
+ */
2113
+ created_at: string;
2114
+ }
2115
+ /**
2116
+ * IterationSlim represents the same resource as an Iteration, but is more light-weight. Use the [Get Iteration](#Get-Iteration) endpoint to fetch the unabridged payload for an Iteration.
2117
+ */
2118
+ export interface IterationSlim {
2119
+ /** The Shortcut application url for the Iteration. */
2120
+ app_url: string;
2121
+ /** A string description of this resource */
2122
+ entity_type: string;
2123
+ /** An array of labels attached to the iteration. */
2124
+ labels: Label[];
2125
+ /** Deprecated: use member_mention_ids. */
2126
+ mention_ids: string[];
2127
+ /** An array of Member IDs that have been mentioned in the Story description. */
2128
+ member_mention_ids: string[];
2129
+ /** The name of the iteration. */
2130
+ name: string;
2131
+ /** An array of label ids attached to the iteration. */
2132
+ label_ids: number[];
2133
+ /**
2134
+ * The instant when this iteration was last updated.
2135
+ * @format date-time
2136
+ */
2137
+ updated_at: string;
2138
+ /** An array of Group IDs that have been mentioned in the Story description. */
2139
+ group_mention_ids: string[];
2140
+ /**
2141
+ * The date this iteration begins.
2142
+ * @format date-time
2143
+ */
2144
+ end_date: string;
2145
+ /** An array of UUIDs for any Members listed as Followers. */
2146
+ follower_ids: string[];
2147
+ /** An array of UUIDs for any Groups you want to add as Followers. Currently, only one Group association is presented in our web UI. */
2148
+ group_ids: string[];
2149
+ /**
2150
+ * The date this iteration begins.
2151
+ * @format date-time
2152
+ */
2153
+ start_date: string;
2154
+ /** The status of the iteration. Values are either "unstarted", "started", or "done". */
2155
+ status: string;
2156
+ /**
2157
+ * The ID of the iteration.
2158
+ * @format int64
2159
+ */
2160
+ id: number;
2161
+ /** A group of calculated values for this Iteration. */
2162
+ stats: IterationStats;
2163
+ /**
2164
+ * The instant when this iteration was created.
2165
+ * @format date-time
2166
+ */
2167
+ created_at: string;
2168
+ }
2169
+ /**
2170
+ * A group of calculated values for this Iteration.
2171
+ */
2172
+ export interface IterationStats {
2173
+ /**
2174
+ * The total number of completed points in this Iteration.
2175
+ * @format int64
2176
+ */
2177
+ num_points_done: number;
2178
+ /**
2179
+ * The total number of documents related to an Iteration
2180
+ * @format int64
2181
+ */
2182
+ num_related_documents: number;
2183
+ /**
2184
+ * The average cycle time (in seconds) of completed stories in this Iteration.
2185
+ * @format int64
2186
+ */
2187
+ average_cycle_time?: number;
2188
+ /**
2189
+ * The total number of unstarted Stories in this Iteration.
2190
+ * @format int64
2191
+ */
2192
+ num_stories_unstarted: number;
2193
+ /**
2194
+ * The total number of started points in this Iteration.
2195
+ * @format int64
2196
+ */
2197
+ num_points_started: number;
2198
+ /**
2199
+ * The total number of unstarted points in this Iteration.
2200
+ * @format int64
2201
+ */
2202
+ num_points_unstarted: number;
2203
+ /**
2204
+ * The total number of started Stories in this Iteration.
2205
+ * @format int64
2206
+ */
2207
+ num_stories_started: number;
2208
+ /**
2209
+ * The total number of Stories with no point estimate.
2210
+ * @format int64
2211
+ */
2212
+ num_stories_unestimated: number;
2213
+ /**
2214
+ * The average lead time (in seconds) of completed stories in this Iteration.
2215
+ * @format int64
2216
+ */
2217
+ average_lead_time?: number;
2218
+ /**
2219
+ * The total number of points in this Iteration.
2220
+ * @format int64
2221
+ */
2222
+ num_points: number;
2223
+ /**
2224
+ * The total number of done Stories in this Iteration.
2225
+ * @format int64
2226
+ */
2227
+ num_stories_done: number;
2228
+ }
2229
+ /**
2230
+ * A Label can be used to associate and filter Stories and Epics, and also create new Workspaces.
2231
+ */
2232
+ export interface Label {
2233
+ /** The Shortcut application url for the Label. */
2234
+ app_url: string;
2235
+ /** The description of the Label. */
2236
+ description?: string | null;
2237
+ /** A true/false boolean indicating if the Label has been archived. */
2238
+ archived: boolean;
2239
+ /** A string description of this resource. */
2240
+ entity_type: string;
2241
+ /**
2242
+ * The hex color to be displayed with the Label (for example, "#ff0000").
2243
+ * @format css-color
2244
+ * @pattern ^#[a-fA-F0-9]{6}$
2245
+ */
2246
+ color?: string | null;
2247
+ /** The name of the Label. */
2248
+ name: string;
2249
+ /**
2250
+ * The time/date that the Label was updated.
2251
+ * @format date-time
2252
+ */
2253
+ updated_at?: string | null;
2254
+ /** This field can be set to another unique ID. In the case that the Label has been imported from another tool, the ID in the other tool can be indicated here. */
2255
+ external_id?: string | null;
2256
+ /**
2257
+ * The unique ID of the Label.
2258
+ * @format int64
2259
+ */
2260
+ id: number;
2261
+ /** A group of calculated values for this Label. This is not included if the slim? flag is set to true for the List Labels endpoint. */
2262
+ stats?: LabelStats;
2263
+ /**
2264
+ * The time/date that the Label was created.
2265
+ * @format date-time
2266
+ */
2267
+ created_at?: string | null;
2268
+ }
2269
+ /**
2270
+ * A Label can be used to associate and filter Stories and Epics, and also create new Workspaces. A slim Label does not include aggregate stats. Fetch the Label using the labels endpoint to retrieve them.
2271
+ */
2272
+ export interface LabelSlim {
2273
+ /** The Shortcut application url for the Label. */
2274
+ app_url: string;
2275
+ /** The description of the Label. */
2276
+ description?: string | null;
2277
+ /** A true/false boolean indicating if the Label has been archived. */
2278
+ archived: boolean;
2279
+ /** A string description of this resource. */
2280
+ entity_type: string;
2281
+ /**
2282
+ * The hex color to be displayed with the Label (for example, "#ff0000").
2283
+ * @format css-color
2284
+ * @pattern ^#[a-fA-F0-9]{6}$
2285
+ */
2286
+ color?: string | null;
2287
+ /** The name of the Label. */
2288
+ name: string;
2289
+ /**
2290
+ * The time/date that the Label was updated.
2291
+ * @format date-time
2292
+ */
2293
+ updated_at?: string | null;
2294
+ /** This field can be set to another unique ID. In the case that the Label has been imported from another tool, the ID in the other tool can be indicated here. */
2295
+ external_id?: string | null;
2296
+ /**
2297
+ * The unique ID of the Label.
2298
+ * @format int64
2299
+ */
2300
+ id: number;
2301
+ /**
2302
+ * The time/date that the Label was created.
2303
+ * @format date-time
2304
+ */
2305
+ created_at?: string | null;
2306
+ }
2307
+ /**
2308
+ * A group of calculated values for this Label. This is not included if the slim? flag is set to true for the List Labels endpoint.
2309
+ */
2310
+ export interface LabelStats {
2311
+ /**
2312
+ * The total number of Documents associated this Label.
2313
+ * @format int64
2314
+ */
2315
+ num_related_documents: number;
2316
+ /**
2317
+ * The total number of Epics with this Label.
2318
+ * @format int64
2319
+ */
2320
+ num_epics: number;
2321
+ /**
2322
+ * The total number of stories unstarted Stories with this Label.
2323
+ * @format int64
2324
+ */
2325
+ num_stories_unstarted: number;
2326
+ /**
2327
+ * The total number of Stories with this Label.
2328
+ * @format int64
2329
+ */
2330
+ num_stories_total: number;
2331
+ /**
2332
+ * The number of unstarted epics assoicated with this label.
2333
+ * @format int64
2334
+ */
2335
+ num_epics_unstarted: number;
2336
+ /**
2337
+ * The number of in progress epics assoicated with this label.
2338
+ * @format int64
2339
+ */
2340
+ num_epics_in_progress: number;
2341
+ /**
2342
+ * The total number of unstarted points with this Label.
2343
+ * @format int64
2344
+ */
2345
+ num_points_unstarted: number;
2346
+ /**
2347
+ * The total number of Stories with no point estimate with this Label.
2348
+ * @format int64
2349
+ */
2350
+ num_stories_unestimated: number;
2351
+ /**
2352
+ * The total number of in-progress points with this Label.
2353
+ * @format int64
2354
+ */
2355
+ num_points_in_progress: number;
2356
+ /**
2357
+ * The total number of Epics assoicated with this Label.
2358
+ * @format int64
2359
+ */
2360
+ num_epics_total: number;
2361
+ /**
2362
+ * The total number of completed Stories with this Label.
2363
+ * @format int64
2364
+ */
2365
+ num_stories_completed: number;
2366
+ /**
2367
+ * The total number of completed points with this Label.
2368
+ * @format int64
2369
+ */
2370
+ num_points_completed: number;
2371
+ /**
2372
+ * The total number of points with this Label.
2373
+ * @format int64
2374
+ */
2375
+ num_points_total: number;
2376
+ /**
2377
+ * The total number of in-progress Stories with this Label.
2378
+ * @format int64
2379
+ */
2380
+ num_stories_in_progress: number;
2381
+ /**
2382
+ * The number of completed Epics assoicated with this Label.
2383
+ * @format int64
2384
+ */
2385
+ num_epics_completed: number;
2386
+ }
2387
+ /**
2388
+ * Linked files are stored on a third-party website and linked to one or more Stories. Shortcut currently supports linking files from Google Drive, Dropbox, Box, and by URL.
2389
+ */
2390
+ export interface LinkedFile {
2391
+ /** The description of the file. */
2392
+ description?: string | null;
2393
+ /** A string description of this resource. */
2394
+ entity_type: string;
2395
+ /** The IDs of the stories this file is attached to. */
2396
+ story_ids: number[];
2397
+ /** Deprecated: use member_mention_ids. */
2398
+ mention_ids: string[];
2399
+ /** The members that are mentioned in the description of the file. */
2400
+ member_mention_ids: string[];
2401
+ /** The name of the linked file. */
2402
+ name: string;
2403
+ /** The URL of the file thumbnail, if the integration provided it. */
2404
+ thumbnail_url?: string | null;
2405
+ /** The integration type (e.g. google, dropbox, box). */
2406
+ type: string;
2407
+ /**
2408
+ * The filesize, if the integration provided it.
2409
+ * @format int64
2410
+ */
2411
+ size?: number | null;
2412
+ /**
2413
+ * The UUID of the member that uploaded the file.
2414
+ * @format uuid
2415
+ */
2416
+ uploader_id: string;
2417
+ /** The content type of the image (e.g. txt/plain). */
2418
+ content_type?: string | null;
2419
+ /**
2420
+ * The time/date the LinkedFile was updated.
2421
+ * @format date-time
2422
+ */
2423
+ updated_at: string;
2424
+ /** The groups that are mentioned in the description of the file. */
2425
+ group_mention_ids: string[];
2426
+ /**
2427
+ * The unique identifier for the file.
2428
+ * @format int64
2429
+ */
2430
+ id: number;
2431
+ /** The URL of the file. */
2432
+ url: string;
2433
+ /**
2434
+ * The time/date the LinkedFile was created.
2435
+ * @format date-time
2436
+ */
2437
+ created_at: string;
2438
+ }
2439
+ export interface ListEpics {
2440
+ /** A true/false boolean indicating whether to return Epics with their descriptions. */
2441
+ includes_description?: boolean;
2442
+ }
2443
+ export interface ListGroupStories {
2444
+ /**
2445
+ * The maximum number of results to return. (Defaults to 1000, max 1000)
2446
+ * @format int64
2447
+ */
2448
+ limit?: number;
2449
+ /**
2450
+ * The offset at which to begin returning results. (Defaults to 0)
2451
+ * @format int64
2452
+ */
2453
+ offset?: number;
2454
+ }
2455
+ export interface ListLabels {
2456
+ /** A true/false boolean indicating if the slim versions of the Label should be returned. */
2457
+ slim?: boolean;
2458
+ }
2459
+ export interface ListMembers {
2460
+ /**
2461
+ * The unique ID of the Organization to limit the list to.
2462
+ * @format uuid
2463
+ */
2464
+ "org-public-id"?: string;
2465
+ }
2466
+ /**
2467
+ * Error returned when total maximum supported results have been reached.
2468
+ */
2469
+ export interface MaxSearchResultsExceededError {
2470
+ /** The name for this type of error, `maximum-results-exceeded` */
2471
+ error: "maximum-results-exceeded";
2472
+ /** An explanatory message: "A maximum of 1000 search results are supported." */
2473
+ message: string;
2474
+ /**
2475
+ * The maximum number of search results supported, `1000`
2476
+ * @format int64
2477
+ */
2478
+ "maximum-results": 1000;
2479
+ }
2480
+ /**
2481
+ * Details about individual Shortcut user within the Shortcut organization that has issued the token.
2482
+ */
2483
+ export interface Member {
2484
+ /** The Member's role in the Shortcut organization. */
2485
+ role: string;
2486
+ /** A string description of this resource. */
2487
+ entity_type: string;
2488
+ /** True/false boolean indicating whether the Member has been disabled within this Organization. */
2489
+ disabled: boolean;
2490
+ /**
2491
+ * The user state, one of partial, full, disabled, or imported. A partial
2492
+ * user is disabled, has no means to log in, and is not an import user. A full
2493
+ * user is enabled and has a means to log in. A disabled user is disabled and has
2494
+ * a means to log in. An import user is disabled, has no means to log in, and is
2495
+ * marked as an import user.
2496
+ */
2497
+ state: "partial" | "full" | "disabled" | "imported";
2498
+ /**
2499
+ * The time/date the Member was last updated.
2500
+ * @format date-time
2501
+ */
2502
+ updated_at?: string | null;
2503
+ /** Whether this member was created as a placeholder entity. */
2504
+ created_without_invite: boolean;
2505
+ /** The Member's group ids */
2506
+ group_ids: string[];
2507
+ /**
2508
+ * The Member's ID in Shortcut.
2509
+ * @format uuid
2510
+ */
2511
+ id: string;
2512
+ /** A group of Member profile details. */
2513
+ profile: Profile;
2514
+ /**
2515
+ * The time/date the Member was created.
2516
+ * @format date-time
2517
+ */
2518
+ created_at?: string | null;
2519
+ /**
2520
+ * The id of the member that replaces this one when merged.
2521
+ * @format uuid
2522
+ */
2523
+ replaced_by?: string;
2524
+ }
2525
+ export interface MemberInfo {
2526
+ /** @format uuid */
2527
+ id: string;
2528
+ name: string;
2529
+ mention_name: string;
2530
+ workspace2: BasicWorkspaceInfo;
2531
+ }
2532
+ /**
2533
+ * A Milestone is a collection of Epics that represent a release or some other large initiative that your organization is working on.
2534
+ */
2535
+ export interface Milestone {
2536
+ /** The Shortcut application url for the Milestone. */
2537
+ app_url: string;
2538
+ /** The Milestone's description. */
2539
+ description: string;
2540
+ /** A true/false boolean indicating if the Milestone has been started. */
2541
+ started: boolean;
2542
+ /** A string description of this resource. */
2543
+ entity_type: string;
2544
+ /**
2545
+ * A manual override for the time/date the Milestone was completed.
2546
+ * @format date-time
2547
+ */
2548
+ completed_at_override?: string | null;
2549
+ /**
2550
+ * The time/date the Milestone was started.
2551
+ * @format date-time
2552
+ */
2553
+ started_at?: string | null;
2554
+ /**
2555
+ * The time/date the Milestone was completed.
2556
+ * @format date-time
2557
+ */
2558
+ completed_at?: string | null;
2559
+ /** The name of the Milestone. */
2560
+ name: string;
2561
+ /** A true/false boolean indicating if the Milestone has been completed. */
2562
+ completed: boolean;
2563
+ /** The workflow state that the Milestone is in. */
2564
+ state: string;
2565
+ /**
2566
+ * A manual override for the time/date the Milestone was started.
2567
+ * @format date-time
2568
+ */
2569
+ started_at_override?: string | null;
2570
+ /**
2571
+ * The time/date the Milestone was updated.
2572
+ * @format date-time
2573
+ */
2574
+ updated_at: string;
2575
+ /** An array of Categories attached to the Milestone. */
2576
+ categories: Category[];
2577
+ /**
2578
+ * The unique ID of the Milestone.
2579
+ * @format int64
2580
+ */
2581
+ id: number;
2582
+ /**
2583
+ * A number representing the position of the Milestone in relation to every other Milestone within the Organization.
2584
+ * @format int64
2585
+ */
2586
+ position: number;
2587
+ /** A group of calculated values for this Milestone. */
2588
+ stats?: MilestoneStats;
2589
+ /**
2590
+ * The time/date the Milestone was created.
2591
+ * @format date-time
2592
+ */
2593
+ created_at: string;
2594
+ }
2595
+ /**
2596
+ * A group of calculated values for this Milestone.
2597
+ */
2598
+ export interface MilestoneStats {
2599
+ /**
2600
+ * The average cycle time (in seconds) of completed stories in this Milestone.
2601
+ * @format int64
2602
+ */
2603
+ average_cycle_time?: number;
2604
+ /**
2605
+ * The average lead time (in seconds) of completed stories in this Milestone.
2606
+ * @format int64
2607
+ */
2608
+ average_lead_time?: number;
2609
+ /**
2610
+ * The number of related documents tp this Milestone.
2611
+ * @format int64
2612
+ */
2613
+ num_related_documents: number;
2614
+ }
2615
+ /**
2616
+ * A group of Member profile details.
2617
+ */
2618
+ export interface Profile {
2619
+ /** A string description of this resource. */
2620
+ entity_type: string;
2621
+ /** A true/false boolean indicating whether the Member has been deactivated within Shortcut. */
2622
+ deactivated: boolean;
2623
+ /** If Two Factor Authentication is activated for this User. */
2624
+ two_factor_auth_activated?: boolean;
2625
+ /** The Member's username within the Organization. */
2626
+ mention_name: string;
2627
+ /** The Member's name within the Organization. */
2628
+ name?: string | null;
2629
+ /** This is the gravatar hash associated with email_address. */
2630
+ gravatar_hash?: string | null;
2631
+ /**
2632
+ * The unique identifier of the profile.
2633
+ * @format uuid
2634
+ */
2635
+ id: string;
2636
+ /** Icons are used to attach images to Organizations, Members, and Loading screens in the Shortcut web application. */
2637
+ display_icon: Icon | null;
2638
+ /** The primary email address of the Member with the Organization. */
2639
+ email_address?: string | null;
2640
+ }
2641
+ /**
2642
+ * Projects typically map to teams (such as Frontend, Backend, Mobile, Devops, etc) but can represent any open-ended product, component, or initiative.
2643
+ */
2644
+ export interface Project {
2645
+ /** The Shortcut application url for the Project. */
2646
+ app_url: string;
2647
+ /** The description of the Project. */
2648
+ description?: string | null;
2649
+ /** True/false boolean indicating whether the Project is in an Archived state. */
2650
+ archived: boolean;
2651
+ /** A string description of this resource. */
2652
+ entity_type: string;
2653
+ /**
2654
+ * The number of days before the thermometer appears in the Story summary.
2655
+ * @format int64
2656
+ */
2657
+ days_to_thermometer: number;
2658
+ /**
2659
+ * The color associated with the Project in the Shortcut member interface.
2660
+ * @format css-color
2661
+ * @pattern ^#[a-fA-F0-9]{6}$
2662
+ */
2663
+ color?: string | null;
2664
+ /**
2665
+ * The ID of the workflow the project belongs to.
2666
+ * @format int64
2667
+ */
2668
+ workflow_id: number;
2669
+ /** The name of the Project */
2670
+ name: string;
2671
+ /**
2672
+ * The date at which the Project was started.
2673
+ * @format date-time
2674
+ */
2675
+ start_time: string;
2676
+ /**
2677
+ * The time/date that the Project was last updated.
2678
+ * @format date-time
2679
+ */
2680
+ updated_at?: string | null;
2681
+ /** An array of UUIDs for any Members listed as Followers. */
2682
+ follower_ids: string[];
2683
+ /** This field can be set to another unique ID. In the case that the Project has been imported from another tool, the ID in the other tool can be indicated here. */
2684
+ external_id?: string | null;
2685
+ /**
2686
+ * The unique ID of the Project.
2687
+ * @format int64
2688
+ */
2689
+ id: number;
2690
+ /** Configuration to enable or disable thermometers in the Story summary. */
2691
+ show_thermometer: boolean;
2692
+ /**
2693
+ * The ID of the team the project belongs to.
2694
+ * @format int64
2695
+ */
2696
+ team_id: number;
2697
+ /**
2698
+ * The number of weeks per iteration in this Project.
2699
+ * @format int64
2700
+ */
2701
+ iteration_length: number;
2702
+ /** The Project abbreviation used in Story summaries. Should be kept to 3 characters at most. */
2703
+ abbreviation?: string | null;
2704
+ /** A group of calculated values for this Project. */
2705
+ stats: ProjectStats;
2706
+ /**
2707
+ * The time/date that the Project was created.
2708
+ * @format date-time
2709
+ */
2710
+ created_at?: string | null;
2711
+ }
2712
+ /**
2713
+ * A group of calculated values for this Project.
2714
+ */
2715
+ export interface ProjectStats {
2716
+ /**
2717
+ * The total number of stories in this Project.
2718
+ * @format int64
2719
+ */
2720
+ num_stories: number;
2721
+ /**
2722
+ * The total number of points in this Project.
2723
+ * @format int64
2724
+ */
2725
+ num_points: number;
2726
+ /**
2727
+ * The total number of documents related to this Project
2728
+ * @format int64
2729
+ */
2730
+ num_related_documents: number;
2731
+ }
2732
+ /**
2733
+ * Corresponds to a VCS Pull Request attached to a Shortcut story.
2734
+ */
2735
+ export interface PullRequest {
2736
+ /** A string description of this resource. */
2737
+ entity_type: string;
2738
+ /** True/False boolean indicating whether the VCS pull request has been closed. */
2739
+ closed: boolean;
2740
+ /** True/False boolean indicating whether the VCS pull request has been merged. */
2741
+ merged: boolean;
2742
+ /**
2743
+ * Number of lines added in the pull request, according to VCS.
2744
+ * @format int64
2745
+ */
2746
+ num_added: number;
2747
+ /**
2748
+ * The ID of the branch for the particular pull request.
2749
+ * @format int64
2750
+ */
2751
+ branch_id: number;
2752
+ /**
2753
+ * The pull request's unique number ID in VCS.
2754
+ * @format int64
2755
+ */
2756
+ number: number;
2757
+ /** The name of the branch for the particular pull request. */
2758
+ branch_name: string;
2759
+ /** The name of the target branch for the particular pull request. */
2760
+ target_branch_name: string;
2761
+ /**
2762
+ * The number of commits on the pull request.
2763
+ * @format int64
2764
+ */
2765
+ num_commits?: number | null;
2766
+ /** The title of the pull request. */
2767
+ title: string;
2768
+ /**
2769
+ * The time/date the pull request was created.
2770
+ * @format date-time
2771
+ */
2772
+ updated_at: string;
2773
+ /** True/False boolean indicating whether the VCS pull request is in the draft state. */
2774
+ draft: boolean;
2775
+ /**
2776
+ * The unique ID associated with the pull request in Shortcut.
2777
+ * @format int64
2778
+ */
2779
+ id: number;
2780
+ /** An array of PullRequestLabels attached to the PullRequest. */
2781
+ vcs_labels?: PullRequestLabel[] | null;
2782
+ /** The URL for the pull request. */
2783
+ url: string;
2784
+ /**
2785
+ * Number of lines removed in the pull request, according to VCS.
2786
+ * @format int64
2787
+ */
2788
+ num_removed: number;
2789
+ /** The status of the review for the pull request. */
2790
+ review_status?: string;
2791
+ /**
2792
+ * Number of lines modified in the pull request, according to VCS.
2793
+ * @format int64
2794
+ */
2795
+ num_modified?: number | null;
2796
+ /** The status of the Continuous Integration workflow for the pull request. */
2797
+ build_status?: string;
2798
+ /**
2799
+ * The ID of the target branch for the particular pull request.
2800
+ * @format int64
2801
+ */
2802
+ target_branch_id: number;
2803
+ /**
2804
+ * The ID of the repository for the particular pull request.
2805
+ * @format int64
2806
+ */
2807
+ repository_id: number;
2808
+ /**
2809
+ * The time/date the pull request was created.
2810
+ * @format date-time
2811
+ */
2812
+ created_at: string;
2813
+ }
2814
+ /**
2815
+ * Corresponds to a VCS Label associated with a Pull Request.
2816
+ */
2817
+ export interface PullRequestLabel {
2818
+ /** A string description of this resource. */
2819
+ entity_type: string;
2820
+ /**
2821
+ * The unique ID of the VCS Label.
2822
+ * @format int64
2823
+ */
2824
+ id: number;
2825
+ /**
2826
+ * The color of the VCS label.
2827
+ * @format css-color
2828
+ * @pattern ^#[a-fA-F0-9]{6}$
2829
+ */
2830
+ color: string;
2831
+ /** The description of the VCS label. */
2832
+ description?: string | null;
2833
+ /** The name of the VCS label. */
2834
+ name: string;
2835
+ }
2836
+ /**
2837
+ * Repository refers to a VCS repository.
2838
+ */
2839
+ export interface Repository {
2840
+ /** A string description of this resource. */
2841
+ entity_type: string;
2842
+ /** The shorthand name of the VCS repository. */
2843
+ name?: string | null;
2844
+ /** The type of Repository. Currently this can only be "github". */
2845
+ type: string;
2846
+ /**
2847
+ * The time/date the Repository was updated.
2848
+ * @format date-time
2849
+ */
2850
+ updated_at?: string | null;
2851
+ /** The VCS unique identifier for the Repository. */
2852
+ external_id?: string | null;
2853
+ /**
2854
+ * The ID associated to the VCS repository in Shortcut.
2855
+ * @format int64
2856
+ */
2857
+ id?: number | null;
2858
+ /** The URL of the Repository. */
2859
+ url?: string | null;
2860
+ /** The full name of the VCS repository. */
2861
+ full_name?: string | null;
2862
+ /**
2863
+ * The time/date the Repository was created.
2864
+ * @format date-time
2865
+ */
2866
+ created_at?: string | null;
2867
+ }
2868
+ export interface Search {
2869
+ /** See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) */
2870
+ query: string;
2871
+ /**
2872
+ * The number of search results to include in a page. Minimum of 1 and maximum of 25.
2873
+ * @format int64
2874
+ */
2875
+ page_size?: number;
2876
+ /** The next page token. */
2877
+ next?: string;
2878
+ include?: "cursors";
2879
+ }
2880
+ /**
2881
+ * The results of the multi-entity search query.
2882
+ */
2883
+ export interface SearchResults {
2884
+ /** The results of the Epic search query. */
2885
+ epics: EpicSearchResults;
2886
+ /** The results of the Story search query. */
2887
+ stories: StorySearchResults;
2888
+ }
2889
+ export interface SearchStories {
2890
+ /** A true/false boolean indicating whether the Story is in archived state. */
2891
+ archived?: boolean;
2892
+ /**
2893
+ * An array of UUIDs for any Users who may be Owners of the Stories.
2894
+ * @format uuid
2895
+ */
2896
+ owner_id?: string | null;
2897
+ /** The type of Stories that you want returned. */
2898
+ story_type?: "feature" | "chore" | "bug";
2899
+ /** The Epic IDs that may be associated with the Stories. */
2900
+ epic_ids?: number[];
2901
+ /** The IDs for the Projects the Stories may be assigned to. */
2902
+ project_ids?: number[];
2903
+ /**
2904
+ * Stories should have been updated before this date.
2905
+ * @format date-time
2906
+ */
2907
+ updated_at_end?: string;
2908
+ /**
2909
+ * Stories should have been completed before this date.
2910
+ * @format date-time
2911
+ */
2912
+ completed_at_end?: string;
2913
+ /** The type of Workflow State the Stories may be in. */
2914
+ workflow_state_types?: ("started" | "unstarted" | "done")[];
2915
+ /**
2916
+ * Stories should have a deadline before this date.
2917
+ * @format date-time
2918
+ */
2919
+ deadline_end?: string;
2920
+ /**
2921
+ * Stories should have been created after this date.
2922
+ * @format date-time
2923
+ */
2924
+ created_at_start?: string;
2925
+ /**
2926
+ * The Epic IDs that may be associated with the Stories.
2927
+ * @format int64
2928
+ */
2929
+ epic_id?: number | null;
2930
+ /** The name of any associated Labels. */
2931
+ label_name?: string;
2932
+ /**
2933
+ * The UUID of any Users who may have requested the Stories.
2934
+ * @format uuid
2935
+ */
2936
+ requested_by_id?: string;
2937
+ /**
2938
+ * The Iteration ID that may be associated with the Stories.
2939
+ * @format int64
2940
+ */
2941
+ iteration_id?: number | null;
2942
+ /** The Label IDs that may be associated with the Stories. */
2943
+ label_ids?: number[];
2944
+ /**
2945
+ * The Group ID that is associated with the Stories
2946
+ * @format uuid
2947
+ */
2948
+ group_id?: string | null;
2949
+ /**
2950
+ * The unique IDs of the specific Workflow States that the Stories should be in.
2951
+ * @format int64
2952
+ */
2953
+ workflow_state_id?: number;
2954
+ /** The Iteration IDs that may be associated with the Stories. */
2955
+ iteration_ids?: number[];
2956
+ /**
2957
+ * Stories should have been created before this date.
2958
+ * @format date-time
2959
+ */
2960
+ created_at_end?: string;
2961
+ /**
2962
+ * Stories should have a deadline after this date.
2963
+ * @format date-time
2964
+ */
2965
+ deadline_start?: string;
2966
+ /** The Group IDs that are associated with the Stories */
2967
+ group_ids?: string[];
2968
+ /** An array of UUIDs for any Users who may be Owners of the Stories. */
2969
+ owner_ids?: string[];
2970
+ /** An ID or URL that references an external resource. Useful during imports. */
2971
+ external_id?: string;
2972
+ /** Whether to include the story description in the response. */
2973
+ includes_description?: boolean;
2974
+ /**
2975
+ * The number of estimate points associate with the Stories.
2976
+ * @format int64
2977
+ */
2978
+ estimate?: number;
2979
+ /**
2980
+ * The IDs for the Projects the Stories may be assigned to.
2981
+ * @format int64
2982
+ */
2983
+ project_id?: number;
2984
+ /**
2985
+ * Stories should have been competed after this date.
2986
+ * @format date-time
2987
+ */
2988
+ completed_at_start?: string;
2989
+ /**
2990
+ * Stories should have been updated after this date.
2991
+ * @format date-time
2992
+ */
2993
+ updated_at_start?: string;
2994
+ }
2995
+ /**
2996
+ * Stories are the standard unit of work in Shortcut and represent individual features, bugs, and chores.
2997
+ */
2998
+ export interface Story {
2999
+ /** The Shortcut application url for the Story. */
3000
+ app_url: string;
3001
+ /** The description of the story. */
3002
+ description: string;
3003
+ /** True if the story has been archived or not. */
3004
+ archived: boolean;
3005
+ /** A true/false boolean indicating if the Story has been started. */
3006
+ started: boolean;
3007
+ /** An array of story links attached to the Story. */
3008
+ story_links: TypedStoryLink[];
3009
+ /** A string description of this resource. */
3010
+ entity_type: string;
3011
+ /** An array of labels attached to the story. */
3012
+ labels: LabelSlim[];
3013
+ /** Deprecated: use member_mention_ids. */
3014
+ mention_ids: string[];
3015
+ /** An array of Member IDs that have been mentioned in the Story description. */
3016
+ member_mention_ids: string[];
3017
+ /** The type of story (feature, bug, chore). */
3018
+ story_type: string;
3019
+ /** An array of linked files attached to the story. */
3020
+ linked_files: LinkedFile[];
3021
+ /**
3022
+ * The ID of the workflow the story belongs to.
3023
+ * @format int64
3024
+ */
3025
+ workflow_id: number;
3026
+ /**
3027
+ * A manual override for the time/date the Story was completed.
3028
+ * @format date-time
3029
+ */
3030
+ completed_at_override?: string | null;
3031
+ /**
3032
+ * The time/date the Story was started.
3033
+ * @format date-time
3034
+ */
3035
+ started_at?: string | null;
3036
+ /**
3037
+ * The time/date the Story was completed.
3038
+ * @format date-time
3039
+ */
3040
+ completed_at?: string | null;
3041
+ /** The name of the story. */
3042
+ name: string;
3043
+ /** A true/false boolean indicating if the Story has been completed. */
3044
+ completed: boolean;
3045
+ /** An array of comments attached to the story. */
3046
+ comments: StoryComment[];
3047
+ /** A true/false boolean indicating if the Story is currently a blocker of another story. */
3048
+ blocker: boolean;
3049
+ /** An array of Git branches attached to the story. */
3050
+ branches: Branch[];
3051
+ /**
3052
+ * The ID of the epic the story belongs to.
3053
+ * @format int64
3054
+ */
3055
+ epic_id?: number | null;
3056
+ /**
3057
+ * The ID of the story template used to create this story, or null if not created using a template.
3058
+ * @format uuid
3059
+ */
3060
+ story_template_id?: string | null;
3061
+ /** An array of external links (strings) associated with a Story */
3062
+ external_links: string[];
3063
+ /** The IDs of the iteration the story belongs to. */
3064
+ previous_iteration_ids: number[];
3065
+ /**
3066
+ * The ID of the Member that requested the story.
3067
+ * @format uuid
3068
+ */
3069
+ requested_by_id: string;
3070
+ /**
3071
+ * The ID of the iteration the story belongs to.
3072
+ * @format int64
3073
+ */
3074
+ iteration_id?: number | null;
3075
+ /** An array of tasks connected to the story. */
3076
+ tasks: Task[];
3077
+ /** An array of label ids attached to the story. */
3078
+ label_ids: number[];
3079
+ /**
3080
+ * A manual override for the time/date the Story was started.
3081
+ * @format date-time
3082
+ */
3083
+ started_at_override?: string | null;
3084
+ /**
3085
+ * The ID of the group associated with the story.
3086
+ * @format uuid
3087
+ */
3088
+ group_id?: string | null;
3089
+ /**
3090
+ * The ID of the workflow state the story is currently in.
3091
+ * @format int64
3092
+ */
3093
+ workflow_state_id: number;
3094
+ /**
3095
+ * The time/date the Story was updated.
3096
+ * @format date-time
3097
+ */
3098
+ updated_at?: string | null;
3099
+ /** An array of Pull/Merge Requests attached to the story. */
3100
+ pull_requests: PullRequest[];
3101
+ /** An array of Group IDs that have been mentioned in the Story description. */
3102
+ group_mention_ids: string[];
3103
+ /** An array of UUIDs for any Members listed as Followers. */
3104
+ follower_ids: string[];
3105
+ /** An array of UUIDs of the owners of this story. */
3106
+ owner_ids: string[];
3107
+ /** 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. */
3108
+ external_id?: string | null;
3109
+ /**
3110
+ * The unique ID of the Story.
3111
+ * @format int64
3112
+ */
3113
+ id: number;
3114
+ /**
3115
+ * The lead time (in seconds) of this story when complete.
3116
+ * @format int64
3117
+ */
3118
+ lead_time?: number;
3119
+ /**
3120
+ * The numeric point estimate of the story. Can also be null, which means unestimated.
3121
+ * @format int64
3122
+ */
3123
+ estimate?: number | null;
3124
+ /** An array of commits attached to the story. */
3125
+ commits: Commit[];
3126
+ /** An array of files attached to the story. */
3127
+ files: UploadedFile[];
3128
+ /**
3129
+ * A number representing the position of the story in relation to every other story in the current project.
3130
+ * @format int64
3131
+ */
3132
+ position: number;
3133
+ /** A true/false boolean indicating if the Story is currently blocked. */
3134
+ blocked: boolean;
3135
+ /**
3136
+ * The ID of the project the story belongs to.
3137
+ * @format int64
3138
+ */
3139
+ project_id?: number | null;
3140
+ /**
3141
+ * The due date of the story.
3142
+ * @format date-time
3143
+ */
3144
+ deadline?: string | null;
3145
+ /** The stats object for Stories */
3146
+ stats: StoryStats;
3147
+ /**
3148
+ * The cycle time (in seconds) of this story when complete.
3149
+ * @format int64
3150
+ */
3151
+ cycle_time?: number;
3152
+ /**
3153
+ * The time/date the Story was created.
3154
+ * @format date-time
3155
+ */
3156
+ created_at: string;
3157
+ /**
3158
+ * The time/date the Story was last changed workflow-state.
3159
+ * @format date-time
3160
+ */
3161
+ moved_at?: string | null;
3162
+ }
3163
+ /**
3164
+ * A Comment is any note added within the Comment field of a Story.
3165
+ */
3166
+ export interface StoryComment {
3167
+ /** The Shortcut application url for the Comment. */
3168
+ app_url: string;
3169
+ /** A string description of this resource. */
3170
+ entity_type: string;
3171
+ /**
3172
+ * The ID of the Story on which the Comment appears.
3173
+ * @format int64
3174
+ */
3175
+ story_id: number;
3176
+ /** Deprecated: use member_mention_ids. */
3177
+ mention_ids: string[];
3178
+ /**
3179
+ * The unique ID of the Member who is the Comment's author.
3180
+ * @format uuid
3181
+ */
3182
+ author_id?: string | null;
3183
+ /** The unique IDs of the Member who are mentioned in the Comment. */
3184
+ member_mention_ids: string[];
3185
+ /**
3186
+ * The time/date when the Comment was updated.
3187
+ * @format date-time
3188
+ */
3189
+ updated_at?: string | null;
3190
+ /** The unique IDs of the Group who are mentioned in the Comment. */
3191
+ group_mention_ids: string[];
3192
+ /** This field can be set to another unique ID. In the case that the Comment has been imported from another tool, the ID in the other tool can be indicated here. */
3193
+ external_id?: string | null;
3194
+ /**
3195
+ * The unique ID of the Comment.
3196
+ * @format int64
3197
+ */
3198
+ id: number;
3199
+ /**
3200
+ * The Comments numerical position in the list from oldest to newest.
3201
+ * @format int64
3202
+ */
3203
+ position: number;
3204
+ /** A set of Reactions to this Comment. */
3205
+ reactions: StoryReaction[];
3206
+ /**
3207
+ * The time/date when the Comment was created.
3208
+ * @format date-time
3209
+ */
3210
+ created_at: string;
3211
+ /** The text of the Comment. */
3212
+ text: string;
3213
+ }
3214
+ /**
3215
+ * A container entity for the attributes this template should populate.
3216
+ */
3217
+ export interface StoryContents {
3218
+ /** The description of the story. */
3219
+ description?: string;
3220
+ /** A string description of this resource. */
3221
+ entity_type?: string;
3222
+ /** An array of labels attached to the story. */
3223
+ labels?: LabelSlim[];
3224
+ /** The type of story (feature, bug, chore). */
3225
+ story_type?: string;
3226
+ /** An array of linked files attached to the story. */
3227
+ linked_files?: LinkedFile[];
3228
+ /** The name of the story. */
3229
+ name?: string;
3230
+ /**
3231
+ * The ID of the epic the story belongs to.
3232
+ * @format int64
3233
+ */
3234
+ epic_id?: number;
3235
+ /** An array of external links connected to the story. */
3236
+ external_links?: string[];
3237
+ /**
3238
+ * The ID of the iteration the story belongs to.
3239
+ * @format int64
3240
+ */
3241
+ iteration_id?: number;
3242
+ /** An array of tasks connected to the story. */
3243
+ tasks?: StoryContentsTask[];
3244
+ /** An array of label ids attached to the story. */
3245
+ label_ids?: number[];
3246
+ /**
3247
+ * The ID of the group to which the story is assigned.
3248
+ * @format uuid
3249
+ */
3250
+ group_id?: string;
3251
+ /**
3252
+ * The ID of the workflow state the story is currently in.
3253
+ * @format int64
3254
+ */
3255
+ workflow_state_id?: number;
3256
+ /** An array of UUIDs for any Members listed as Followers. */
3257
+ follower_ids?: string[];
3258
+ /** An array of UUIDs of the owners of this story. */
3259
+ owner_ids?: string[];
3260
+ /**
3261
+ * The numeric point estimate of the story. Can also be null, which means unestimated.
3262
+ * @format int64
3263
+ */
3264
+ estimate?: number;
3265
+ /** An array of files attached to the story. */
3266
+ files?: UploadedFile[];
3267
+ /**
3268
+ * The ID of the project the story belongs to.
3269
+ * @format int64
3270
+ */
3271
+ project_id?: number;
3272
+ /**
3273
+ * The due date of the story.
3274
+ * @format date-time
3275
+ */
3276
+ deadline?: string;
3277
+ }
3278
+ export interface StoryContentsTask {
3279
+ /** Full text of the Task. */
3280
+ description: string;
3281
+ /**
3282
+ * The number corresponding to the Task's position within a list of Tasks on a Story.
3283
+ * @format int64
3284
+ */
3285
+ position?: number;
3286
+ /** True/false boolean indicating whether the Task has been completed. */
3287
+ complete?: boolean;
3288
+ /** An array of UUIDs of the Owners of this Task. */
3289
+ owner_ids?: string[];
3290
+ /** This field can be set to another unique ID. In the case that the Task has been imported from another tool, the ID in the other tool can be indicated here. */
3291
+ external_id?: string | null;
3292
+ }
3293
+ /**
3294
+ * Task IDs that have been added or removed from the Story.
3295
+ */
3296
+ export interface StoryHistoryChangeAddsRemovesInt {
3297
+ /** The values that have been added. */
3298
+ adds?: number[];
3299
+ /** The values that have been removed */
3300
+ removes?: number[];
3301
+ }
3302
+ /**
3303
+ * Member IDs that have been added or removed as a owner of the Story.
3304
+ */
3305
+ export interface StoryHistoryChangeAddsRemovesUuid {
3306
+ /** The values that have been added. */
3307
+ adds?: string[];
3308
+ /** The values that have been removed */
3309
+ removes?: string[];
3310
+ }
3311
+ /**
3312
+ * True if the Story has archived, otherwise false.
3313
+ */
3314
+ export interface StoryHistoryChangeOldNewBool {
3315
+ /** The old value. */
3316
+ old?: boolean;
3317
+ /** The new value. */
3318
+ new?: boolean;
3319
+ }
3320
+ /**
3321
+ * The estimate value for the Story
3322
+ */
3323
+ export interface StoryHistoryChangeOldNewInt {
3324
+ /**
3325
+ * The old value.
3326
+ * @format int64
3327
+ */
3328
+ old?: number;
3329
+ /**
3330
+ * The new value.
3331
+ * @format int64
3332
+ */
3333
+ new?: number;
3334
+ }
3335
+ /**
3336
+ * A timestamp that represents the Story's deadline.
3337
+ */
3338
+ export interface StoryHistoryChangeOldNewStr {
3339
+ /** The old value. */
3340
+ old?: string;
3341
+ /** The new value. */
3342
+ new?: string;
3343
+ }
3344
+ /**
3345
+ * The Member ID of the preson who requested the Story.
3346
+ */
3347
+ export interface StoryHistoryChangeOldNewUuid {
3348
+ /**
3349
+ * The old value.
3350
+ * @format uuid
3351
+ */
3352
+ old?: string;
3353
+ /**
3354
+ * The new value.
3355
+ * @format uuid
3356
+ */
3357
+ new?: string;
3358
+ }
3359
+ /**
3360
+ * Story links allow you create semantic relationships between two stories. Relationship types are relates to, blocks / blocked by, and duplicates / is duplicated by. The format is `subject -> link -> object`, or for example "story 5 blocks story 6".
3361
+ */
3362
+ export interface StoryLink {
3363
+ /** A string description of this resource. */
3364
+ entity_type: string;
3365
+ /**
3366
+ * The unique identifier of the Story Link.
3367
+ * @format int64
3368
+ */
3369
+ id: number;
3370
+ /**
3371
+ * The ID of the subject Story.
3372
+ * @format int64
3373
+ */
3374
+ subject_id: number;
3375
+ /**
3376
+ * The workflow state of the "subject" story.
3377
+ * @format int64
3378
+ */
3379
+ subject_workflow_state_id: number;
3380
+ /** How the subject Story acts on the object Story. This can be "blocks", "duplicates", or "relates to". */
3381
+ verb: string;
3382
+ /**
3383
+ * The ID of the object Story.
3384
+ * @format int64
3385
+ */
3386
+ object_id: number;
3387
+ /**
3388
+ * The time/date when the Story Link was created.
3389
+ * @format date-time
3390
+ */
3391
+ created_at: string;
3392
+ /**
3393
+ * The time/date when the Story Link was last updated.
3394
+ * @format date-time
3395
+ */
3396
+ updated_at: string;
3397
+ }
3398
+ /**
3399
+ * Emoji reaction on a comment.
3400
+ */
3401
+ export interface StoryReaction {
3402
+ /** Emoji text of the reaction. */
3403
+ emoji: string;
3404
+ /** Permissions who have reacted with this. */
3405
+ permission_ids: string[];
3406
+ }
3407
+ /**
3408
+ * The results of the Story search query.
3409
+ */
3410
+ export interface StorySearchResults {
3411
+ /**
3412
+ * The total number of matches for the search query. The first 1000 matches can be paged through via the API.
3413
+ * @format int64
3414
+ */
3415
+ total: number;
3416
+ /** A list of search results. */
3417
+ data: Story[];
3418
+ /** The URL path and query string for the next page of search results. */
3419
+ next?: string | null;
3420
+ cursors?: string[];
3421
+ }
3422
+ /**
3423
+ * StorySlim represents the same resource as a Story, but is more light-weight. For certain fields it provides ids rather than full resources (e.g., `comment_ids` and `file_ids`) and it also excludes certain aggregate values (e.g., `cycle_time`). The `description` field can be optionally included. Use the [Get Story](#Get-Story) endpoint to fetch the unabridged payload for a Story.
3424
+ */
3425
+ export interface StorySlim {
3426
+ /** The Shortcut application url for the Story. */
3427
+ app_url: string;
3428
+ /** The description of the Story. */
3429
+ description?: string;
3430
+ /** True if the story has been archived or not. */
3431
+ archived: boolean;
3432
+ /** A true/false boolean indicating if the Story has been started. */
3433
+ started: boolean;
3434
+ /** An array of story links attached to the Story. */
3435
+ story_links: TypedStoryLink[];
3436
+ /** A string description of this resource. */
3437
+ entity_type: string;
3438
+ /** An array of labels attached to the story. */
3439
+ labels: LabelSlim[];
3440
+ /** An array of IDs of Tasks attached to the story. */
3441
+ task_ids: number[];
3442
+ /** Deprecated: use member_mention_ids. */
3443
+ mention_ids: string[];
3444
+ /** An array of Member IDs that have been mentioned in the Story description. */
3445
+ member_mention_ids: string[];
3446
+ /** The type of story (feature, bug, chore). */
3447
+ story_type: string;
3448
+ /** An array of IDs of Files attached to the story. */
3449
+ file_ids: number[];
3450
+ /**
3451
+ * The number of tasks on the story which are complete.
3452
+ * @format int64
3453
+ */
3454
+ num_tasks_completed: number;
3455
+ /**
3456
+ * The ID of the workflow the story belongs to.
3457
+ * @format int64
3458
+ */
3459
+ workflow_id: number;
3460
+ /**
3461
+ * A manual override for the time/date the Story was completed.
3462
+ * @format date-time
3463
+ */
3464
+ completed_at_override?: string | null;
3465
+ /**
3466
+ * The time/date the Story was started.
3467
+ * @format date-time
3468
+ */
3469
+ started_at?: string | null;
3470
+ /**
3471
+ * The time/date the Story was completed.
3472
+ * @format date-time
3473
+ */
3474
+ completed_at?: string | null;
3475
+ /** The name of the story. */
3476
+ name: string;
3477
+ /** A true/false boolean indicating if the Story has been completed. */
3478
+ completed: boolean;
3479
+ /** A true/false boolean indicating if the Story is currently a blocker of another story. */
3480
+ blocker: boolean;
3481
+ /**
3482
+ * The ID of the epic the story belongs to.
3483
+ * @format int64
3484
+ */
3485
+ epic_id?: number | null;
3486
+ /**
3487
+ * The ID of the story template used to create this story, or null if not created using a template.
3488
+ * @format uuid
3489
+ */
3490
+ story_template_id?: string | null;
3491
+ /** An array of external links (strings) associated with a Story */
3492
+ external_links: string[];
3493
+ /** The IDs of the iteration the story belongs to. */
3494
+ previous_iteration_ids: number[];
3495
+ /**
3496
+ * The ID of the Member that requested the story.
3497
+ * @format uuid
3498
+ */
3499
+ requested_by_id: string;
3500
+ /**
3501
+ * The ID of the iteration the story belongs to.
3502
+ * @format int64
3503
+ */
3504
+ iteration_id?: number | null;
3505
+ /** An array of label ids attached to the story. */
3506
+ label_ids: number[];
3507
+ /**
3508
+ * A manual override for the time/date the Story was started.
3509
+ * @format date-time
3510
+ */
3511
+ started_at_override?: string | null;
3512
+ /**
3513
+ * The ID of the group associated with the story.
3514
+ * @format uuid
3515
+ */
3516
+ group_id?: string | null;
3517
+ /**
3518
+ * The ID of the workflow state the story is currently in.
3519
+ * @format int64
3520
+ */
3521
+ workflow_state_id: number;
3522
+ /**
3523
+ * The time/date the Story was updated.
3524
+ * @format date-time
3525
+ */
3526
+ updated_at?: string | null;
3527
+ /** An array of Group IDs that have been mentioned in the Story description. */
3528
+ group_mention_ids: string[];
3529
+ /** An array of UUIDs for any Members listed as Followers. */
3530
+ follower_ids: string[];
3531
+ /** An array of UUIDs of the owners of this story. */
3532
+ owner_ids: string[];
3533
+ /** 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. */
3534
+ external_id?: string | null;
3535
+ /**
3536
+ * The unique ID of the Story.
3537
+ * @format int64
3538
+ */
3539
+ id: number;
3540
+ /**
3541
+ * The lead time (in seconds) of this story when complete.
3542
+ * @format int64
3543
+ */
3544
+ lead_time?: number;
3545
+ /**
3546
+ * The numeric point estimate of the story. Can also be null, which means unestimated.
3547
+ * @format int64
3548
+ */
3549
+ estimate?: number | null;
3550
+ /**
3551
+ * A number representing the position of the story in relation to every other story in the current project.
3552
+ * @format int64
3553
+ */
3554
+ position: number;
3555
+ /** A true/false boolean indicating if the Story is currently blocked. */
3556
+ blocked: boolean;
3557
+ /**
3558
+ * The ID of the project the story belongs to.
3559
+ * @format int64
3560
+ */
3561
+ project_id?: number | null;
3562
+ /** An array of IDs of LinkedFiles attached to the story. */
3563
+ linked_file_ids: number[];
3564
+ /**
3565
+ * The due date of the story.
3566
+ * @format date-time
3567
+ */
3568
+ deadline?: string | null;
3569
+ /** The stats object for Stories */
3570
+ stats: StoryStats;
3571
+ /** An array of IDs of Comments attached to the story. */
3572
+ comment_ids: number[];
3573
+ /**
3574
+ * The cycle time (in seconds) of this story when complete.
3575
+ * @format int64
3576
+ */
3577
+ cycle_time?: number;
3578
+ /**
3579
+ * The time/date the Story was created.
3580
+ * @format date-time
3581
+ */
3582
+ created_at: string;
3583
+ /**
3584
+ * The time/date the Story was last changed workflow-state.
3585
+ * @format date-time
3586
+ */
3587
+ moved_at?: string | null;
3588
+ }
3589
+ /**
3590
+ * The stats object for Stories
3591
+ */
3592
+ export interface StoryStats {
3593
+ /**
3594
+ * The number of documents related to this Story.
3595
+ * @format int64
3596
+ */
3597
+ num_related_documents: number;
3598
+ }
3599
+ export interface Task {
3600
+ /** Full text of the Task. */
3601
+ description: string;
3602
+ /** A string description of this resource. */
3603
+ entity_type: string;
3604
+ /**
3605
+ * The unique identifier of the parent Story.
3606
+ * @format int64
3607
+ */
3608
+ story_id: number;
3609
+ /** Deprecated: use member_mention_ids. */
3610
+ mention_ids: string[];
3611
+ /** An array of UUIDs of Members mentioned in this Task. */
3612
+ member_mention_ids: string[];
3613
+ /**
3614
+ * The time/date the Task was completed.
3615
+ * @format date-time
3616
+ */
3617
+ completed_at?: string | null;
3618
+ /**
3619
+ * The time/date the Task was updated.
3620
+ * @format date-time
3621
+ */
3622
+ updated_at?: string | null;
3623
+ /** An array of UUIDs of Groups mentioned in this Task. */
3624
+ group_mention_ids: string[];
3625
+ /** An array of UUIDs of the Owners of this Task. */
3626
+ owner_ids: string[];
3627
+ /** This field can be set to another unique ID. In the case that the Task has been imported from another tool, the ID in the other tool can be indicated here. */
3628
+ external_id?: string | null;
3629
+ /**
3630
+ * The unique ID of the Task.
3631
+ * @format int64
3632
+ */
3633
+ id: number;
3634
+ /**
3635
+ * The number corresponding to the Task's position within a list of Tasks on a Story.
3636
+ * @format int64
3637
+ */
3638
+ position: number;
3639
+ /** True/false boolean indicating whether the Task has been completed. */
3640
+ complete: boolean;
3641
+ /**
3642
+ * The time/date the Task was created.
3643
+ * @format date-time
3644
+ */
3645
+ created_at: string;
3646
+ }
3647
+ /**
3648
+ * Comments associated with Epic Discussions.
3649
+ */
3650
+ export interface ThreadedComment {
3651
+ /** The Shortcut application url for the Comment. */
3652
+ app_url: string;
3653
+ /** A string description of this resource. */
3654
+ entity_type: string;
3655
+ /** True/false boolean indicating whether the Comment is deleted. */
3656
+ deleted: boolean;
3657
+ /** Deprecated: use member_mention_ids. */
3658
+ mention_ids: string[];
3659
+ /**
3660
+ * The unique ID of the Member that authored the Comment.
3661
+ * @format uuid
3662
+ */
3663
+ author_id: string;
3664
+ /** An array of Member IDs that have been mentioned in this Comment. */
3665
+ member_mention_ids: string[];
3666
+ /** A nested array of threaded comments. */
3667
+ comments: ThreadedComment[];
3668
+ /**
3669
+ * The time/date the Comment was updated.
3670
+ * @format date-time
3671
+ */
3672
+ updated_at: string;
3673
+ /** An array of Group IDs that have been mentioned in this Comment. */
3674
+ group_mention_ids: string[];
3675
+ /** This field can be set to another unique ID. In the case that the Comment has been imported from another tool, the ID in the other tool can be indicated here. */
3676
+ external_id?: string | null;
3677
+ /**
3678
+ * The unique ID of the Comment.
3679
+ * @format int64
3680
+ */
3681
+ id: number;
3682
+ /**
3683
+ * The time/date the Comment was created.
3684
+ * @format date-time
3685
+ */
3686
+ created_at: string;
3687
+ /** The text of the Comment. */
3688
+ text: string;
3689
+ }
3690
+ /**
3691
+ * The type of Story Link. The string can be subject or object.
3692
+ */
3693
+ export interface TypedStoryLink {
3694
+ /** A string description of this resource. */
3695
+ entity_type: string;
3696
+ /**
3697
+ * The ID of the object Story.
3698
+ * @format int64
3699
+ */
3700
+ object_id: number;
3701
+ /** How the subject Story acts on the object Story. This can be "blocks", "duplicates", or "relates to". */
3702
+ verb: string;
3703
+ /** This indicates whether the Story is the subject or object in the Story Link. */
3704
+ type: string;
3705
+ /**
3706
+ * The time/date when the Story Link was last updated.
3707
+ * @format date-time
3708
+ */
3709
+ updated_at: string;
3710
+ /**
3711
+ * The unique identifier of the Story Link.
3712
+ * @format int64
3713
+ */
3714
+ id: number;
3715
+ /**
3716
+ * The ID of the subject Story.
3717
+ * @format int64
3718
+ */
3719
+ subject_id: number;
3720
+ /**
3721
+ * The workflow state of the "subject" story.
3722
+ * @format int64
3723
+ */
3724
+ subject_workflow_state_id: number;
3725
+ /**
3726
+ * The time/date when the Story Link was created.
3727
+ * @format date-time
3728
+ */
3729
+ created_at: string;
3730
+ }
3731
+ export interface UnusableEntitlementError {
3732
+ /** The tag for violating an entitlement action. */
3733
+ reason_tag: "entitlement-violation";
3734
+ /** Short tag describing the unusable entitlement action taken by the user. */
3735
+ entitlement_tag: string;
3736
+ /** Message displayed to the user on why their action failed. */
3737
+ message: string;
3738
+ }
3739
+ export interface UpdateCategory {
3740
+ /** The new name of the Category. */
3741
+ name?: string;
3742
+ /**
3743
+ * The hex color to be displayed with the Category (for example, "#ff0000").
3744
+ * @format css-color
3745
+ * @pattern ^#[a-fA-F0-9]{6}$
3746
+ */
3747
+ color?: string | null;
3748
+ /** A true/false boolean indicating if the Category has been archived. */
3749
+ archived?: boolean;
3750
+ }
3751
+ export interface UpdateComment {
3752
+ /** The updated comment text. */
3753
+ text: string;
3754
+ }
3755
+ /**
3756
+ * Request parameters for changing either a template's name or any of
3757
+ the attributes it is designed to pre-populate.
3758
+ */
3759
+ export interface UpdateEntityTemplate {
3760
+ /** The updated template name. */
3761
+ name?: string;
3762
+ /** Updated attributes for the template to populate. */
3763
+ story_contents?: UpdateStoryContents;
3764
+ }
3765
+ export interface UpdateEpic {
3766
+ /** The Epic's description. */
3767
+ description?: string;
3768
+ /** A true/false boolean indicating whether the Epic is in archived state. */
3769
+ archived?: boolean;
3770
+ /** An array of Labels attached to the Epic. */
3771
+ labels?: CreateLabelParams[];
3772
+ /**
3773
+ * A manual override for the time/date the Epic was completed.
3774
+ * @format date-time
3775
+ */
3776
+ completed_at_override?: string | null;
3777
+ /** The Epic's name. */
3778
+ name?: string;
3779
+ /**
3780
+ * The Epic's planned start date.
3781
+ * @format date-time
3782
+ */
3783
+ planned_start_date?: string | null;
3784
+ /** `Deprecated` The Epic's state (to do, in progress, or done); will be ignored when `epic_state_id` is set. */
3785
+ state?: "in progress" | "to do" | "done";
3786
+ /**
3787
+ * The ID of the Milestone this Epic is related to.
3788
+ * @format int64
3789
+ */
3790
+ milestone_id?: number | null;
3791
+ /**
3792
+ * The ID of the member that requested the epic.
3793
+ * @format uuid
3794
+ */
3795
+ requested_by_id?: string;
3796
+ /**
3797
+ * The ID of the Epic State.
3798
+ * @format int64
3799
+ */
3800
+ epic_state_id?: number;
3801
+ /**
3802
+ * A manual override for the time/date the Epic was started.
3803
+ * @format date-time
3804
+ */
3805
+ started_at_override?: string | null;
3806
+ /**
3807
+ * The ID of the group to associate with the epic.
3808
+ * @format uuid
3809
+ */
3810
+ group_id?: string | null;
3811
+ /** An array of UUIDs for any Members you want to add as Followers on this Epic. */
3812
+ follower_ids?: string[];
3813
+ /** An array of UUIDs for any members you want to add as Owners on this Epic. */
3814
+ owner_ids?: string[];
3815
+ /**
3816
+ * The ID of the Epic we want to move this Epic before.
3817
+ * @format int64
3818
+ */
3819
+ before_id?: number;
3820
+ /**
3821
+ * The ID of the Epic we want to move this Epic after.
3822
+ * @format int64
3823
+ */
3824
+ after_id?: number;
3825
+ /**
3826
+ * The Epic's deadline.
3827
+ * @format date-time
3828
+ */
3829
+ deadline?: string | null;
3830
+ }
3831
+ export interface UpdateFile {
3832
+ /** The description of the file. */
3833
+ description?: string;
3834
+ /**
3835
+ * The time/date that the file was uploaded.
3836
+ * @format date-time
3837
+ */
3838
+ created_at?: string;
3839
+ /**
3840
+ * The time/date that the file was last updated.
3841
+ * @format date-time
3842
+ */
3843
+ updated_at?: string;
3844
+ /** The name of the file. */
3845
+ name?: string;
3846
+ /**
3847
+ * The unique ID assigned to the Member who uploaded the file to Shortcut.
3848
+ * @format uuid
3849
+ */
3850
+ uploader_id?: string;
3851
+ /** An additional ID that you may wish to assign to the file. */
3852
+ external_id?: string;
3853
+ }
3854
+ export interface UpdateGroup {
3855
+ /** The description of this Group. */
3856
+ description?: string;
3857
+ /** Whether or not this Group is archived. */
3858
+ archived?: boolean | null;
3859
+ /**
3860
+ * The color you wish to use for the Group in the system.
3861
+ * @format css-color
3862
+ * @pattern ^#[a-fA-F0-9]{6}$
3863
+ */
3864
+ color?: string | null;
3865
+ /**
3866
+ * The Icon id for the avatar of this Group.
3867
+ * @format uuid
3868
+ */
3869
+ display_icon_id?: string | null;
3870
+ /** The mention name of this Group. */
3871
+ mention_name?: string;
3872
+ /** The name of this Group. */
3873
+ name?: string;
3874
+ /** The color key you wish to use for the Group in the system. */
3875
+ color_key?: "blue" | "purple" | "midnight-blue" | "orange" | "yellow-green" | "brass" | "gray" | "fuchsia" | "yellow" | "pink" | "sky-blue" | "green" | "red" | "black" | "slate" | "turquoise";
3876
+ /** The Member ids to add to this Group. */
3877
+ member_ids?: string[];
3878
+ /** The Workflow ids to add to the Group. */
3879
+ workflow_ids?: number[];
3880
+ }
3881
+ export interface UpdateIteration {
3882
+ /** An array of UUIDs for any Members you want to add as Followers. */
3883
+ follower_ids?: string[];
3884
+ /** An array of UUIDs for any Groups you want to add as Followers. Currently, only one Group association is presented in our web UI. */
3885
+ group_ids?: string[];
3886
+ /** An array of Labels attached to the Iteration. */
3887
+ labels?: CreateLabelParams[];
3888
+ /** The description of the Iteration. */
3889
+ description?: string;
3890
+ /** The name of this Iteration */
3891
+ name?: string;
3892
+ /** The date this Iteration begins, e.g. 2019-07-01 */
3893
+ start_date?: string;
3894
+ /** The date this Iteration ends, e.g. 2019-07-05. */
3895
+ end_date?: string;
3896
+ }
3897
+ export interface UpdateLabel {
3898
+ /** The new name of the label. */
3899
+ name?: string;
3900
+ /** The new description of the label. */
3901
+ description?: string;
3902
+ /**
3903
+ * The hex color to be displayed with the Label (for example, "#ff0000").
3904
+ * @format css-color
3905
+ * @pattern ^#[a-fA-F0-9]{6}$
3906
+ */
3907
+ color?: string | null;
3908
+ /** A true/false boolean indicating if the Label has been archived. */
3909
+ archived?: boolean;
3910
+ }
3911
+ export interface UpdateLinkedFile {
3912
+ /** The description of the file. */
3913
+ description?: string;
3914
+ /**
3915
+ * The ID of the linked story.
3916
+ * @format int64
3917
+ */
3918
+ story_id?: number;
3919
+ /** The name of the file. */
3920
+ name?: string;
3921
+ /**
3922
+ * The URL of the thumbnail, if the integration provided it.
3923
+ * @pattern ^https?://.+$
3924
+ */
3925
+ thumbnail_url?: string;
3926
+ /** The integration type of the file (e.g. google, dropbox, box). */
3927
+ type?: "google" | "url" | "dropbox" | "box" | "onedrive";
3928
+ /**
3929
+ * The filesize, if the integration provided it.
3930
+ * @format int64
3931
+ */
3932
+ size?: number;
3933
+ /**
3934
+ * The UUID of the member that uploaded the file.
3935
+ * @format uuid
3936
+ */
3937
+ uploader_id?: string;
3938
+ /**
3939
+ * The URL of linked file.
3940
+ * @pattern ^https?://.+$
3941
+ */
3942
+ url?: string;
3943
+ }
3944
+ export interface UpdateMilestone {
3945
+ /** The Milestone's description. */
3946
+ description?: string;
3947
+ /**
3948
+ * A manual override for the time/date the Milestone was completed.
3949
+ * @format date-time
3950
+ */
3951
+ completed_at_override?: string | null;
3952
+ /** The name of the Milestone. */
3953
+ name?: string;
3954
+ /** The workflow state that the Milestone is in. */
3955
+ state?: "in progress" | "to do" | "done";
3956
+ /**
3957
+ * A manual override for the time/date the Milestone was started.
3958
+ * @format date-time
3959
+ */
3960
+ started_at_override?: string | null;
3961
+ /** An array of IDs of Categories attached to the Milestone. */
3962
+ categories?: CreateCategoryParams[];
3963
+ /**
3964
+ * The ID of the Milestone we want to move this Milestone before.
3965
+ * @format int64
3966
+ */
3967
+ before_id?: number;
3968
+ /**
3969
+ * The ID of the Milestone we want to move this Milestone after.
3970
+ * @format int64
3971
+ */
3972
+ after_id?: number;
3973
+ }
3974
+ export interface UpdateProject {
3975
+ /** The Project's description. */
3976
+ description?: string;
3977
+ /** A true/false boolean indicating whether the Story is in archived state. */
3978
+ archived?: boolean;
3979
+ /**
3980
+ * The number of days before the thermometer appears in the Story summary.
3981
+ * @format int64
3982
+ */
3983
+ days_to_thermometer?: number;
3984
+ /**
3985
+ * The color that represents the Project in the UI.
3986
+ * @format css-color
3987
+ * @pattern ^#[a-fA-F0-9]{6}$
3988
+ */
3989
+ color?: string;
3990
+ /** The Project's name. */
3991
+ name?: string;
3992
+ /** An array of UUIDs for any Members you want to add as Followers. */
3993
+ follower_ids?: string[];
3994
+ /** Configuration to enable or disable thermometers in the Story summary. */
3995
+ show_thermometer?: boolean;
3996
+ /**
3997
+ * The ID of the team the project belongs to.
3998
+ * @format int64
3999
+ */
4000
+ team_id?: number;
4001
+ /** The Project abbreviation used in Story summaries. Should be kept to 3 characters at most. */
4002
+ abbreviation?: string;
4003
+ }
4004
+ export interface UpdateStories {
4005
+ /** If the Stories should be archived or not. */
4006
+ archived?: boolean;
4007
+ /** The Ids of the Stories you wish to update. */
4008
+ story_ids: number[];
4009
+ /** The type of story (feature, bug, chore). */
4010
+ story_type?: "feature" | "chore" | "bug";
4011
+ /** One of "first" or "last". This can be used to move the given story to the first or last position in the workflow state. */
4012
+ move_to?: "last" | "first";
4013
+ /** The UUIDs of the new followers to be added. */
4014
+ follower_ids_add?: string[];
4015
+ /**
4016
+ * The ID of the epic the story belongs to.
4017
+ * @format int64
4018
+ */
4019
+ epic_id?: number | null;
4020
+ /** An array of External Links associated with this story. */
4021
+ external_links?: string[];
4022
+ /** The UUIDs of the followers to be removed. */
4023
+ follower_ids_remove?: string[];
4024
+ /**
4025
+ * The ID of the member that requested the story.
4026
+ * @format uuid
4027
+ */
4028
+ requested_by_id?: string;
4029
+ /**
4030
+ * The ID of the iteration the story belongs to.
4031
+ * @format int64
4032
+ */
4033
+ iteration_id?: number | null;
4034
+ /** An array of labels to be added. */
4035
+ labels_add?: CreateLabelParams[];
4036
+ /**
4037
+ * The Id of the Group the Stories should belong to.
4038
+ * @format uuid
4039
+ */
4040
+ group_id?: string | null;
4041
+ /**
4042
+ * The ID of the workflow state to put the stories in.
4043
+ * @format int64
4044
+ */
4045
+ workflow_state_id?: number;
4046
+ /**
4047
+ * The ID of the story that the stories are to be moved before.
4048
+ * @format int64
4049
+ */
4050
+ before_id?: number;
4051
+ /**
4052
+ * The numeric point estimate of the story. Can also be null, which means unestimated.
4053
+ * @format int64
4054
+ */
4055
+ estimate?: number | null;
4056
+ /**
4057
+ * The ID of the story that the stories are to be moved below.
4058
+ * @format int64
4059
+ */
4060
+ after_id?: number;
4061
+ /** The UUIDs of the owners to be removed. */
4062
+ owner_ids_remove?: string[];
4063
+ /**
4064
+ * The ID of the Project the Stories should belong to.
4065
+ * @format int64
4066
+ */
4067
+ project_id?: number | null;
4068
+ /** An array of labels to be removed. */
4069
+ labels_remove?: CreateLabelParams[];
4070
+ /**
4071
+ * The due date of the story.
4072
+ * @format date-time
4073
+ */
4074
+ deadline?: string | null;
4075
+ /** The UUIDs of the new owners to be added. */
4076
+ owner_ids_add?: string[];
4077
+ }
4078
+ export interface UpdateStory {
4079
+ /** The description of the story. */
4080
+ description?: string;
4081
+ /** True if the story is archived, otherwise false. */
4082
+ archived?: boolean;
4083
+ /** An array of labels attached to the story. */
4084
+ labels?: CreateLabelParams[];
4085
+ /** An array of IDs of Pull/Merge Requests attached to the story. */
4086
+ pull_request_ids?: number[];
4087
+ /** The type of story (feature, bug, chore). */
4088
+ story_type?: "feature" | "chore" | "bug";
4089
+ /** One of "first" or "last". This can be used to move the given story to the first or last position in the workflow state. */
4090
+ move_to?: "last" | "first";
4091
+ /** An array of IDs of files attached to the story. */
4092
+ file_ids?: number[];
4093
+ /**
4094
+ * A manual override for the time/date the Story was completed.
4095
+ * @format date-time
4096
+ */
4097
+ completed_at_override?: string | null;
4098
+ /** The title of the story. */
4099
+ name?: string;
4100
+ /**
4101
+ * The ID of the epic the story belongs to.
4102
+ * @format int64
4103
+ */
4104
+ epic_id?: number | null;
4105
+ /** An array of External Links associated with this story. */
4106
+ external_links?: string[];
4107
+ /** An array of IDs of Branches attached to the story. */
4108
+ branch_ids?: number[];
4109
+ /** An array of IDs of Commits attached to the story. */
4110
+ commit_ids?: number[];
4111
+ /**
4112
+ * The ID of the member that requested the story.
4113
+ * @format uuid
4114
+ */
4115
+ requested_by_id?: string;
4116
+ /**
4117
+ * The ID of the iteration the story belongs to.
4118
+ * @format int64
4119
+ */
4120
+ iteration_id?: number | null;
4121
+ /**
4122
+ * A manual override for the time/date the Story was started.
4123
+ * @format date-time
4124
+ */
4125
+ started_at_override?: string | null;
4126
+ /**
4127
+ * The ID of the group to associate with this story
4128
+ * @format uuid
4129
+ */
4130
+ group_id?: string | null;
4131
+ /**
4132
+ * The ID of the workflow state to put the story in.
4133
+ * @format int64
4134
+ */
4135
+ workflow_state_id?: number;
4136
+ /** An array of UUIDs of the followers of this story. */
4137
+ follower_ids?: string[];
4138
+ /** An array of UUIDs of the owners of this story. */
4139
+ owner_ids?: string[];
4140
+ /**
4141
+ * The ID of the story we want to move this story before.
4142
+ * @format int64
4143
+ */
4144
+ before_id?: number;
4145
+ /**
4146
+ * The numeric point estimate of the story. Can also be null, which means unestimated.
4147
+ * @format int64
4148
+ */
4149
+ estimate?: number | null;
4150
+ /**
4151
+ * The ID of the story we want to move this story after.
4152
+ * @format int64
4153
+ */
4154
+ after_id?: number;
4155
+ /**
4156
+ * The ID of the project the story belongs to.
4157
+ * @format int64
4158
+ */
4159
+ project_id?: number | null;
4160
+ /** An array of IDs of linked files attached to the story. */
4161
+ linked_file_ids?: number[];
4162
+ /**
4163
+ * The due date of the story.
4164
+ * @format date-time
4165
+ */
4166
+ deadline?: string | null;
4167
+ }
4168
+ export interface UpdateStoryComment {
4169
+ /** The updated comment text. */
4170
+ text: string;
4171
+ }
4172
+ /**
4173
+ * Updated attributes for the template to populate.
4174
+ */
4175
+ export interface UpdateStoryContents {
4176
+ /** The description of the story. */
4177
+ description?: string;
4178
+ /** A string description of this resource. */
4179
+ entity_type?: string;
4180
+ /** An array of labels to be populated by the template. */
4181
+ labels?: CreateLabelParams[];
4182
+ /** The type of story (feature, bug, chore). */
4183
+ story_type?: string;
4184
+ /** An array of linked files attached to the story. */
4185
+ linked_files?: LinkedFile[];
4186
+ /** An array of the attached file IDs to be populated. */
4187
+ file_ids?: number[];
4188
+ /** The name of the story. */
4189
+ name?: string;
4190
+ /**
4191
+ * The ID of the epic the to be populated.
4192
+ * @format int64
4193
+ */
4194
+ epic_id?: number | null;
4195
+ /** An array of external links to be populated. */
4196
+ external_links?: string[];
4197
+ /**
4198
+ * The ID of the iteration the to be populated.
4199
+ * @format int64
4200
+ */
4201
+ iteration_id?: number | null;
4202
+ /** An array of tasks to be populated by the template. */
4203
+ tasks?: EntityTemplateTask[];
4204
+ /** An array of label ids attached to the story. */
4205
+ label_ids?: number[];
4206
+ /**
4207
+ * The ID of the group to be populated.
4208
+ * @format uuid
4209
+ */
4210
+ group_id?: string | null;
4211
+ /**
4212
+ * The ID of the workflow state the story is currently in.
4213
+ * @format int64
4214
+ */
4215
+ workflow_state_id?: number;
4216
+ /** An array of UUIDs for any Members listed as Followers. */
4217
+ follower_ids?: string[];
4218
+ /** An array of UUIDs of the owners of this story. */
4219
+ owner_ids?: string[];
4220
+ /**
4221
+ * The numeric point estimate to be populated.
4222
+ * @format int64
4223
+ */
4224
+ estimate?: number | null;
4225
+ /** An array of files attached to the story. */
4226
+ files?: UploadedFile[];
4227
+ /**
4228
+ * The ID of the project the story belongs to.
4229
+ * @format int64
4230
+ */
4231
+ project_id?: number | null;
4232
+ /** An array of the linked file IDs to be populated. */
4233
+ linked_file_ids?: number[];
4234
+ /**
4235
+ * The due date of the story.
4236
+ * @format date-time
4237
+ */
4238
+ deadline?: string | null;
4239
+ }
4240
+ export interface UpdateStoryLink {
4241
+ /** The type of link. */
4242
+ verb?: "blocks" | "duplicates" | "relates to";
4243
+ /**
4244
+ * The ID of the subject Story.
4245
+ * @format int64
4246
+ */
4247
+ subject_id?: number;
4248
+ /**
4249
+ * The ID of the object Story.
4250
+ * @format int64
4251
+ */
4252
+ object_id?: number;
4253
+ }
4254
+ export interface UpdateTask {
4255
+ /** The Task's description. */
4256
+ description?: string;
4257
+ /** An array of UUIDs of the owners of this story. */
4258
+ owner_ids?: string[];
4259
+ /** A true/false boolean indicating whether the task is complete. */
4260
+ complete?: boolean;
4261
+ /**
4262
+ * Move task before this task ID.
4263
+ * @format int64
4264
+ */
4265
+ before_id?: number;
4266
+ /**
4267
+ * Move task after this task ID.
4268
+ * @format int64
4269
+ */
4270
+ after_id?: number;
4271
+ }
4272
+ /**
4273
+ * An UploadedFile is any document uploaded to your Shortcut Workspace. Files attached from a third-party service are different: see the Linked Files endpoint.
4274
+ */
4275
+ export interface UploadedFile {
4276
+ /** The description of the file. */
4277
+ description?: string | null;
4278
+ /** A string description of this resource. */
4279
+ entity_type: string;
4280
+ /** The unique IDs of the Stories associated with this file. */
4281
+ story_ids: number[];
4282
+ /** Deprecated: use member_mention_ids. */
4283
+ mention_ids: string[];
4284
+ /** The unique IDs of the Members who are mentioned in the file description. */
4285
+ member_mention_ids: string[];
4286
+ /** The optional User-specified name of the file. */
4287
+ name: string;
4288
+ /** The url where the thumbnail of the file can be found in Shortcut. */
4289
+ thumbnail_url?: string | null;
4290
+ /**
4291
+ * The size of the file.
4292
+ * @format int64
4293
+ */
4294
+ size: number;
4295
+ /**
4296
+ * The unique ID of the Member who uploaded the file.
4297
+ * @format uuid
4298
+ */
4299
+ uploader_id: string;
4300
+ /** Free form string corresponding to a text or image file. */
4301
+ content_type: string;
4302
+ /**
4303
+ * The time/date that the file was updated.
4304
+ * @format date-time
4305
+ */
4306
+ updated_at?: string | null;
4307
+ /** The name assigned to the file in Shortcut upon upload. */
4308
+ filename: string;
4309
+ /** The unique IDs of the Groups who are mentioned in the file description. */
4310
+ group_mention_ids: string[];
4311
+ /** This field can be set to another unique ID. In the case that the File has been imported from another tool, the ID in the other tool can be indicated here. */
4312
+ external_id?: string | null;
4313
+ /**
4314
+ * The unique ID for the file.
4315
+ * @format int64
4316
+ */
4317
+ id: number;
4318
+ /** The URL for the file. */
4319
+ url?: string | null;
4320
+ /**
4321
+ * The time/date that the file was created.
4322
+ * @format date-time
4323
+ */
4324
+ created_at: string;
4325
+ }
4326
+ /**
4327
+ * Workflow is the array of defined Workflow States. Workflow can be queried using the API but must be updated in the Shortcut UI.
4328
+ */
4329
+ export interface Workflow {
4330
+ /** A description of the workflow. */
4331
+ description: string;
4332
+ /** A string description of this resource. */
4333
+ entity_type: string;
4334
+ /** An array of IDs of projects within the Workflow. */
4335
+ project_ids: number[];
4336
+ /** A map of the states in this Workflow. */
4337
+ states: WorkflowState[];
4338
+ /** The name of the workflow. */
4339
+ name: string;
4340
+ /**
4341
+ * The date the Workflow was updated.
4342
+ * @format date-time
4343
+ */
4344
+ updated_at: string;
4345
+ /** Indicates if an owner is automatically assigned when an unowned story is started. */
4346
+ auto_assign_owner: boolean;
4347
+ /**
4348
+ * The unique ID of the Workflow.
4349
+ * @format int64
4350
+ */
4351
+ id: number;
4352
+ /**
4353
+ * The ID of the team the workflow belongs to.
4354
+ * @format int64
4355
+ */
4356
+ team_id: number;
4357
+ /**
4358
+ * The date the Workflow was created.
4359
+ * @format date-time
4360
+ */
4361
+ created_at: string;
4362
+ /**
4363
+ * The unique ID of the default state that new Stories are entered into.
4364
+ * @format int64
4365
+ */
4366
+ default_state_id: number;
4367
+ }
4368
+ /**
4369
+ * Workflow State is any of the at least 3 columns. Workflow States correspond to one of 3 types: Unstarted, Started, or Done.
4370
+ */
4371
+ export interface WorkflowState {
4372
+ /** The description of what sort of Stories belong in that Workflow state. */
4373
+ description: string;
4374
+ /** A string description of this resource. */
4375
+ entity_type: string;
4376
+ /**
4377
+ * The hex color for this Workflow State.
4378
+ * @format css-color
4379
+ * @pattern ^#[a-fA-F0-9]{6}$
4380
+ */
4381
+ color?: string;
4382
+ /** The verb that triggers a move to that Workflow State when making VCS commits. */
4383
+ verb?: string | null;
4384
+ /** The Workflow State's name. */
4385
+ name: string;
4386
+ /**
4387
+ * The number of Stories currently in that Workflow State.
4388
+ * @format int64
4389
+ */
4390
+ num_stories: number;
4391
+ /** The type of Workflow State (Unstarted, Started, or Finished) */
4392
+ type: string;
4393
+ /**
4394
+ * When the Workflow State was last updated.
4395
+ * @format date-time
4396
+ */
4397
+ updated_at: string;
4398
+ /**
4399
+ * The unique ID of the Workflow State.
4400
+ * @format int64
4401
+ */
4402
+ id: number;
4403
+ /**
4404
+ * The number of Story Templates associated with that Workflow State.
4405
+ * @format int64
4406
+ */
4407
+ num_story_templates: number;
4408
+ /**
4409
+ * The position that the Workflow State is in, starting with 0 at the left.
4410
+ * @format int64
4411
+ */
4412
+ position: number;
4413
+ /**
4414
+ * The time/date the Workflow State was created.
4415
+ * @format date-time
4416
+ */
4417
+ created_at: string;
4418
+ }