@useshortcut/client 1.0.0-beta.1 → 1.1.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.
@@ -2,9 +2,7 @@ export interface BasicWorkspaceInfo {
2
2
  url_slug: string;
3
3
  estimate_scale: number[];
4
4
  }
5
- /**
6
- * Branch refers to a VCS branch. Branches are feature branches associated with Shortcut Stories.
7
- */
5
+ /** Branch refers to a VCS branch. Branches are feature branches associated with Shortcut Stories. */
8
6
  export interface Branch {
9
7
  /** A string description of this resource. */
10
8
  entity_type: string;
@@ -34,16 +32,14 @@ export interface Branch {
34
32
  * The ID of the Repository that contains the Branch.
35
33
  * @format int64
36
34
  */
37
- repository_id?: number | null;
35
+ repository_id: number;
38
36
  /**
39
37
  * The time/date the Branch was created.
40
38
  * @format date-time
41
39
  */
42
40
  created_at?: string | null;
43
41
  }
44
- /**
45
- * A Category can be used to associate Milestones.
46
- */
42
+ /** A Category can be used to associate Milestones. */
47
43
  export interface Category {
48
44
  /** A true/false boolean indicating if the Category has been archived. */
49
45
  archived: boolean;
@@ -52,11 +48,14 @@ export interface Category {
52
48
  /**
53
49
  * The hex color to be displayed with the Category (for example, "#ff0000").
54
50
  * @format css-color
51
+ * @minLength 1
55
52
  * @pattern ^#[a-fA-F0-9]{6}$
56
53
  */
57
54
  color?: string | null;
58
55
  /** The name of the Category. */
59
56
  name: string;
57
+ /** The Global ID of the Category. */
58
+ global_id: string;
60
59
  /** The type of entity this Category is associated with; currently Milestone is the only type of Category. */
61
60
  type: string;
62
61
  /**
@@ -77,9 +76,7 @@ export interface Category {
77
76
  */
78
77
  created_at: string;
79
78
  }
80
- /**
81
- * Commit refers to a VCS commit and all associated details.
82
- */
79
+ /** Commit refers to a VCS commit and all associated details. */
83
80
  export interface Commit {
84
81
  /** A string description of this resource. */
85
82
  entity_type: string;
@@ -95,8 +92,6 @@ export interface Commit {
95
92
  * @format date-time
96
93
  */
97
94
  updated_at?: string | null;
98
- /** The IDs of the Branches the Commit has been merged into. */
99
- merged_branch_ids: number[];
100
95
  /**
101
96
  * The unique ID of the Commit.
102
97
  * @format int64
@@ -127,36 +122,52 @@ export interface Commit {
127
122
  message: string;
128
123
  }
129
124
  export interface CreateCategory {
130
- /** The name of the new Category. */
125
+ /**
126
+ * The name of the new Category.
127
+ * @minLength 1
128
+ */
131
129
  name: string;
132
130
  /**
133
131
  * The hex color to be displayed with the Category (for example, "#ff0000").
134
132
  * @format css-color
133
+ * @minLength 1
135
134
  * @pattern ^#[a-fA-F0-9]{6}$
136
135
  */
137
136
  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. */
137
+ /**
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
+ * @minLength 1
140
+ */
139
141
  external_id?: string;
140
142
  /** The type of entity this Category is associated with; currently Milestone is the only type of Category. */
141
- type: "milestone";
143
+ type: 'milestone';
142
144
  }
143
- /**
144
- * Request parameters for creating a Category with a Milestone.
145
- */
145
+ /** Request parameters for creating a Category with a Milestone. */
146
146
  export interface CreateCategoryParams {
147
- /** The name of the new Category. */
147
+ /**
148
+ * The name of the new Category.
149
+ * @minLength 1
150
+ */
148
151
  name: string;
149
152
  /**
150
153
  * The hex color to be displayed with the Category (for example, "#ff0000").
151
154
  * @format css-color
155
+ * @minLength 1
152
156
  * @pattern ^#[a-fA-F0-9]{6}$
153
157
  */
154
158
  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. */
159
+ /**
160
+ * 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.
161
+ * @minLength 1
162
+ */
156
163
  external_id?: string;
157
164
  }
158
165
  export interface CreateCommentComment {
159
- /** The comment text. */
166
+ /**
167
+ * The comment text.
168
+ * @minLength 1
169
+ * @maxLength 100000
170
+ */
160
171
  text: string;
161
172
  /**
162
173
  * The Member ID of the Comment's author. Defaults to the user identified by the API token.
@@ -176,11 +187,12 @@ export interface CreateCommentComment {
176
187
  /** 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
188
  external_id?: string;
178
189
  }
179
- /**
180
- * Request paramaters for creating an entirely new entity template.
181
- */
190
+ /** Request paramaters for creating an entirely new entity template. */
182
191
  export interface CreateEntityTemplate {
183
- /** The name of the new entity template */
192
+ /**
193
+ * The name of the new entity template
194
+ * @minLength 1
195
+ */
184
196
  name: string;
185
197
  /**
186
198
  * The id of the user creating this template.
@@ -191,7 +203,10 @@ export interface CreateEntityTemplate {
191
203
  story_contents: CreateStoryContents;
192
204
  }
193
205
  export interface CreateEpic {
194
- /** The Epic's description. */
206
+ /**
207
+ * The Epic's description.
208
+ * @maxLength 100000
209
+ */
195
210
  description?: string;
196
211
  /** An array of Labels attached to the Epic. */
197
212
  labels?: CreateLabelParams[];
@@ -200,7 +215,11 @@ export interface CreateEpic {
200
215
  * @format date-time
201
216
  */
202
217
  completed_at_override?: string;
203
- /** The Epic's name. */
218
+ /**
219
+ * The Epic's name.
220
+ * @minLength 1
221
+ * @maxLength 256
222
+ */
204
223
  name: string;
205
224
  /**
206
225
  * The Epic's planned start date.
@@ -208,7 +227,7 @@ export interface CreateEpic {
208
227
  */
209
228
  planned_start_date?: string | null;
210
229
  /** `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";
230
+ state?: 'in progress' | 'to do' | 'done';
212
231
  /**
213
232
  * The ID of the Milestone this Epic is related to.
214
233
  * @format int64
@@ -257,7 +276,11 @@ export interface CreateEpic {
257
276
  created_at?: string;
258
277
  }
259
278
  export interface CreateEpicComment {
260
- /** The comment text. */
279
+ /**
280
+ * The comment text.
281
+ * @minLength 1
282
+ * @maxLength 100000
283
+ */
261
284
  text: string;
262
285
  /**
263
286
  * The Member ID of the Comment's author. Defaults to the user identified by the API token.
@@ -280,22 +303,34 @@ export interface CreateEpicComment {
280
303
  export interface CreateGroup {
281
304
  /** The description of the Group. */
282
305
  description?: string;
283
- /** The Member ids to add to this Group. */
306
+ /**
307
+ * The Member ids to add to this Group.
308
+ * @uniqueItems true
309
+ */
284
310
  member_ids?: string[];
285
311
  /** The Workflow ids to add to the Group. */
286
312
  workflow_ids?: number[];
287
- /** The name of this Group. */
313
+ /**
314
+ * The name of this Group.
315
+ * @minLength 1
316
+ * @maxLength 63
317
+ */
288
318
  name: string;
289
- /** The mention name of this Group. */
319
+ /**
320
+ * The mention name of this Group.
321
+ * @minLength 1
322
+ * @maxLength 63
323
+ */
290
324
  mention_name: string;
291
325
  /**
292
326
  * The color you wish to use for the Group in the system.
293
327
  * @format css-color
328
+ * @minLength 1
294
329
  * @pattern ^#[a-fA-F0-9]{6}$
295
330
  */
296
331
  color?: string;
297
332
  /** 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";
333
+ color_key?: 'blue' | 'purple' | 'midnight-blue' | 'orange' | 'yellow-green' | 'brass' | 'gray' | 'fuchsia' | 'yellow' | 'pink' | 'sky-blue' | 'green' | 'red' | 'black' | 'slate' | 'turquoise';
299
334
  /**
300
335
  * The Icon id for the avatar of this Group.
301
336
  * @format uuid
@@ -309,30 +344,49 @@ export interface CreateIteration {
309
344
  group_ids?: string[];
310
345
  /** An array of Labels attached to the Iteration. */
311
346
  labels?: CreateLabelParams[];
312
- /** The description of the Iteration. */
347
+ /**
348
+ * The description of the Iteration.
349
+ * @maxLength 100000
350
+ */
313
351
  description?: string;
314
- /** The name of this Iteration. */
352
+ /**
353
+ * The name of this Iteration.
354
+ * @minLength 1
355
+ * @maxLength 256
356
+ */
315
357
  name: string;
316
- /** The date this Iteration begins, e.g. 2019-07-01. */
358
+ /**
359
+ * The date this Iteration begins, e.g. 2019-07-01.
360
+ * @minLength 1
361
+ */
317
362
  start_date: string;
318
- /** The date this Iteration ends, e.g. 2019-07-01. */
363
+ /**
364
+ * The date this Iteration ends, e.g. 2019-07-01.
365
+ * @minLength 1
366
+ */
319
367
  end_date: string;
320
368
  }
321
- /**
322
- * Request parameters for creating a Label on a Shortcut Story.
323
- */
369
+ /** Request parameters for creating a Label on a Shortcut Story. */
324
370
  export interface CreateLabelParams {
325
- /** The name of the new Label. */
371
+ /**
372
+ * The name of the new Label.
373
+ * @minLength 1
374
+ * @maxLength 128
375
+ */
326
376
  name: string;
327
377
  /** The description of the new Label. */
328
378
  description?: string;
329
379
  /**
330
380
  * The hex color to be displayed with the Label (for example, "#ff0000").
331
381
  * @format css-color
382
+ * @minLength 1
332
383
  * @pattern ^#[a-fA-F0-9]{6}$
333
384
  */
334
385
  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. */
386
+ /**
387
+ * 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.
388
+ * @minLength 1
389
+ */
336
390
  external_id?: string;
337
391
  }
338
392
  export interface CreateLinkedFile {
@@ -343,15 +397,20 @@ export interface CreateLinkedFile {
343
397
  * @format int64
344
398
  */
345
399
  story_id?: number;
346
- /** The name of the file. */
400
+ /**
401
+ * The name of the file.
402
+ * @minLength 1
403
+ * @maxLength 256
404
+ */
347
405
  name: string;
348
406
  /**
349
407
  * The URL of the thumbnail, if the integration provided it.
408
+ * @maxLength 2048
350
409
  * @pattern ^https?://.+$
351
410
  */
352
411
  thumbnail_url?: string;
353
412
  /** The integration type of the file (e.g. google, dropbox, box). */
354
- type: "google" | "url" | "dropbox" | "box" | "onedrive";
413
+ type: 'google' | 'url' | 'dropbox' | 'box' | 'onedrive';
355
414
  /**
356
415
  * The filesize, if the integration provided it.
357
416
  * @format int64
@@ -366,17 +425,25 @@ export interface CreateLinkedFile {
366
425
  content_type?: string;
367
426
  /**
368
427
  * The URL of linked file.
428
+ * @maxLength 2048
369
429
  * @pattern ^https?://.+$
370
430
  */
371
431
  url: string;
372
432
  }
373
433
  export interface CreateMilestone {
374
- /** The name of the Milestone. */
434
+ /**
435
+ * The name of the Milestone.
436
+ * @minLength 1
437
+ * @maxLength 256
438
+ */
375
439
  name: string;
376
- /** The Milestone's description. */
440
+ /**
441
+ * The Milestone's description.
442
+ * @maxLength 100000
443
+ */
377
444
  description?: string;
378
445
  /** The workflow state that the Milestone is in. */
379
- state?: "in progress" | "to do" | "done";
446
+ state?: 'in progress' | 'to do' | 'done';
380
447
  /**
381
448
  * A manual override for the time/date the Milestone was started.
382
449
  * @format date-time
@@ -395,15 +462,23 @@ export interface CreateOrDeleteStoryReaction {
395
462
  emoji: string;
396
463
  }
397
464
  export interface CreateProject {
398
- /** The Project description. */
465
+ /**
466
+ * The Project description.
467
+ * @maxLength 100000
468
+ */
399
469
  description?: string;
400
470
  /**
401
471
  * The color you wish to use for the Project in the system.
402
472
  * @format css-color
473
+ * @minLength 1
403
474
  * @pattern ^#[a-fA-F0-9]{6}$
404
475
  */
405
476
  color?: string;
406
- /** The name of the Project. */
477
+ /**
478
+ * The name of the Project.
479
+ * @minLength 1
480
+ * @maxLength 128
481
+ */
407
482
  name: string;
408
483
  /**
409
484
  * The date at which the Project was started.
@@ -442,18 +517,13 @@ export interface CreateStories {
442
517
  stories: CreateStoryParams[];
443
518
  }
444
519
  export interface CreateStoryComment {
445
- /** The comment text. */
446
- text: string;
447
520
  /**
448
521
  * The Member ID of the Comment's author. Defaults to the user identified by the API token.
449
522
  * @format uuid
450
523
  */
451
524
  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;
525
+ /** Marks the comment as a blocker that can be surfaced to permissions or teams mentioned in the comment. Can only be used on a top-level comment. */
526
+ blocker?: boolean;
457
527
  /**
458
528
  * Defaults to the time/date the comment is last updated, but can be set to reflect another date.
459
529
  * @format date-time
@@ -461,12 +531,30 @@ export interface CreateStoryComment {
461
531
  updated_at?: string;
462
532
  /** 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
533
  external_id?: string;
534
+ /**
535
+ * The ID of the Comment that this comment is threaded under.
536
+ * @format int64
537
+ */
538
+ parent_id?: number | null;
539
+ /** Marks the comment as an unblocker to its blocker parent. Can only be set on a threaded comment who has a parent with `blocker` set. */
540
+ unblocks_parent?: boolean;
541
+ /**
542
+ * Defaults to the time/date the comment is created, but can be set to reflect another date.
543
+ * @format date-time
544
+ */
545
+ created_at?: string;
546
+ /**
547
+ * The comment text.
548
+ * @maxLength 100000
549
+ */
550
+ text: string;
464
551
  }
465
- /**
466
- * Request parameters for creating a Comment on a Shortcut Story.
467
- */
552
+ /** Request parameters for creating a Comment on a Shortcut Story. */
468
553
  export interface CreateStoryCommentParams {
469
- /** The comment text. */
554
+ /**
555
+ * The comment text.
556
+ * @maxLength 100000
557
+ */
470
558
  text: string;
471
559
  /**
472
560
  * The Member ID of the Comment's author. Defaults to the user identified by the API token.
@@ -485,10 +573,17 @@ export interface CreateStoryCommentParams {
485
573
  updated_at?: string;
486
574
  /** 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
575
  external_id?: string;
576
+ /**
577
+ * The ID of the Comment that this comment is threaded under.
578
+ * @format int64
579
+ */
580
+ parent_id?: number | null;
581
+ /** Marks the comment as a blocker that can be surfaced to permissions or teams mentioned in the comment. Can only be used on a top-level comment. */
582
+ blocker?: boolean;
583
+ /** Marks the comment as an unblocker to its blocker parent. Can only be set on a threaded comment who has a parent with `blocker` set. */
584
+ unblocks_parent?: boolean;
488
585
  }
489
- /**
490
- * A map of story attributes this template populates.
491
- */
586
+ /** A map of story attributes this template populates. */
492
587
  export interface CreateStoryContents {
493
588
  /** The description of the story. */
494
589
  description?: string;
@@ -498,10 +593,20 @@ export interface CreateStoryContents {
498
593
  labels?: CreateLabelParams[];
499
594
  /** The type of story (feature, bug, chore). */
500
595
  story_type?: string;
596
+ /** An array of maps specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
597
+ custom_fields?: CustomFieldValueParams[];
501
598
  /** An array of linked files attached to the story. */
502
599
  linked_files?: LinkedFile[];
503
- /** An array of the attached file IDs to be populated. */
600
+ /**
601
+ * An array of the attached file IDs to be populated.
602
+ * @uniqueItems true
603
+ */
504
604
  file_ids?: number[];
605
+ /**
606
+ * The ID of the workflow.
607
+ * @format int64
608
+ */
609
+ workflow_id?: number | null;
505
610
  /** The name of the story. */
506
611
  name?: string;
507
612
  /**
@@ -546,7 +651,10 @@ export interface CreateStoryContents {
546
651
  * @format int64
547
652
  */
548
653
  project_id?: number;
549
- /** An array of the linked file IDs to be populated. */
654
+ /**
655
+ * An array of the linked file IDs to be populated.
656
+ * @uniqueItems true
657
+ */
550
658
  linked_file_ids?: number[];
551
659
  /**
552
660
  * The due date of the story.
@@ -556,7 +664,7 @@ export interface CreateStoryContents {
556
664
  }
557
665
  export interface CreateStoryLink {
558
666
  /** The type of link. */
559
- verb: "blocks" | "duplicates" | "relates to";
667
+ verb: 'blocks' | 'duplicates' | 'relates to';
560
668
  /**
561
669
  * The ID of the subject Story.
562
670
  * @format int64
@@ -568,9 +676,7 @@ export interface CreateStoryLink {
568
676
  */
569
677
  object_id: number;
570
678
  }
571
- /**
572
- * Request parameters for creating a Story Link within a Story.
573
- */
679
+ /** Request parameters for creating a Story Link within a Story. */
574
680
  export interface CreateStoryLinkParams {
575
681
  /**
576
682
  * The unique ID of the Story defined as subject.
@@ -578,18 +684,19 @@ export interface CreateStoryLinkParams {
578
684
  */
579
685
  subject_id?: number;
580
686
  /** How the subject Story acts on the object Story. This can be "blocks", "duplicates", or "relates to". */
581
- verb: "blocks" | "duplicates" | "relates to";
687
+ verb: 'blocks' | 'duplicates' | 'relates to';
582
688
  /**
583
689
  * The unique ID of the Story defined as object.
584
690
  * @format int64
585
691
  */
586
692
  object_id?: number;
587
693
  }
588
- /**
589
- * Request parameters for creating a story.
590
- */
694
+ /** Request parameters for creating a story. */
591
695
  export interface CreateStoryParams {
592
- /** The description of the story. */
696
+ /**
697
+ * The description of the story.
698
+ * @maxLength 100000
699
+ */
593
700
  description?: string;
594
701
  /** Controls the story's archived state. */
595
702
  archived?: boolean;
@@ -598,15 +705,26 @@ export interface CreateStoryParams {
598
705
  /** An array of labels attached to the story. */
599
706
  labels?: CreateLabelParams[];
600
707
  /** The type of story (feature, bug, chore). */
601
- story_type?: "feature" | "chore" | "bug";
602
- /** An array of IDs of files attached to the story. */
708
+ story_type?: 'feature' | 'chore' | 'bug';
709
+ /** A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
710
+ custom_fields?: CustomFieldValueParams[];
711
+ /** One of "first" or "last". This can be used to move the given story to the first or last position in the workflow state. */
712
+ move_to?: 'last' | 'first';
713
+ /**
714
+ * An array of IDs of files attached to the story.
715
+ * @uniqueItems true
716
+ */
603
717
  file_ids?: number[];
604
718
  /**
605
719
  * A manual override for the time/date the Story was completed.
606
720
  * @format date-time
607
721
  */
608
722
  completed_at_override?: string;
609
- /** The name of the story. */
723
+ /**
724
+ * The name of the story.
725
+ * @minLength 1
726
+ * @maxLength 512
727
+ */
610
728
  name: string;
611
729
  /** An array of comments to add to the story. */
612
730
  comments?: CreateStoryCommentParams[];
@@ -616,7 +734,7 @@ export interface CreateStoryParams {
616
734
  */
617
735
  epic_id?: number | null;
618
736
  /**
619
- * The id of the story template used to create this story, if applicable.
737
+ * The id of the story template used to create this story, if applicable. This is just an association; no content from the story template is inherited by the story simply by setting this field.
620
738
  * @format uuid
621
739
  */
622
740
  story_template_id?: string | null;
@@ -654,9 +772,15 @@ export interface CreateStoryParams {
654
772
  * @format date-time
655
773
  */
656
774
  updated_at?: string;
657
- /** An array of UUIDs of the followers of this story. */
775
+ /**
776
+ * An array of UUIDs of the followers of this story.
777
+ * @uniqueItems true
778
+ */
658
779
  follower_ids?: string[];
659
- /** An array of UUIDs of the owners of this story. */
780
+ /**
781
+ * An array of UUIDs of the owners of this story.
782
+ * @uniqueItems true
783
+ */
660
784
  owner_ids?: string[];
661
785
  /** 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
786
  external_id?: string;
@@ -670,7 +794,10 @@ export interface CreateStoryParams {
670
794
  * @format int64
671
795
  */
672
796
  project_id?: number | null;
673
- /** An array of IDs of linked files attached to the story. */
797
+ /**
798
+ * An array of IDs of linked files attached to the story.
799
+ * @uniqueItems true
800
+ */
674
801
  linked_file_ids?: number[];
675
802
  /**
676
803
  * The due date of the story.
@@ -684,7 +811,11 @@ export interface CreateStoryParams {
684
811
  created_at?: string;
685
812
  }
686
813
  export interface CreateTask {
687
- /** The Task description. */
814
+ /**
815
+ * The Task description.
816
+ * @minLength 1
817
+ * @maxLength 2048
818
+ */
688
819
  description: string;
689
820
  /** True/false boolean indicating whether the Task is completed. Defaults to false. */
690
821
  complete?: boolean;
@@ -703,11 +834,13 @@ export interface CreateTask {
703
834
  /** 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
835
  external_id?: string;
705
836
  }
706
- /**
707
- * Request parameters for creating a Task on a Story.
708
- */
837
+ /** Request parameters for creating a Task on a Story. */
709
838
  export interface CreateTaskParams {
710
- /** The Task description. */
839
+ /**
840
+ * The Task description.
841
+ * @minLength 1
842
+ * @maxLength 2048
843
+ */
711
844
  description: string;
712
845
  /** True/false boolean indicating whether the Task is completed. Defaults to false. */
713
846
  complete?: boolean;
@@ -726,13 +859,112 @@ export interface CreateTaskParams {
726
859
  /** 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
860
  external_id?: string;
728
861
  }
862
+ export interface CustomField {
863
+ /**
864
+ * A string description of the CustomField
865
+ * @minLength 1
866
+ * @maxLength 512
867
+ */
868
+ description?: string;
869
+ /**
870
+ * A string that represents the icon that corresponds to this custom field.
871
+ * @minLength 1
872
+ * @maxLength 63
873
+ */
874
+ icon_set_identifier?: string;
875
+ /** A string description of this resource. */
876
+ entity_type: 'custom-field';
877
+ /** The types of stories this CustomField is scoped to. */
878
+ story_types?: string[];
879
+ /**
880
+ * The name of the Custom Field.
881
+ * @minLength 1
882
+ * @maxLength 63
883
+ */
884
+ name: string;
885
+ /** When true, the CustomFieldEnumValues may not be reordered. */
886
+ fixed_position?: boolean;
887
+ /**
888
+ * The instant when this CustomField was last updated.
889
+ * @format date-time
890
+ */
891
+ updated_at: string;
892
+ /**
893
+ * The unique public ID for the CustomField.
894
+ * @format uuid
895
+ */
896
+ id: string;
897
+ /** A collection of legal values for a CustomField. */
898
+ values?: CustomFieldEnumValue[];
899
+ /** The type of Custom Field, eg. 'enum'. */
900
+ field_type: 'enum';
901
+ /**
902
+ * An integer indicating the position of this Custom Field with respect to the other CustomField
903
+ * @format int64
904
+ */
905
+ position: number;
906
+ /** The canonical name for a Shortcut-defined field. */
907
+ canonical_name?: string;
908
+ /** When true, the CustomField can be applied to entities in the Workspace. */
909
+ enabled: boolean;
910
+ /**
911
+ * The instant when this CustomField was created.
912
+ * @format date-time
913
+ */
914
+ created_at: string;
915
+ }
916
+ export interface CustomFieldEnumValue {
917
+ /**
918
+ * The unique public ID for the Custom Field.
919
+ * @format uuid
920
+ */
921
+ id: string;
922
+ /**
923
+ * A string value within the domain of this Custom Field.
924
+ * @minLength 1
925
+ * @maxLength 63
926
+ */
927
+ value: string;
928
+ /**
929
+ * An integer indicating the position of this Value with respect to the other CustomFieldEnumValues in the enumeration.
930
+ * @format int64
931
+ */
932
+ position: number;
933
+ /** A color key associated with this CustomFieldEnumValue. */
934
+ color_key?: string | null;
935
+ /** A string description of this resource. */
936
+ entity_type: 'custom-field-enum-value';
937
+ /** When true, the CustomFieldEnumValue can be selected for the CustomField. */
938
+ enabled: boolean;
939
+ }
940
+ export interface CustomFieldValueParams {
941
+ /**
942
+ * The unique public ID for the CustomField.
943
+ * @format uuid
944
+ */
945
+ field_id: string;
946
+ /**
947
+ * The unique public ID for the CustomFieldEnumValue.
948
+ * @format uuid
949
+ */
950
+ value_id: string;
951
+ /** A literal value for the CustomField. Currently ignored. */
952
+ value?: string;
953
+ }
954
+ /** Error returned when Datomic tx fails due to Datomc :db.error/cas-failed error */
955
+ export interface DataConflictError {
956
+ error: 'data-conflict-error';
957
+ /** An explanatory message: "The update failed due to a data conflict. Please refresh and try again." */
958
+ message: string;
959
+ }
729
960
  export interface DeleteStories {
730
- /** An array of IDs of Stories to delete. */
961
+ /**
962
+ * An array of IDs of Stories to delete.
963
+ * @uniqueItems true
964
+ */
731
965
  story_ids: number[];
732
966
  }
733
- /**
734
- * An entity template can be used to prefill various fields when creating new stories.
735
- */
967
+ /** An entity template can be used to prefill various fields when creating new stories. */
736
968
  export interface EntityTemplate {
737
969
  /** A string description of this resource. */
738
970
  entity_type: string;
@@ -766,11 +998,13 @@ export interface EntityTemplate {
766
998
  /** A container entity for the attributes this template should populate. */
767
999
  story_contents: StoryContents;
768
1000
  }
769
- /**
770
- * Request parameters for specifying how to pre-populate a task through a template.
771
- */
1001
+ /** Request parameters for specifying how to pre-populate a task through a template. */
772
1002
  export interface EntityTemplateTask {
773
- /** The Task description. */
1003
+ /**
1004
+ * The Task description.
1005
+ * @minLength 1
1006
+ * @maxLength 2048
1007
+ */
774
1008
  description: string;
775
1009
  /** True/false boolean indicating whether the Task is completed. Defaults to false. */
776
1010
  complete?: boolean;
@@ -779,9 +1013,7 @@ export interface EntityTemplateTask {
779
1013
  /** 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
1014
  external_id?: string;
781
1015
  }
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
- */
1016
+ /** An Epic is a collection of stories that together might make up a release, a milestone, or some other large initiative that you are working on. */
785
1017
  export interface Epic {
786
1018
  /** The Shortcut application url for the Epic. */
787
1019
  app_url: string;
@@ -799,6 +1031,8 @@ export interface Epic {
799
1031
  mention_ids: string[];
800
1032
  /** An array of Member IDs that have been mentioned in the Epic description. */
801
1033
  member_mention_ids: string[];
1034
+ /** An array containing Group IDs and Group-owned story counts for the Epic's associated groups. */
1035
+ associated_groups: EpicAssociatedGroup[];
802
1036
  /** The IDs of Projects related to this Epic. */
803
1037
  project_ids: number[];
804
1038
  /**
@@ -828,6 +1062,7 @@ export interface Epic {
828
1062
  completed_at?: string | null;
829
1063
  /** The name of the Epic. */
830
1064
  name: string;
1065
+ global_id: string;
831
1066
  /** A true/false boolean indicating if the Epic has been completed. */
832
1067
  completed: boolean;
833
1068
  /** A nested array of threaded comments. */
@@ -908,25 +1143,20 @@ export interface Epic {
908
1143
  */
909
1144
  created_at?: string | null;
910
1145
  }
911
- /**
912
- * The results of the Epic search query.
913
- */
914
- export interface EpicSearchResults {
1146
+ export interface EpicAssociatedGroup {
915
1147
  /**
916
- * The total number of matches for the search query. The first 1000 matches can be paged through via the API.
1148
+ * The Group ID of the associated group.
1149
+ * @format uuid
1150
+ */
1151
+ group_id: string;
1152
+ /**
1153
+ * The number of stories this Group owns in the Epic.
917
1154
  * @format int64
918
1155
  */
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[];
1156
+ associated_stories_count?: number;
925
1157
  }
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 {
1158
+ /** An Epic in search results. This is typed differently from Epic because the details=slim search argument will omit some fields. */
1159
+ export interface EpicSearchResult {
930
1160
  /** The Shortcut application url for the Epic. */
931
1161
  app_url: string;
932
1162
  /** The Epic's description. */
@@ -943,6 +1173,8 @@ export interface EpicSlim {
943
1173
  mention_ids: string[];
944
1174
  /** An array of Member IDs that have been mentioned in the Epic description. */
945
1175
  member_mention_ids: string[];
1176
+ /** An array containing Group IDs and Group-owned story counts for the Epic's associated groups. */
1177
+ associated_groups: EpicAssociatedGroup[];
946
1178
  /** The IDs of Projects related to this Epic. */
947
1179
  project_ids: number[];
948
1180
  /**
@@ -972,8 +1204,11 @@ export interface EpicSlim {
972
1204
  completed_at?: string | null;
973
1205
  /** The name of the Epic. */
974
1206
  name: string;
1207
+ global_id: string;
975
1208
  /** A true/false boolean indicating if the Epic has been completed. */
976
1209
  completed: boolean;
1210
+ /** A nested array of threaded comments. */
1211
+ comments?: ThreadedComment[];
977
1212
  /** The URL of the associated productboard feature. */
978
1213
  productboard_url?: string | null;
979
1214
  /**
@@ -1050,34 +1285,175 @@ export interface EpicSlim {
1050
1285
  */
1051
1286
  created_at?: string | null;
1052
1287
  }
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;
1288
+ /** The results of the Epic search query. */
1289
+ export interface EpicSearchResults {
1290
+ /**
1291
+ * The total number of matches for the search query. The first 1000 matches can be paged through via the API.
1292
+ * @format int64
1293
+ */
1294
+ total: number;
1295
+ /** A list of search results. */
1296
+ data: EpicSearchResult[];
1297
+ /** The URL path and query string for the next page of search results. */
1298
+ next?: string | null;
1299
+ cursors?: string[];
1300
+ }
1301
+ /** 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. */
1302
+ export interface EpicSlim {
1303
+ /** The Shortcut application url for the Epic. */
1304
+ app_url: string;
1305
+ /** The Epic's description. */
1306
+ description?: string;
1307
+ /** True/false boolean that indicates whether the Epic is archived or not. */
1308
+ archived: boolean;
1309
+ /** A true/false boolean indicating if the Epic has been started. */
1310
+ started: boolean;
1059
1311
  /** A string description of this resource. */
1060
1312
  entity_type: string;
1313
+ /** An array of Labels attached to the Epic. */
1314
+ labels: LabelSlim[];
1315
+ /** Deprecated: use member_mention_ids. */
1316
+ mention_ids: string[];
1317
+ /** An array of Member IDs that have been mentioned in the Epic description. */
1318
+ member_mention_ids: string[];
1319
+ /** An array containing Group IDs and Group-owned story counts for the Epic's associated groups. */
1320
+ associated_groups: EpicAssociatedGroup[];
1321
+ /** The IDs of Projects related to this Epic. */
1322
+ project_ids: number[];
1061
1323
  /**
1062
- * The hex color for this Epic State.
1063
- * @format css-color
1064
- * @pattern ^#[a-fA-F0-9]{6}$
1324
+ * The number of stories in this epic which are not associated with a project.
1325
+ * @format int64
1065
1326
  */
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;
1327
+ stories_without_projects: number;
1071
1328
  /**
1072
- * When the Epic State was last updated.
1329
+ * A manual override for the time/date the Epic was completed.
1073
1330
  * @format date-time
1074
1331
  */
1075
- updated_at: string;
1332
+ completed_at_override?: string | null;
1076
1333
  /**
1077
- * The unique ID of the Epic State.
1078
- * @format int64
1334
+ * The ID of the associated productboard integration.
1335
+ * @format uuid
1079
1336
  */
1080
- id: number;
1337
+ productboard_plugin_id?: string | null;
1338
+ /**
1339
+ * The time/date the Epic was started.
1340
+ * @format date-time
1341
+ */
1342
+ started_at?: string | null;
1343
+ /**
1344
+ * The time/date the Epic was completed.
1345
+ * @format date-time
1346
+ */
1347
+ completed_at?: string | null;
1348
+ /** The name of the Epic. */
1349
+ name: string;
1350
+ global_id: string;
1351
+ /** A true/false boolean indicating if the Epic has been completed. */
1352
+ completed: boolean;
1353
+ /** The URL of the associated productboard feature. */
1354
+ productboard_url?: string | null;
1355
+ /**
1356
+ * The Epic's planned start date.
1357
+ * @format date-time
1358
+ */
1359
+ planned_start_date?: string | null;
1360
+ /** `Deprecated` The workflow state that the Epic is in. */
1361
+ state: string;
1362
+ /**
1363
+ * The ID of the Milestone this Epic is related to.
1364
+ * @format int64
1365
+ */
1366
+ milestone_id?: number | null;
1367
+ /**
1368
+ * The ID of the Member that requested the epic.
1369
+ * @format uuid
1370
+ */
1371
+ requested_by_id: string;
1372
+ /**
1373
+ * The ID of the Epic State.
1374
+ * @format int64
1375
+ */
1376
+ epic_state_id: number;
1377
+ /** An array of Label ids attached to the Epic. */
1378
+ label_ids: number[];
1379
+ /**
1380
+ * A manual override for the time/date the Epic was started.
1381
+ * @format date-time
1382
+ */
1383
+ started_at_override?: string | null;
1384
+ /** @format uuid */
1385
+ group_id?: string | null;
1386
+ /**
1387
+ * The time/date the Epic was updated.
1388
+ * @format date-time
1389
+ */
1390
+ updated_at?: string | null;
1391
+ /** An array of Group IDs that have been mentioned in the Epic description. */
1392
+ group_mention_ids: string[];
1393
+ /**
1394
+ * The ID of the associated productboard feature.
1395
+ * @format uuid
1396
+ */
1397
+ productboard_id?: string | null;
1398
+ /** An array of UUIDs for any Members you want to add as Followers on this Epic. */
1399
+ follower_ids: string[];
1400
+ /** An array of UUIDs for any members you want to add as Owners on this new Epic. */
1401
+ owner_ids: string[];
1402
+ /** 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. */
1403
+ external_id?: string | null;
1404
+ /**
1405
+ * The unique ID of the Epic.
1406
+ * @format int64
1407
+ */
1408
+ id: number;
1409
+ /**
1410
+ * The Epic's relative position in the Epic workflow state.
1411
+ * @format int64
1412
+ */
1413
+ position: number;
1414
+ /** The name of the associated productboard feature. */
1415
+ productboard_name?: string | null;
1416
+ /**
1417
+ * The Epic's deadline.
1418
+ * @format date-time
1419
+ */
1420
+ deadline?: string | null;
1421
+ /** A group of calculated values for this Epic. */
1422
+ stats: EpicStats;
1423
+ /**
1424
+ * The time/date the Epic was created.
1425
+ * @format date-time
1426
+ */
1427
+ created_at?: string | null;
1428
+ }
1429
+ /** Epic State is any of the at least 3 columns. Epic States correspond to one of 3 types: Unstarted, Started, or Done. */
1430
+ export interface EpicState {
1431
+ /** The description of what sort of Epics belong in that Epic State. */
1432
+ description: string;
1433
+ /** A string description of this resource. */
1434
+ entity_type: string;
1435
+ /**
1436
+ * The hex color for this Epic State.
1437
+ * @format css-color
1438
+ * @minLength 1
1439
+ * @pattern ^#[a-fA-F0-9]{6}$
1440
+ */
1441
+ color?: string;
1442
+ /** The Epic State's name. */
1443
+ name: string;
1444
+ global_id: string;
1445
+ /** The type of Epic State (Unstarted, Started, or Done) */
1446
+ type: string;
1447
+ /**
1448
+ * When the Epic State was last updated.
1449
+ * @format date-time
1450
+ */
1451
+ updated_at: string;
1452
+ /**
1453
+ * The unique ID of the Epic State.
1454
+ * @format int64
1455
+ */
1456
+ id: number;
1081
1457
  /**
1082
1458
  * The position that the Epic State is in, starting with 0 at the left.
1083
1459
  * @format int64
@@ -1089,9 +1465,7 @@ export interface EpicState {
1089
1465
  */
1090
1466
  created_at: string;
1091
1467
  }
1092
- /**
1093
- * A group of calculated values for this Epic.
1094
- */
1468
+ /** A group of calculated values for this Epic. */
1095
1469
  export interface EpicStats {
1096
1470
  /**
1097
1471
  * The total number of completed points in this Epic.
@@ -1143,11 +1517,21 @@ export interface EpicStats {
1143
1517
  * @format int64
1144
1518
  */
1145
1519
  num_stories_unestimated: number;
1520
+ /**
1521
+ * The total number of backlog Stories in this Epic.
1522
+ * @format int64
1523
+ */
1524
+ num_stories_backlog: number;
1146
1525
  /**
1147
1526
  * The average lead time (in seconds) of completed stories in this Epic.
1148
1527
  * @format int64
1149
1528
  */
1150
1529
  average_lead_time?: number;
1530
+ /**
1531
+ * The total number of backlog points in this Epic.
1532
+ * @format int64
1533
+ */
1534
+ num_points_backlog: number;
1151
1535
  /**
1152
1536
  * The total number of points in this Epic.
1153
1537
  * @format int64
@@ -1159,9 +1543,7 @@ export interface EpicStats {
1159
1543
  */
1160
1544
  num_stories_done: number;
1161
1545
  }
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
- */
1546
+ /** 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. */
1165
1547
  export interface EpicWorkflow {
1166
1548
  /** A string description of this resource. */
1167
1549
  entity_type: string;
@@ -1195,6 +1577,7 @@ export interface GetEpicStories {
1195
1577
  export interface GetExternalLinkStoriesParams {
1196
1578
  /**
1197
1579
  * The external link associated with one or more stories.
1580
+ * @maxLength 2048
1198
1581
  * @pattern ^https?://.+$
1199
1582
  */
1200
1583
  external_link: string;
@@ -1212,15 +1595,13 @@ export interface GetMember {
1212
1595
  * The unique ID of the Organization to limit the lookup to.
1213
1596
  * @format uuid
1214
1597
  */
1215
- "org-public-id"?: string;
1598
+ 'org-public-id'?: string;
1216
1599
  }
1217
1600
  export interface GetProjectStories {
1218
1601
  /** A true/false boolean indicating whether to return Stories with their descriptions. */
1219
1602
  includes_description?: boolean;
1220
1603
  }
1221
- /**
1222
- * A Group.
1223
- */
1604
+ /** A Group. */
1224
1605
  export interface Group {
1225
1606
  /** The Shortcut application url for the Group. */
1226
1607
  app_url: string;
@@ -1233,6 +1614,7 @@ export interface Group {
1233
1614
  /**
1234
1615
  * The hex color to be displayed with the Group (for example, "#ff0000").
1235
1616
  * @format css-color
1617
+ * @minLength 1
1236
1618
  * @pattern ^#[a-fA-F0-9]{6}$
1237
1619
  */
1238
1620
  color?: string | null;
@@ -1243,13 +1625,15 @@ export interface Group {
1243
1625
  num_stories_started: number;
1244
1626
  /**
1245
1627
  * The mention name of the Group.
1628
+ * @minLength 1
1246
1629
  * @pattern ^[a-z0-9\-\_\.]+$
1247
1630
  */
1248
1631
  mention_name: string;
1249
1632
  /** The name of the Group. */
1250
1633
  name: string;
1634
+ global_id: string;
1251
1635
  /** 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;
1636
+ color_key?: 'blue' | 'purple' | 'midnight-blue' | 'orange' | 'yellow-green' | 'brass' | 'gray' | 'fuchsia' | 'yellow' | 'pink' | 'sky-blue' | 'green' | 'red' | 'black' | 'slate' | 'turquoise' | null;
1253
1637
  /**
1254
1638
  * The total number of stories assigned ot the group.
1255
1639
  * @format int64
@@ -1260,35 +1644,33 @@ export interface Group {
1260
1644
  * @format int64
1261
1645
  */
1262
1646
  num_epics_started: number;
1647
+ /**
1648
+ * The number of stories assigned to the group which are in a backlog workflow state.
1649
+ * @format int64
1650
+ */
1651
+ num_stories_backlog: number;
1263
1652
  /**
1264
1653
  * The id of the Group.
1265
1654
  * @format uuid
1266
1655
  */
1267
1656
  id: string;
1268
- /** Icons are used to attach images to Organizations, Members, and Loading screens in the Shortcut web application. */
1657
+ /** Icons are used to attach images to Groups, Workspaces, Members, and Loading screens in the Shortcut web application. */
1269
1658
  display_icon: Icon | null;
1270
1659
  /** The Member IDs contain within the Group. */
1271
1660
  member_ids: string[];
1272
- /** The Workflow IDs which have stories assigned to the group. */
1273
- story_workflow_ids: number[];
1274
1661
  /** The Workflow IDs contained within the Group. */
1275
1662
  workflow_ids: number[];
1276
1663
  }
1277
- /**
1278
- * A history item is a group of actions that represent a transactional change to a Story.
1279
- */
1664
+ /** A history item is a group of actions that represent a transactional change to a Story. */
1280
1665
  export interface History {
1281
1666
  /** The date when the change occurred. */
1282
1667
  changed_at: string;
1283
- /**
1284
- * The ID of the primary entity that has changed, if applicable.
1285
- * @format int64
1286
- */
1287
- primary_id?: number;
1668
+ /** The ID of the primary entity that has changed, if applicable. */
1669
+ primary_id?: number | string;
1288
1670
  /** 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)[];
1671
+ references?: (HistoryReferenceBranch | HistoryReferenceCommit | HistoryReferenceEpic | HistoryReferenceGroup | HistoryReferenceIteration | HistoryReferenceLabel | HistoryReferenceProject | HistoryReferenceStory | HistoryReferenceStoryTask | HistoryReferenceCustomFieldEnumValue | HistoryReferenceWorkflowState | HistoryReferenceGeneral)[];
1290
1672
  /** 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)[];
1673
+ actions: (HistoryActionBranchCreate | HistoryActionBranchMerge | HistoryActionBranchPush | HistoryActionLabelCreate | HistoryActionLabelUpdate | HistoryActionLabelDelete | HistoryActionProjectUpdate | HistoryActionPullRequest | HistoryActionStoryCreate | HistoryActionStoryUpdate | HistoryActionStoryDelete | HistoryActionStoryCommentCreate | HistoryActionStoryLinkCreate | HistoryActionStoryLinkUpdate | HistoryActionStoryLinkDelete | HistoryActionTaskCreate | HistoryActionTaskUpdate | HistoryActionTaskDelete | HistoryActionWorkspace2BulkUpdate)[];
1292
1674
  /**
1293
1675
  * The ID of the member who performed the change.
1294
1676
  * @format uuid
@@ -1302,13 +1684,11 @@ export interface History {
1302
1684
  */
1303
1685
  id: string;
1304
1686
  /** The version of the change format. */
1305
- version: "v1";
1687
+ version: 'v1';
1306
1688
  /** The ID of the webhook that handled the change. */
1307
1689
  webhook_id?: string | null;
1308
1690
  }
1309
- /**
1310
- * An action representing a VCS Branch being created.
1311
- */
1691
+ /** An action representing a VCS Branch being created. */
1312
1692
  export interface HistoryActionBranchCreate {
1313
1693
  /**
1314
1694
  * The ID of the entity referenced.
@@ -1322,11 +1702,9 @@ export interface HistoryActionBranchCreate {
1322
1702
  /** The URL from the provider of the VCS Branch that was pushed */
1323
1703
  url: string;
1324
1704
  /** The action of the entity referenced. */
1325
- action: "create";
1705
+ action: 'create';
1326
1706
  }
1327
- /**
1328
- * An action representing a VCS Branch being merged.
1329
- */
1707
+ /** An action representing a VCS Branch being merged. */
1330
1708
  export interface HistoryActionBranchMerge {
1331
1709
  /**
1332
1710
  * The ID of the entity referenced.
@@ -1340,11 +1718,9 @@ export interface HistoryActionBranchMerge {
1340
1718
  /** The URL from the provider of the VCS Branch that was pushed */
1341
1719
  url: string;
1342
1720
  /** The action of the entity referenced. */
1343
- action: "merge";
1721
+ action: 'merge';
1344
1722
  }
1345
- /**
1346
- * An action representing a VCS Branch being pushed.
1347
- */
1723
+ /** An action representing a VCS Branch being pushed. */
1348
1724
  export interface HistoryActionBranchPush {
1349
1725
  /**
1350
1726
  * The ID of the entity referenced.
@@ -1358,11 +1734,9 @@ export interface HistoryActionBranchPush {
1358
1734
  /** The URL from the provider of the VCS Branch that was pushed */
1359
1735
  url: string;
1360
1736
  /** The action of the entity referenced. */
1361
- action: "push";
1737
+ action: 'push';
1362
1738
  }
1363
- /**
1364
- * An action representing a Label being created.
1365
- */
1739
+ /** An action representing a Label being created. */
1366
1740
  export interface HistoryActionLabelCreate {
1367
1741
  /**
1368
1742
  * The ID of the entity referenced.
@@ -1372,18 +1746,17 @@ export interface HistoryActionLabelCreate {
1372
1746
  /** The type of entity referenced. */
1373
1747
  entity_type: string;
1374
1748
  /** The action of the entity referenced. */
1375
- action: "create";
1749
+ action: 'create';
1376
1750
  /**
1377
1751
  * The application URL of the Label.
1752
+ * @maxLength 2048
1378
1753
  * @pattern ^https?://.+$
1379
1754
  */
1380
1755
  app_url: string;
1381
1756
  /** The name of the Label. */
1382
1757
  name: string;
1383
1758
  }
1384
- /**
1385
- * An action representing a Label being deleted.
1386
- */
1759
+ /** An action representing a Label being deleted. */
1387
1760
  export interface HistoryActionLabelDelete {
1388
1761
  /**
1389
1762
  * The ID of the entity referenced.
@@ -1393,13 +1766,11 @@ export interface HistoryActionLabelDelete {
1393
1766
  /** The type of entity referenced. */
1394
1767
  entity_type: string;
1395
1768
  /** The action of the entity referenced. */
1396
- action: "delete";
1769
+ action: 'delete';
1397
1770
  /** The name of the Label. */
1398
1771
  name: string;
1399
1772
  }
1400
- /**
1401
- * An action representing a Label being updated.
1402
- */
1773
+ /** An action representing a Label being updated. */
1403
1774
  export interface HistoryActionLabelUpdate {
1404
1775
  /**
1405
1776
  * The ID of the entity referenced.
@@ -1409,11 +1780,9 @@ export interface HistoryActionLabelUpdate {
1409
1780
  /** The type of entity referenced. */
1410
1781
  entity_type: string;
1411
1782
  /** The action of the entity referenced. */
1412
- action: "update";
1783
+ action: 'update';
1413
1784
  }
1414
- /**
1415
- * An action representing a Project being updated.
1416
- */
1785
+ /** An action representing a Project being updated. */
1417
1786
  export interface HistoryActionProjectUpdate {
1418
1787
  /**
1419
1788
  * The ID of the entity referenced.
@@ -1423,18 +1792,17 @@ export interface HistoryActionProjectUpdate {
1423
1792
  /** The type of entity referenced. */
1424
1793
  entity_type: string;
1425
1794
  /** The action of the entity referenced. */
1426
- action: "update";
1795
+ action: 'update';
1427
1796
  /**
1428
1797
  * The application URL of the Project.
1798
+ * @maxLength 2048
1429
1799
  * @pattern ^https?://.+$
1430
1800
  */
1431
1801
  app_url: string;
1432
1802
  /** The name of the Project. */
1433
1803
  name: string;
1434
1804
  }
1435
- /**
1436
- * An action representing various operations for a Pull Request.
1437
- */
1805
+ /** An action representing various operations for a Pull Request. */
1438
1806
  export interface HistoryActionPullRequest {
1439
1807
  /**
1440
1808
  * The ID of the entity referenced.
@@ -1444,7 +1812,7 @@ export interface HistoryActionPullRequest {
1444
1812
  /** The type of entity referenced. */
1445
1813
  entity_type: string;
1446
1814
  /** The action of the entity referenced. */
1447
- action: "open" | "update" | "reopen" | "close" | "sync" | "comment";
1815
+ action: 'open' | 'update' | 'reopen' | 'close' | 'sync' | 'comment';
1448
1816
  /**
1449
1817
  * The VCS Repository-specific ID for the Pull Request.
1450
1818
  * @format int64
@@ -1454,13 +1822,12 @@ export interface HistoryActionPullRequest {
1454
1822
  title: string;
1455
1823
  /**
1456
1824
  * The URL from the provider of the VCS Pull Request.
1825
+ * @maxLength 2048
1457
1826
  * @pattern ^https?://.+$
1458
1827
  */
1459
1828
  url: string;
1460
1829
  }
1461
- /**
1462
- * An action representing a Story Comment being created.
1463
- */
1830
+ /** An action representing a Story Comment being created. */
1464
1831
  export interface HistoryActionStoryCommentCreate {
1465
1832
  /**
1466
1833
  * The ID of the entity referenced.
@@ -1470,9 +1837,10 @@ export interface HistoryActionStoryCommentCreate {
1470
1837
  /** The type of entity referenced. */
1471
1838
  entity_type: string;
1472
1839
  /** The action of the entity referenced. */
1473
- action: "create";
1840
+ action: 'create';
1474
1841
  /**
1475
1842
  * The application URL of the Story Comment.
1843
+ * @maxLength 2048
1476
1844
  * @pattern ^https?://.+$
1477
1845
  */
1478
1846
  app_url: string;
@@ -1484,12 +1852,11 @@ export interface HistoryActionStoryCommentCreate {
1484
1852
  */
1485
1853
  author_id: string;
1486
1854
  }
1487
- /**
1488
- * An action representing a Story being created.
1489
- */
1855
+ /** An action representing a Story being created. */
1490
1856
  export interface HistoryActionStoryCreate {
1491
1857
  /**
1492
1858
  * The application URL of the Story.
1859
+ * @maxLength 2048
1493
1860
  * @pattern ^https?://.+$
1494
1861
  */
1495
1862
  app_url: string;
@@ -1502,7 +1869,7 @@ export interface HistoryActionStoryCreate {
1502
1869
  /** An array of Task IDs on this Story. */
1503
1870
  task_ids?: number[];
1504
1871
  /** The type of Story; either feature, bug, or chore. */
1505
- story_type: "feature" | "chore" | "bug";
1872
+ story_type: 'feature' | 'chore' | 'bug';
1506
1873
  /** The name of the Story. */
1507
1874
  name: string;
1508
1875
  /** Whether or not the Story is completed. */
@@ -1526,6 +1893,11 @@ export interface HistoryActionStoryCreate {
1526
1893
  iteration_id?: number | null;
1527
1894
  /** An array of Labels IDs attached to the Story. */
1528
1895
  label_ids?: number[];
1896
+ /**
1897
+ * The Team IDs for the followers of the Story.
1898
+ * @format uuid
1899
+ */
1900
+ group_id?: string;
1529
1901
  /**
1530
1902
  * An array of Workflow State IDs attached to the Story.
1531
1903
  * @format int64
@@ -1537,6 +1909,8 @@ export interface HistoryActionStoryCreate {
1537
1909
  follower_ids?: string[];
1538
1910
  /** An array of Member IDs that are the owners of the Story. */
1539
1911
  owner_ids?: string[];
1912
+ /** An array of Custom Field Enum Value ids on this Story. */
1913
+ custom_field_value_ids?: string[];
1540
1914
  /**
1541
1915
  * The ID of the entity referenced.
1542
1916
  * @format int64
@@ -1550,7 +1924,7 @@ export interface HistoryActionStoryCreate {
1550
1924
  /** An array of Story IDs that are the subject of a Story Link relationship. */
1551
1925
  subject_story_link_ids?: number[];
1552
1926
  /** The action of the entity referenced. */
1553
- action: "create";
1927
+ action: 'create';
1554
1928
  /** Whether or not the Story is blocked by another Story. */
1555
1929
  blocked?: boolean;
1556
1930
  /**
@@ -1561,9 +1935,7 @@ export interface HistoryActionStoryCreate {
1561
1935
  /** The timestamp representing the Story's deadline. */
1562
1936
  deadline?: string;
1563
1937
  }
1564
- /**
1565
- * An action representing a Story being deleted.
1566
- */
1938
+ /** An action representing a Story being deleted. */
1567
1939
  export interface HistoryActionStoryDelete {
1568
1940
  /**
1569
1941
  * The ID of the entity referenced.
@@ -1573,15 +1945,13 @@ export interface HistoryActionStoryDelete {
1573
1945
  /** The type of entity referenced. */
1574
1946
  entity_type: string;
1575
1947
  /** The action of the entity referenced. */
1576
- action: "delete";
1948
+ action: 'delete';
1577
1949
  /** The name of the Story. */
1578
1950
  name: string;
1579
1951
  /** The type of Story; either feature, bug, or chore. */
1580
- story_type: "feature" | "chore" | "bug";
1952
+ story_type: 'feature' | 'chore' | 'bug';
1581
1953
  }
1582
- /**
1583
- * An action representing a Story Link being created.
1584
- */
1954
+ /** An action representing a Story Link being created. */
1585
1955
  export interface HistoryActionStoryLinkCreate {
1586
1956
  /**
1587
1957
  * The ID of the entity referenced.
@@ -1591,9 +1961,9 @@ export interface HistoryActionStoryLinkCreate {
1591
1961
  /** The type of entity referenced. */
1592
1962
  entity_type: string;
1593
1963
  /** The action of the entity referenced. */
1594
- action: "create";
1964
+ action: 'create';
1595
1965
  /** The verb describing the link's relationship. */
1596
- verb: "blocks" | "duplicates" | "relates to";
1966
+ verb: 'blocks' | 'duplicates' | 'relates to';
1597
1967
  /**
1598
1968
  * The Story ID of the subject Story.
1599
1969
  * @format int64
@@ -1605,9 +1975,7 @@ export interface HistoryActionStoryLinkCreate {
1605
1975
  */
1606
1976
  object_id: number;
1607
1977
  }
1608
- /**
1609
- * An action representing a Story Link being deleted.
1610
- */
1978
+ /** An action representing a Story Link being deleted. */
1611
1979
  export interface HistoryActionStoryLinkDelete {
1612
1980
  /**
1613
1981
  * The ID of the entity referenced.
@@ -1617,9 +1985,9 @@ export interface HistoryActionStoryLinkDelete {
1617
1985
  /** The type of entity referenced. */
1618
1986
  entity_type: string;
1619
1987
  /** The action of the entity referenced. */
1620
- action: "delete";
1988
+ action: 'delete';
1621
1989
  /** The verb describing the link's relationship. */
1622
- verb: "blocks" | "duplicates" | "relates to";
1990
+ verb: 'blocks' | 'duplicates' | 'relates to';
1623
1991
  /**
1624
1992
  * The Story ID of the subject Story.
1625
1993
  * @format int64
@@ -1631,9 +1999,7 @@ export interface HistoryActionStoryLinkDelete {
1631
1999
  */
1632
2000
  object_id?: number | null;
1633
2001
  }
1634
- /**
1635
- * An action representing a Story Link being updated.
1636
- */
2002
+ /** An action representing a Story Link being updated. */
1637
2003
  export interface HistoryActionStoryLinkUpdate {
1638
2004
  /**
1639
2005
  * The ID of the entity referenced.
@@ -1643,9 +2009,9 @@ export interface HistoryActionStoryLinkUpdate {
1643
2009
  /** The type of entity referenced. */
1644
2010
  entity_type: string;
1645
2011
  /** The action of the entity referenced. */
1646
- action: "update";
2012
+ action: 'update';
1647
2013
  /** The verb describing the link's relationship. */
1648
- verb: "blocks" | "duplicates" | "relates to";
2014
+ verb: 'blocks' | 'duplicates' | 'relates to';
1649
2015
  /**
1650
2016
  * The Story ID of the subject Story.
1651
2017
  * @format int64
@@ -1659,9 +2025,7 @@ export interface HistoryActionStoryLinkUpdate {
1659
2025
  /** The changes that have occurred as a result of the action. */
1660
2026
  changes: HistoryChangesStoryLink;
1661
2027
  }
1662
- /**
1663
- * An action representing a Story being updated.
1664
- */
2028
+ /** An action representing a Story being updated. */
1665
2029
  export interface HistoryActionStoryUpdate {
1666
2030
  /**
1667
2031
  * The ID of the entity referenced.
@@ -1671,9 +2035,10 @@ export interface HistoryActionStoryUpdate {
1671
2035
  /** The type of entity referenced. */
1672
2036
  entity_type: string;
1673
2037
  /** The action of the entity referenced. */
1674
- action: "update";
2038
+ action: 'update';
1675
2039
  /**
1676
2040
  * The application URL of the Story.
2041
+ * @maxLength 2048
1677
2042
  * @pattern ^https?://.+$
1678
2043
  */
1679
2044
  app_url: string;
@@ -1682,11 +2047,9 @@ export interface HistoryActionStoryUpdate {
1682
2047
  /** The name of the Story. */
1683
2048
  name: string;
1684
2049
  /** The type of Story; either feature, bug, or chore. */
1685
- story_type: "feature" | "chore" | "bug";
2050
+ story_type: 'feature' | 'chore' | 'bug';
1686
2051
  }
1687
- /**
1688
- * An action representing a Task being created.
1689
- */
2052
+ /** An action representing a Task being created. */
1690
2053
  export interface HistoryActionTaskCreate {
1691
2054
  /** The description of the Task. */
1692
2055
  description: string;
@@ -1704,15 +2067,13 @@ export interface HistoryActionTaskCreate {
1704
2067
  */
1705
2068
  id: number;
1706
2069
  /** The action of the entity referenced. */
1707
- action: "create";
2070
+ action: 'create';
1708
2071
  /** Whether or not the Task is complete. */
1709
2072
  complete: boolean;
1710
2073
  /** A timestamp that represent's the Task's deadline. */
1711
2074
  deadline?: string;
1712
2075
  }
1713
- /**
1714
- * An action representing a Task being deleted.
1715
- */
2076
+ /** An action representing a Task being deleted. */
1716
2077
  export interface HistoryActionTaskDelete {
1717
2078
  /**
1718
2079
  * The ID of the entity referenced.
@@ -1722,13 +2083,11 @@ export interface HistoryActionTaskDelete {
1722
2083
  /** The type of entity referenced. */
1723
2084
  entity_type: string;
1724
2085
  /** The action of the entity referenced. */
1725
- action: "delete";
2086
+ action: 'delete';
1726
2087
  /** The description of the Task being deleted. */
1727
2088
  description: string;
1728
2089
  }
1729
- /**
1730
- * An action representing a Task being updated.
1731
- */
2090
+ /** An action representing a Task being updated. */
1732
2091
  export interface HistoryActionTaskUpdate {
1733
2092
  /**
1734
2093
  * The ID of the entity referenced.
@@ -1738,7 +2097,7 @@ export interface HistoryActionTaskUpdate {
1738
2097
  /** The type of entity referenced. */
1739
2098
  entity_type: string;
1740
2099
  /** The action of the entity referenced. */
1741
- action: "update";
2100
+ action: 'update';
1742
2101
  /** The changes that have occurred as a result of the action. */
1743
2102
  changes: HistoryChangesTask;
1744
2103
  /** Whether or not the Task is complete. */
@@ -1751,9 +2110,21 @@ export interface HistoryActionTaskUpdate {
1751
2110
  */
1752
2111
  story_id: number;
1753
2112
  }
1754
- /**
1755
- * The changes that have occurred as a result of the action.
1756
- */
2113
+ /** An action representing a bulk operation within a workspace2. */
2114
+ export interface HistoryActionWorkspace2BulkUpdate {
2115
+ /**
2116
+ * The ID of the entity referenced.
2117
+ * @format uuid
2118
+ */
2119
+ id: string;
2120
+ /** The type of entity referenced. */
2121
+ entity_type: string;
2122
+ /** The action of the entity referenced. */
2123
+ action: 'bulk-update';
2124
+ /** The name of the workspace2 in which the BulkUpdate occurred. */
2125
+ name: string;
2126
+ }
2127
+ /** The changes that have occurred as a result of the action. */
1757
2128
  export interface HistoryChangesStory {
1758
2129
  /** A timestamp that represents the Story's deadline. */
1759
2130
  description?: StoryHistoryChangeOldNewStr;
@@ -1763,7 +2134,7 @@ export interface HistoryChangesStory {
1763
2134
  started?: StoryHistoryChangeOldNewBool;
1764
2135
  /** Task IDs that have been added or removed from the Story. */
1765
2136
  task_ids?: StoryHistoryChangeAddsRemovesInt;
1766
- /** Member IDs that have been added or removed as a owner of the Story. */
2137
+ /** Custom Field Enum Value IDs that have been added or removed from the Story. */
1767
2138
  mention_ids?: StoryHistoryChangeAddsRemovesUuid;
1768
2139
  /** A timestamp that represents the Story's deadline. */
1769
2140
  story_type?: StoryHistoryChangeOldNewStr;
@@ -1779,20 +2150,24 @@ export interface HistoryChangesStory {
1779
2150
  branch_ids?: StoryHistoryChangeAddsRemovesInt;
1780
2151
  /** Task IDs that have been added or removed from the Story. */
1781
2152
  commit_ids?: StoryHistoryChangeAddsRemovesInt;
1782
- /** The Member ID of the preson who requested the Story. */
2153
+ /** The Team ID for the Story. */
1783
2154
  requested_by_id?: StoryHistoryChangeOldNewUuid;
1784
2155
  /** The estimate value for the Story */
1785
2156
  iteration_id?: StoryHistoryChangeOldNewInt;
1786
2157
  /** Task IDs that have been added or removed from the Story. */
1787
2158
  label_ids?: StoryHistoryChangeAddsRemovesInt;
2159
+ /** The Team ID for the Story. */
2160
+ group_id?: StoryHistoryChangeOldNewUuid;
1788
2161
  /** The estimate value for the Story */
1789
2162
  workflow_state_id?: StoryHistoryChangeOldNewInt;
1790
2163
  /** Task IDs that have been added or removed from the Story. */
1791
2164
  object_story_link_ids?: StoryHistoryChangeAddsRemovesInt;
1792
- /** Member IDs that have been added or removed as a owner of the Story. */
2165
+ /** Custom Field Enum Value IDs that have been added or removed from the Story. */
1793
2166
  follower_ids?: StoryHistoryChangeAddsRemovesUuid;
1794
- /** Member IDs that have been added or removed as a owner of the Story. */
2167
+ /** Custom Field Enum Value IDs that have been added or removed from the Story. */
1795
2168
  owner_ids?: StoryHistoryChangeAddsRemovesUuid;
2169
+ /** Custom Field Enum Value IDs that have been added or removed from the Story. */
2170
+ custom_field_value_ids?: StoryHistoryChangeAddsRemovesUuid;
1796
2171
  /** The estimate value for the Story */
1797
2172
  estimate?: StoryHistoryChangeOldNewInt;
1798
2173
  /** Task IDs that have been added or removed from the Story. */
@@ -1804,9 +2179,7 @@ export interface HistoryChangesStory {
1804
2179
  /** A timestamp that represents the Story's deadline. */
1805
2180
  deadline?: StoryHistoryChangeOldNewStr;
1806
2181
  }
1807
- /**
1808
- * The changes that have occurred as a result of the action.
1809
- */
2182
+ /** The changes that have occurred as a result of the action. */
1810
2183
  export interface HistoryChangesStoryLink {
1811
2184
  /** A timestamp that represents the Story's deadline. */
1812
2185
  verb?: StoryHistoryChangeOldNewStr;
@@ -1815,93 +2188,99 @@ export interface HistoryChangesStoryLink {
1815
2188
  /** The estimate value for the Story */
1816
2189
  subject_id?: StoryHistoryChangeOldNewInt;
1817
2190
  }
1818
- /**
1819
- * The changes that have occurred as a result of the action.
1820
- */
2191
+ /** The changes that have occurred as a result of the action. */
1821
2192
  export interface HistoryChangesTask {
1822
2193
  /** True if the Story has archived, otherwise false. */
1823
2194
  complete?: StoryHistoryChangeOldNewBool;
1824
2195
  /** A timestamp that represents the Story's deadline. */
1825
2196
  description?: StoryHistoryChangeOldNewStr;
1826
- /** Member IDs that have been added or removed as a owner of the Story. */
2197
+ /** Custom Field Enum Value IDs that have been added or removed from the Story. */
1827
2198
  mention_ids?: StoryHistoryChangeAddsRemovesUuid;
1828
- /** Member IDs that have been added or removed as a owner of the Story. */
2199
+ /** Custom Field Enum Value IDs that have been added or removed from the Story. */
1829
2200
  owner_ids?: StoryHistoryChangeAddsRemovesUuid;
1830
2201
  }
1831
- /**
1832
- * A reference to a VCS Branch.
1833
- */
2202
+ /** A reference to a VCS Branch. */
1834
2203
  export interface HistoryReferenceBranch {
1835
- /**
1836
- * The ID of the entity referenced.
1837
- * @format int64
1838
- */
1839
- id: number;
2204
+ /** The ID of the entity referenced. */
2205
+ id: number | string;
1840
2206
  /** The type of entity referenced. */
1841
2207
  entity_type: string;
1842
2208
  /** The name of the entity referenced. */
1843
2209
  name: string;
1844
2210
  /**
1845
2211
  * The external URL for the Branch.
2212
+ * @maxLength 2048
1846
2213
  * @pattern ^https?://.+$
1847
2214
  */
1848
2215
  url: string;
1849
2216
  }
1850
- /**
1851
- * A reference to a VCS Commit.
1852
- */
2217
+ /** A reference to a VCS Commit. */
1853
2218
  export interface HistoryReferenceCommit {
1854
- /**
1855
- * The ID of the entity referenced.
1856
- * @format int64
1857
- */
1858
- id: number;
2219
+ /** The ID of the entity referenced. */
2220
+ id: number | string;
1859
2221
  /** The type of entity referenced. */
1860
2222
  entity_type: string;
1861
2223
  /** The message from the Commit. */
1862
2224
  message: string;
1863
2225
  /**
1864
2226
  * The external URL for the Branch.
2227
+ * @maxLength 2048
1865
2228
  * @pattern ^https?://.+$
1866
2229
  */
1867
2230
  url: string;
1868
2231
  }
1869
- /**
1870
- * A reference to an Epic.
1871
- */
1872
- export interface HistoryReferenceEpic {
2232
+ /** A reference to a CustomField value asserted on a Story. */
2233
+ export interface HistoryReferenceCustomFieldEnumValue {
2234
+ /** The type of entity referenced. */
2235
+ entity_type: string;
2236
+ /** The name as it is displayed to the user of the parent custom-field of this enum value. */
2237
+ field_name: string;
1873
2238
  /**
1874
- * The ID of the entity referenced.
2239
+ * The custom-field enum value as a string.
1875
2240
  * @format int64
1876
2241
  */
1877
- id: number;
2242
+ integer_value?: number | null;
2243
+ /** Whether or not the custom-field is enabled. */
2244
+ field_enabled: boolean;
2245
+ /** The ID of the entity referenced. */
2246
+ id: number | string;
2247
+ /** The type variety of the parent custom-field of this enum value. */
2248
+ field_type: string;
2249
+ /**
2250
+ * The public-id of the parent custom-field of this enum value.
2251
+ * @format uuid
2252
+ */
2253
+ field_id: string;
2254
+ /** The custom-field enum value as a string. */
2255
+ string_value?: string | null;
2256
+ /** Whether or not the custom-field enum value is enabled. */
2257
+ enum_value_enabled?: boolean | null;
2258
+ }
2259
+ /** A reference to an Epic. */
2260
+ export interface HistoryReferenceEpic {
2261
+ /** The ID of the entity referenced. */
2262
+ id: number | string;
1878
2263
  /** The type of entity referenced. */
1879
2264
  entity_type: string;
1880
2265
  /**
1881
2266
  * The application URL of the Epic.
2267
+ * @maxLength 2048
1882
2268
  * @pattern ^https?://.+$
1883
2269
  */
1884
2270
  app_url: string;
1885
2271
  /** The name of the entity referenced. */
1886
2272
  name: string;
1887
2273
  }
1888
- /**
1889
- * A default reference for entity types that don't have extra fields.
1890
- */
2274
+ /** A default reference for entity types that don't have extra fields. */
1891
2275
  export interface HistoryReferenceGeneral {
1892
- /**
1893
- * The ID of the entity referenced.
1894
- * @format int64
1895
- */
1896
- id: number;
2276
+ /** The ID of the entity referenced. */
2277
+ id: number | string;
1897
2278
  /** The type of entity referenced. */
1898
2279
  entity_type: string;
1899
2280
  /** The name of the entity referenced. */
1900
2281
  name: string;
1901
2282
  }
1902
- /**
1903
- * A reference to a Group.
1904
- */
2283
+ /** A reference to a Group. */
1905
2284
  export interface HistoryReferenceGroup {
1906
2285
  /**
1907
2286
  * The ID of the entity referenced.
@@ -1913,117 +2292,89 @@ export interface HistoryReferenceGroup {
1913
2292
  /** The name of the entity referenced. */
1914
2293
  name: string;
1915
2294
  }
1916
- /**
1917
- * A reference to an Iteration.
1918
- */
2295
+ /** A reference to an Iteration. */
1919
2296
  export interface HistoryReferenceIteration {
1920
- /**
1921
- * The ID of the entity referenced.
1922
- * @format int64
1923
- */
1924
- id: number;
2297
+ /** The ID of the entity referenced. */
2298
+ id: number | string;
1925
2299
  /** The type of entity referenced. */
1926
2300
  entity_type: string;
1927
2301
  /**
1928
2302
  * The application URL of the Iteration.
2303
+ * @maxLength 2048
1929
2304
  * @pattern ^https?://.+$
1930
2305
  */
1931
2306
  app_url: string;
1932
2307
  /** The name of the entity referenced. */
1933
2308
  name: string;
1934
2309
  }
1935
- /**
1936
- * A reference to an Label.
1937
- */
2310
+ /** A reference to an Label. */
1938
2311
  export interface HistoryReferenceLabel {
1939
- /**
1940
- * The ID of the entity referenced.
1941
- * @format int64
1942
- */
1943
- id: number;
2312
+ /** The ID of the entity referenced. */
2313
+ id: number | string;
1944
2314
  /** The type of entity referenced. */
1945
2315
  entity_type: string;
1946
2316
  /**
1947
2317
  * The application URL of the Label.
2318
+ * @maxLength 2048
1948
2319
  * @pattern ^https?://.+$
1949
2320
  */
1950
2321
  app_url: string;
1951
2322
  /** The name of the entity referenced. */
1952
2323
  name: string;
1953
2324
  }
1954
- /**
1955
- * A reference to an Project.
1956
- */
2325
+ /** A reference to an Project. */
1957
2326
  export interface HistoryReferenceProject {
1958
- /**
1959
- * The ID of the entity referenced.
1960
- * @format int64
1961
- */
1962
- id: number;
2327
+ /** The ID of the entity referenced. */
2328
+ id: number | string;
1963
2329
  /** The type of entity referenced. */
1964
2330
  entity_type: string;
1965
2331
  /**
1966
2332
  * The application URL of the Project.
2333
+ * @maxLength 2048
1967
2334
  * @pattern ^https?://.+$
1968
2335
  */
1969
2336
  app_url: string;
1970
2337
  /** The name of the entity referenced. */
1971
2338
  name: string;
1972
2339
  }
1973
- /**
1974
- * A reference to a Story.
1975
- */
2340
+ /** A reference to a Story. */
1976
2341
  export interface HistoryReferenceStory {
1977
- /**
1978
- * The ID of the entity referenced.
1979
- * @format int64
1980
- */
1981
- id: number;
2342
+ /** The ID of the entity referenced. */
2343
+ id: number | string;
1982
2344
  /** The type of entity referenced. */
1983
2345
  entity_type: string;
1984
2346
  /**
1985
2347
  * The application URL of the Story.
2348
+ * @maxLength 2048
1986
2349
  * @pattern ^https?://.+$
1987
2350
  */
1988
2351
  app_url: string;
1989
2352
  /** The name of the entity referenced. */
1990
2353
  name: string;
1991
2354
  /** If the referenced entity is a Story, either "bug", "chore", or "feature". */
1992
- story_type: "feature" | "chore" | "bug";
2355
+ story_type: 'feature' | 'chore' | 'bug';
1993
2356
  }
1994
- /**
1995
- * A reference to a Story Task.
1996
- */
2357
+ /** A reference to a Story Task. */
1997
2358
  export interface HistoryReferenceStoryTask {
1998
- /**
1999
- * The ID of the entity referenced.
2000
- * @format int64
2001
- */
2002
- id: number;
2359
+ /** The ID of the entity referenced. */
2360
+ id: number | string;
2003
2361
  /** The type of entity referenced. */
2004
2362
  entity_type: string;
2005
2363
  /** The description of the Story Task. */
2006
2364
  description: string;
2007
2365
  }
2008
- /**
2009
- * A references to a Story Workflow State.
2010
- */
2366
+ /** A references to a Story Workflow State. */
2011
2367
  export interface HistoryReferenceWorkflowState {
2012
- /**
2013
- * The ID of the entity referenced.
2014
- * @format int64
2015
- */
2016
- id: number;
2368
+ /** The ID of the entity referenced. */
2369
+ id: number | string;
2017
2370
  /** The type of entity referenced. */
2018
2371
  entity_type: string;
2019
2372
  /** Either "unstarted", "started", or "done". */
2020
- type: "started" | "unstarted" | "done";
2373
+ type: 'started' | 'unstarted' | 'done';
2021
2374
  /** The name of the entity referenced. */
2022
2375
  name: string;
2023
2376
  }
2024
- /**
2025
- * Icons are used to attach images to Organizations, Members, and Loading screens in the Shortcut web application.
2026
- */
2377
+ /** Icons are used to attach images to Groups, Workspaces, Members, and Loading screens in the Shortcut web application. */
2027
2378
  export interface Icon {
2028
2379
  /** A string description of this resource. */
2029
2380
  entity_type: string;
@@ -2045,20 +2396,16 @@ export interface Icon {
2045
2396
  /** The URL of the Icon. */
2046
2397
  url: string;
2047
2398
  }
2048
- /**
2049
- * The Identity of the VCS user that authored the Commit.
2050
- */
2399
+ /** The Identity of the VCS user that authored the Commit. */
2051
2400
  export interface Identity {
2052
2401
  /** A string description of this resource. */
2053
2402
  entity_type: string;
2054
2403
  /** This is your login in VCS. */
2055
2404
  name?: string | null;
2056
- /** The type of Identity; currently only type is github. */
2057
- type?: string | null;
2405
+ /** The service this Identity is for. */
2406
+ type?: 'slack' | 'github' | 'gitlab' | 'bitbucket' | null;
2058
2407
  }
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
- */
2408
+ /** 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. */
2062
2409
  export interface Iteration {
2063
2410
  /** The Shortcut application url for the Iteration. */
2064
2411
  app_url: string;
@@ -2072,8 +2419,11 @@ export interface Iteration {
2072
2419
  mention_ids: string[];
2073
2420
  /** An array of Member IDs that have been mentioned in the Story description. */
2074
2421
  member_mention_ids: string[];
2422
+ /** An array containing Group IDs and Group-owned story counts for the Iteration's associated groups. */
2423
+ associated_groups: IterationAssociatedGroup[];
2075
2424
  /** The name of the iteration. */
2076
2425
  name: string;
2426
+ global_id: string;
2077
2427
  /** An array of label ids attached to the iteration. */
2078
2428
  label_ids: number[];
2079
2429
  /**
@@ -2112,9 +2462,32 @@ export interface Iteration {
2112
2462
  */
2113
2463
  created_at: string;
2114
2464
  }
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
- */
2465
+ export interface IterationAssociatedGroup {
2466
+ /**
2467
+ * The Group ID of the associated group.
2468
+ * @format uuid
2469
+ */
2470
+ group_id: string;
2471
+ /**
2472
+ * The number of stories this Group owns in the Iteration.
2473
+ * @format int64
2474
+ */
2475
+ associated_stories_count?: number;
2476
+ }
2477
+ /** The results of the Iteration search query. */
2478
+ export interface IterationSearchResults {
2479
+ /**
2480
+ * The total number of matches for the search query. The first 1000 matches can be paged through via the API.
2481
+ * @format int64
2482
+ */
2483
+ total: number;
2484
+ /** A list of search results. */
2485
+ data: IterationSlim[];
2486
+ /** The URL path and query string for the next page of search results. */
2487
+ next?: string | null;
2488
+ cursors?: string[];
2489
+ }
2490
+ /** 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. */
2118
2491
  export interface IterationSlim {
2119
2492
  /** The Shortcut application url for the Iteration. */
2120
2493
  app_url: string;
@@ -2126,8 +2499,11 @@ export interface IterationSlim {
2126
2499
  mention_ids: string[];
2127
2500
  /** An array of Member IDs that have been mentioned in the Story description. */
2128
2501
  member_mention_ids: string[];
2502
+ /** An array containing Group IDs and Group-owned story counts for the Iteration's associated groups. */
2503
+ associated_groups: IterationAssociatedGroup[];
2129
2504
  /** The name of the iteration. */
2130
2505
  name: string;
2506
+ global_id: string;
2131
2507
  /** An array of label ids attached to the iteration. */
2132
2508
  label_ids: number[];
2133
2509
  /**
@@ -2166,9 +2542,7 @@ export interface IterationSlim {
2166
2542
  */
2167
2543
  created_at: string;
2168
2544
  }
2169
- /**
2170
- * A group of calculated values for this Iteration.
2171
- */
2545
+ /** A group of calculated values for this Iteration. */
2172
2546
  export interface IterationStats {
2173
2547
  /**
2174
2548
  * The total number of completed points in this Iteration.
@@ -2210,11 +2584,21 @@ export interface IterationStats {
2210
2584
  * @format int64
2211
2585
  */
2212
2586
  num_stories_unestimated: number;
2587
+ /**
2588
+ * The total number of backlog Stories in this Iteration.
2589
+ * @format int64
2590
+ */
2591
+ num_stories_backlog: number;
2213
2592
  /**
2214
2593
  * The average lead time (in seconds) of completed stories in this Iteration.
2215
2594
  * @format int64
2216
2595
  */
2217
2596
  average_lead_time?: number;
2597
+ /**
2598
+ * The total number of backlog points in this Iteration.
2599
+ * @format int64
2600
+ */
2601
+ num_points_backlog: number;
2218
2602
  /**
2219
2603
  * The total number of points in this Iteration.
2220
2604
  * @format int64
@@ -2226,9 +2610,7 @@ export interface IterationStats {
2226
2610
  */
2227
2611
  num_stories_done: number;
2228
2612
  }
2229
- /**
2230
- * A Label can be used to associate and filter Stories and Epics, and also create new Workspaces.
2231
- */
2613
+ /** A Label can be used to associate and filter Stories and Epics, and also create new Workspaces. */
2232
2614
  export interface Label {
2233
2615
  /** The Shortcut application url for the Label. */
2234
2616
  app_url: string;
@@ -2241,11 +2623,13 @@ export interface Label {
2241
2623
  /**
2242
2624
  * The hex color to be displayed with the Label (for example, "#ff0000").
2243
2625
  * @format css-color
2626
+ * @minLength 1
2244
2627
  * @pattern ^#[a-fA-F0-9]{6}$
2245
2628
  */
2246
2629
  color?: string | null;
2247
2630
  /** The name of the Label. */
2248
2631
  name: string;
2632
+ global_id: string;
2249
2633
  /**
2250
2634
  * The time/date that the Label was updated.
2251
2635
  * @format date-time
@@ -2266,9 +2650,7 @@ export interface Label {
2266
2650
  */
2267
2651
  created_at?: string | null;
2268
2652
  }
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
- */
2653
+ /** 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. */
2272
2654
  export interface LabelSlim {
2273
2655
  /** The Shortcut application url for the Label. */
2274
2656
  app_url: string;
@@ -2281,11 +2663,13 @@ export interface LabelSlim {
2281
2663
  /**
2282
2664
  * The hex color to be displayed with the Label (for example, "#ff0000").
2283
2665
  * @format css-color
2666
+ * @minLength 1
2284
2667
  * @pattern ^#[a-fA-F0-9]{6}$
2285
2668
  */
2286
2669
  color?: string | null;
2287
2670
  /** The name of the Label. */
2288
2671
  name: string;
2672
+ global_id: string;
2289
2673
  /**
2290
2674
  * The time/date that the Label was updated.
2291
2675
  * @format date-time
@@ -2304,9 +2688,7 @@ export interface LabelSlim {
2304
2688
  */
2305
2689
  created_at?: string | null;
2306
2690
  }
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
- */
2691
+ /** 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. */
2310
2692
  export interface LabelStats {
2311
2693
  /**
2312
2694
  * The total number of Documents associated this Label.
@@ -2329,12 +2711,12 @@ export interface LabelStats {
2329
2711
  */
2330
2712
  num_stories_total: number;
2331
2713
  /**
2332
- * The number of unstarted epics assoicated with this label.
2714
+ * The number of unstarted epics associated with this label.
2333
2715
  * @format int64
2334
2716
  */
2335
2717
  num_epics_unstarted: number;
2336
2718
  /**
2337
- * The number of in progress epics assoicated with this label.
2719
+ * The number of in progress epics associated with this label.
2338
2720
  * @format int64
2339
2721
  */
2340
2722
  num_epics_in_progress: number;
@@ -2354,7 +2736,7 @@ export interface LabelStats {
2354
2736
  */
2355
2737
  num_points_in_progress: number;
2356
2738
  /**
2357
- * The total number of Epics assoicated with this Label.
2739
+ * The total number of Epics associated with this Label.
2358
2740
  * @format int64
2359
2741
  */
2360
2742
  num_epics_total: number;
@@ -2368,6 +2750,11 @@ export interface LabelStats {
2368
2750
  * @format int64
2369
2751
  */
2370
2752
  num_points_completed: number;
2753
+ /**
2754
+ * The total number of stories backlog Stories with this Label.
2755
+ * @format int64
2756
+ */
2757
+ num_stories_backlog: number;
2371
2758
  /**
2372
2759
  * The total number of points with this Label.
2373
2760
  * @format int64
@@ -2379,14 +2766,17 @@ export interface LabelStats {
2379
2766
  */
2380
2767
  num_stories_in_progress: number;
2381
2768
  /**
2382
- * The number of completed Epics assoicated with this Label.
2769
+ * The total number of backlog points with this Label.
2770
+ * @format int64
2771
+ */
2772
+ num_points_backlog: number;
2773
+ /**
2774
+ * The number of completed Epics associated with this Label.
2383
2775
  * @format int64
2384
2776
  */
2385
2777
  num_epics_completed: number;
2386
2778
  }
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
- */
2779
+ /** 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. */
2390
2780
  export interface LinkedFile {
2391
2781
  /** The description of the file. */
2392
2782
  description?: string | null;
@@ -2461,82 +2851,137 @@ export interface ListMembers {
2461
2851
  * The unique ID of the Organization to limit the list to.
2462
2852
  * @format uuid
2463
2853
  */
2464
- "org-public-id"?: string;
2854
+ 'org-public-id'?: string;
2465
2855
  }
2466
- /**
2467
- * Error returned when total maximum supported results have been reached.
2468
- */
2856
+ /** Error returned when total maximum supported results have been reached. */
2469
2857
  export interface MaxSearchResultsExceededError {
2470
2858
  /** The name for this type of error, `maximum-results-exceeded` */
2471
- error: "maximum-results-exceeded";
2859
+ error: 'maximum-results-exceeded';
2472
2860
  /** An explanatory message: "A maximum of 1000 search results are supported." */
2473
2861
  message: string;
2474
2862
  /**
2475
2863
  * The maximum number of search results supported, `1000`
2476
2864
  * @format int64
2477
2865
  */
2478
- "maximum-results": 1000;
2866
+ 'maximum-results': 1000;
2479
2867
  }
2480
- /**
2481
- * Details about individual Shortcut user within the Shortcut organization that has issued the token.
2482
- */
2868
+ /** Details about an individual user within the Workspace. */
2483
2869
  export interface Member {
2484
- /** The Member's role in the Shortcut organization. */
2870
+ /** The Member's role in the Workspace. */
2485
2871
  role: string;
2486
2872
  /** A string description of this resource. */
2487
2873
  entity_type: string;
2488
- /** True/false boolean indicating whether the Member has been disabled within this Organization. */
2874
+ /** True/false boolean indicating whether the Member has been disabled within the Workspace. */
2489
2875
  disabled: boolean;
2876
+ global_id: string;
2877
+ /** The user state, one of partial, full, disabled, or imported. A partial user is disabled, has no means to log in, and is not an import user. A full user is enabled and has a means to log in. A disabled user is disabled and has a means to log in. An import user is disabled, has no means to log in, and is marked as an import user. */
2878
+ state: 'partial' | 'full' | 'disabled' | 'imported';
2879
+ /**
2880
+ * The time/date the Member was last updated.
2881
+ * @format date-time
2882
+ */
2883
+ updated_at?: string | null;
2884
+ /** Whether this member was created as a placeholder entity. */
2885
+ created_without_invite: boolean;
2886
+ /** The Member's group ids */
2887
+ group_ids: string[];
2888
+ /**
2889
+ * The Member's ID in Shortcut.
2890
+ * @format uuid
2891
+ */
2892
+ id: string;
2893
+ /** A group of Member profile details. */
2894
+ profile: Profile;
2895
+ /**
2896
+ * The time/date the Member was created.
2897
+ * @format date-time
2898
+ */
2899
+ created_at?: string | null;
2900
+ /**
2901
+ * The id of the member that replaces this one when merged.
2902
+ * @format uuid
2903
+ */
2904
+ replaced_by?: string;
2905
+ }
2906
+ export interface MemberInfo {
2907
+ /** @format uuid */
2908
+ id: string;
2909
+ name: string;
2910
+ mention_name: string;
2911
+ workspace2: BasicWorkspaceInfo;
2912
+ }
2913
+ /** A Milestone is a collection of Epics that represent a release or some other large initiative that you are working on. */
2914
+ export interface Milestone {
2915
+ /** The Shortcut application url for the Milestone. */
2916
+ app_url: string;
2917
+ /** The Milestone's description. */
2918
+ description: string;
2919
+ /** A boolean indicating whether the Milestone has been archived or not. */
2920
+ archived: boolean;
2921
+ /** A true/false boolean indicating if the Milestone has been started. */
2922
+ started: boolean;
2923
+ /** A string description of this resource. */
2924
+ entity_type: string;
2925
+ /**
2926
+ * A manual override for the time/date the Milestone was completed.
2927
+ * @format date-time
2928
+ */
2929
+ completed_at_override?: string | null;
2930
+ /**
2931
+ * The time/date the Milestone was started.
2932
+ * @format date-time
2933
+ */
2934
+ started_at?: string | null;
2935
+ /**
2936
+ * The time/date the Milestone was completed.
2937
+ * @format date-time
2938
+ */
2939
+ completed_at?: string | null;
2940
+ /** The name of the Milestone. */
2941
+ name: string;
2942
+ global_id: string;
2943
+ /** A true/false boolean indicating if the Milestone has been completed. */
2944
+ completed: boolean;
2945
+ /** The workflow state that the Milestone is in. */
2946
+ state: string;
2490
2947
  /**
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.
2948
+ * A manual override for the time/date the Milestone was started.
2949
+ * @format date-time
2496
2950
  */
2497
- state: "partial" | "full" | "disabled" | "imported";
2951
+ started_at_override?: string | null;
2498
2952
  /**
2499
- * The time/date the Member was last updated.
2953
+ * The time/date the Milestone was updated.
2500
2954
  * @format date-time
2501
2955
  */
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[];
2956
+ updated_at: string;
2957
+ /** An array of Categories attached to the Milestone. */
2958
+ categories: Category[];
2507
2959
  /**
2508
- * The Member's ID in Shortcut.
2509
- * @format uuid
2960
+ * The unique ID of the Milestone.
2961
+ * @format int64
2510
2962
  */
2511
- id: string;
2512
- /** A group of Member profile details. */
2513
- profile: Profile;
2963
+ id: number;
2514
2964
  /**
2515
- * The time/date the Member was created.
2516
- * @format date-time
2965
+ * A number representing the position of the Milestone in relation to every other Milestone within the Workspace.
2966
+ * @format int64
2517
2967
  */
2518
- created_at?: string | null;
2968
+ position: number;
2969
+ /** A group of calculated values for this Milestone. */
2970
+ stats: MilestoneStats;
2519
2971
  /**
2520
- * The id of the member that replaces this one when merged.
2521
- * @format uuid
2972
+ * The time/date the Milestone was created.
2973
+ * @format date-time
2522
2974
  */
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;
2975
+ created_at: string;
2531
2976
  }
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 {
2977
+ /** A Milestone in search results. This is typed differently from Milestone because the details=slim search argument will omit some fields. */
2978
+ export interface MilestoneSearchResult {
2536
2979
  /** The Shortcut application url for the Milestone. */
2537
2980
  app_url: string;
2538
2981
  /** The Milestone's description. */
2539
- description: string;
2982
+ description?: string;
2983
+ /** A boolean indicating whether the Milestone has been archived or not. */
2984
+ archived: boolean;
2540
2985
  /** A true/false boolean indicating if the Milestone has been started. */
2541
2986
  started: boolean;
2542
2987
  /** A string description of this resource. */
@@ -2558,6 +3003,7 @@ export interface Milestone {
2558
3003
  completed_at?: string | null;
2559
3004
  /** The name of the Milestone. */
2560
3005
  name: string;
3006
+ global_id: string;
2561
3007
  /** A true/false boolean indicating if the Milestone has been completed. */
2562
3008
  completed: boolean;
2563
3009
  /** The workflow state that the Milestone is in. */
@@ -2580,21 +3026,32 @@ export interface Milestone {
2580
3026
  */
2581
3027
  id: number;
2582
3028
  /**
2583
- * A number representing the position of the Milestone in relation to every other Milestone within the Organization.
3029
+ * A number representing the position of the Milestone in relation to every other Milestone within the Workspace.
2584
3030
  * @format int64
2585
3031
  */
2586
3032
  position: number;
2587
3033
  /** A group of calculated values for this Milestone. */
2588
- stats?: MilestoneStats;
3034
+ stats: MilestoneStats;
2589
3035
  /**
2590
3036
  * The time/date the Milestone was created.
2591
3037
  * @format date-time
2592
3038
  */
2593
3039
  created_at: string;
2594
3040
  }
2595
- /**
2596
- * A group of calculated values for this Milestone.
2597
- */
3041
+ /** The results of the Milestone search query. */
3042
+ export interface MilestoneSearchResults {
3043
+ /**
3044
+ * The total number of matches for the search query. The first 1000 matches can be paged through via the API.
3045
+ * @format int64
3046
+ */
3047
+ total: number;
3048
+ /** A list of search results. */
3049
+ data: MilestoneSearchResult[];
3050
+ /** The URL path and query string for the next page of search results. */
3051
+ next?: string | null;
3052
+ cursors?: string[];
3053
+ }
3054
+ /** A group of calculated values for this Milestone. */
2598
3055
  export interface MilestoneStats {
2599
3056
  /**
2600
3057
  * The average cycle time (in seconds) of completed stories in this Milestone.
@@ -2612,9 +3069,7 @@ export interface MilestoneStats {
2612
3069
  */
2613
3070
  num_related_documents: number;
2614
3071
  }
2615
- /**
2616
- * A group of Member profile details.
2617
- */
3072
+ /** A group of Member profile details. */
2618
3073
  export interface Profile {
2619
3074
  /** A string description of this resource. */
2620
3075
  entity_type: string;
@@ -2633,14 +3088,14 @@ export interface Profile {
2633
3088
  * @format uuid
2634
3089
  */
2635
3090
  id: string;
2636
- /** Icons are used to attach images to Organizations, Members, and Loading screens in the Shortcut web application. */
3091
+ /** Icons are used to attach images to Groups, Workspaces, Members, and Loading screens in the Shortcut web application. */
2637
3092
  display_icon: Icon | null;
3093
+ /** A boolean indicating whether this profile is an owner at their associated organization. */
3094
+ is_owner: boolean;
2638
3095
  /** The primary email address of the Member with the Organization. */
2639
3096
  email_address?: string | null;
2640
3097
  }
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
- */
3098
+ /** Projects typically map to teams (such as Frontend, Backend, Mobile, Devops, etc) but can represent any open-ended product, component, or initiative. */
2644
3099
  export interface Project {
2645
3100
  /** The Shortcut application url for the Project. */
2646
3101
  app_url: string;
@@ -2658,6 +3113,7 @@ export interface Project {
2658
3113
  /**
2659
3114
  * The color associated with the Project in the Shortcut member interface.
2660
3115
  * @format css-color
3116
+ * @minLength 1
2661
3117
  * @pattern ^#[a-fA-F0-9]{6}$
2662
3118
  */
2663
3119
  color?: string | null;
@@ -2668,6 +3124,8 @@ export interface Project {
2668
3124
  workflow_id: number;
2669
3125
  /** The name of the Project */
2670
3126
  name: string;
3127
+ /** The Global ID of the Project. */
3128
+ global_id: string;
2671
3129
  /**
2672
3130
  * The date at which the Project was started.
2673
3131
  * @format date-time
@@ -2709,9 +3167,7 @@ export interface Project {
2709
3167
  */
2710
3168
  created_at?: string | null;
2711
3169
  }
2712
- /**
2713
- * A group of calculated values for this Project.
2714
- */
3170
+ /** A group of calculated values for this Project. */
2715
3171
  export interface ProjectStats {
2716
3172
  /**
2717
3173
  * The total number of stories in this Project.
@@ -2729,9 +3185,7 @@ export interface ProjectStats {
2729
3185
  */
2730
3186
  num_related_documents: number;
2731
3187
  }
2732
- /**
2733
- * Corresponds to a VCS Pull Request attached to a Shortcut story.
2734
- */
3188
+ /** Corresponds to a VCS Pull Request attached to a Shortcut story. */
2735
3189
  export interface PullRequest {
2736
3190
  /** A string description of this resource. */
2737
3191
  entity_type: string;
@@ -2749,6 +3203,8 @@ export interface PullRequest {
2749
3203
  * @format int64
2750
3204
  */
2751
3205
  branch_id: number;
3206
+ /** An array of Story ids that have Pull Requests that change at least one of the same lines this Pull Request changes. */
3207
+ overlapping_stories?: number[];
2752
3208
  /**
2753
3209
  * The pull request's unique number ID in VCS.
2754
3210
  * @format int64
@@ -2770,6 +3226,8 @@ export interface PullRequest {
2770
3226
  * @format date-time
2771
3227
  */
2772
3228
  updated_at: string;
3229
+ /** Boolean indicating that the Pull Request has Stories that have Pull Requests that change at least one of the same lines this Pull Request changes. */
3230
+ has_overlapping_stories: boolean;
2773
3231
  /** True/False boolean indicating whether the VCS pull request is in the draft state. */
2774
3232
  draft: boolean;
2775
3233
  /**
@@ -2811,9 +3269,7 @@ export interface PullRequest {
2811
3269
  */
2812
3270
  created_at: string;
2813
3271
  }
2814
- /**
2815
- * Corresponds to a VCS Label associated with a Pull Request.
2816
- */
3272
+ /** Corresponds to a VCS Label associated with a Pull Request. */
2817
3273
  export interface PullRequestLabel {
2818
3274
  /** A string description of this resource. */
2819
3275
  entity_type: string;
@@ -2825,6 +3281,7 @@ export interface PullRequestLabel {
2825
3281
  /**
2826
3282
  * The color of the VCS label.
2827
3283
  * @format css-color
3284
+ * @minLength 1
2828
3285
  * @pattern ^#[a-fA-F0-9]{6}$
2829
3286
  */
2830
3287
  color: string;
@@ -2833,16 +3290,14 @@ export interface PullRequestLabel {
2833
3290
  /** The name of the VCS label. */
2834
3291
  name: string;
2835
3292
  }
2836
- /**
2837
- * Repository refers to a VCS repository.
2838
- */
3293
+ /** Repository refers to a VCS repository. */
2839
3294
  export interface Repository {
2840
3295
  /** A string description of this resource. */
2841
3296
  entity_type: string;
2842
3297
  /** The shorthand name of the VCS repository. */
2843
3298
  name?: string | null;
2844
- /** The type of Repository. Currently this can only be "github". */
2845
- type: string;
3299
+ /** The VCS provider for the Repository. */
3300
+ type: 'github' | 'gitlab' | 'bitbucket';
2846
3301
  /**
2847
3302
  * The time/date the Repository was updated.
2848
3303
  * @format date-time
@@ -2866,25 +3321,41 @@ export interface Repository {
2866
3321
  created_at?: string | null;
2867
3322
  }
2868
3323
  export interface Search {
2869
- /** See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators) */
3324
+ /**
3325
+ * See our help center article on [search operators](https://help.shortcut.com/hc/en-us/articles/360000046646-Search-Operators)
3326
+ * @minLength 1
3327
+ */
2870
3328
  query: string;
2871
3329
  /**
2872
3330
  * The number of search results to include in a page. Minimum of 1 and maximum of 25.
2873
3331
  * @format int64
2874
3332
  */
2875
3333
  page_size?: number;
3334
+ /**
3335
+ * The amount of detail included in each result item.
3336
+ * "full" will include all descriptions and comments and more fields on
3337
+ * related items such as pull requests, branches and tasks.
3338
+ * "slim" omits larger fulltext fields such as descriptions and comments
3339
+ * and only references related items by id.
3340
+ * The default is "full".
3341
+ */
3342
+ detail?: 'full' | 'slim';
2876
3343
  /** The next page token. */
2877
3344
  next?: string;
2878
- include?: "cursors";
3345
+ include?: 'cursors';
3346
+ /** A collection of entity_types to search. Defaults to story and epic. Supports: epic, iteration, milestone, story. */
3347
+ entity_types?: ('story' | 'milestone' | 'epic' | 'iteration')[];
2879
3348
  }
2880
- /**
2881
- * The results of the multi-entity search query.
2882
- */
3349
+ /** The results of the multi-entity search query. */
2883
3350
  export interface SearchResults {
2884
3351
  /** The results of the Epic search query. */
2885
- epics: EpicSearchResults;
3352
+ epics?: EpicSearchResults;
2886
3353
  /** The results of the Story search query. */
2887
- stories: StorySearchResults;
3354
+ stories?: StorySearchResults;
3355
+ /** The results of the Iteration search query. */
3356
+ iterations?: IterationSearchResults;
3357
+ /** The results of the Milestone search query. */
3358
+ milestones?: MilestoneSearchResults;
2888
3359
  }
2889
3360
  export interface SearchStories {
2890
3361
  /** A true/false boolean indicating whether the Story is in archived state. */
@@ -2895,11 +3366,17 @@ export interface SearchStories {
2895
3366
  */
2896
3367
  owner_id?: string | null;
2897
3368
  /** 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. */
3369
+ story_type?: 'feature' | 'chore' | 'bug';
3370
+ /**
3371
+ * The Epic IDs that may be associated with the Stories.
3372
+ * @uniqueItems true
3373
+ */
2900
3374
  epic_ids?: number[];
2901
- /** The IDs for the Projects the Stories may be assigned to. */
2902
- project_ids?: number[];
3375
+ /**
3376
+ * The IDs for the Projects the Stories may be assigned to.
3377
+ * @uniqueItems true
3378
+ */
3379
+ project_ids?: (number | null)[];
2903
3380
  /**
2904
3381
  * Stories should have been updated before this date.
2905
3382
  * @format date-time
@@ -2911,7 +3388,7 @@ export interface SearchStories {
2911
3388
  */
2912
3389
  completed_at_end?: string;
2913
3390
  /** The type of Workflow State the Stories may be in. */
2914
- workflow_state_types?: ("started" | "unstarted" | "done")[];
3391
+ workflow_state_types?: ('started' | 'backlog' | 'unstarted' | 'done')[];
2915
3392
  /**
2916
3393
  * Stories should have a deadline before this date.
2917
3394
  * @format date-time
@@ -2927,7 +3404,10 @@ export interface SearchStories {
2927
3404
  * @format int64
2928
3405
  */
2929
3406
  epic_id?: number | null;
2930
- /** The name of any associated Labels. */
3407
+ /**
3408
+ * The name of any associated Labels.
3409
+ * @minLength 1
3410
+ */
2931
3411
  label_name?: string;
2932
3412
  /**
2933
3413
  * The UUID of any Users who may have requested the Stories.
@@ -2939,7 +3419,10 @@ export interface SearchStories {
2939
3419
  * @format int64
2940
3420
  */
2941
3421
  iteration_id?: number | null;
2942
- /** The Label IDs that may be associated with the Stories. */
3422
+ /**
3423
+ * The Label IDs that may be associated with the Stories.
3424
+ * @uniqueItems true
3425
+ */
2943
3426
  label_ids?: number[];
2944
3427
  /**
2945
3428
  * The Group ID that is associated with the Stories
@@ -2951,7 +3434,10 @@ export interface SearchStories {
2951
3434
  * @format int64
2952
3435
  */
2953
3436
  workflow_state_id?: number;
2954
- /** The Iteration IDs that may be associated with the Stories. */
3437
+ /**
3438
+ * The Iteration IDs that may be associated with the Stories.
3439
+ * @uniqueItems true
3440
+ */
2955
3441
  iteration_ids?: number[];
2956
3442
  /**
2957
3443
  * Stories should have been created before this date.
@@ -2963,9 +3449,15 @@ export interface SearchStories {
2963
3449
  * @format date-time
2964
3450
  */
2965
3451
  deadline_start?: string;
2966
- /** The Group IDs that are associated with the Stories */
3452
+ /**
3453
+ * The Group IDs that are associated with the Stories
3454
+ * @uniqueItems true
3455
+ */
2967
3456
  group_ids?: string[];
2968
- /** An array of UUIDs for any Users who may be Owners of the Stories. */
3457
+ /**
3458
+ * An array of UUIDs for any Users who may be Owners of the Stories.
3459
+ * @uniqueItems true
3460
+ */
2969
3461
  owner_ids?: string[];
2970
3462
  /** An ID or URL that references an external resource. Useful during imports. */
2971
3463
  external_id?: string;
@@ -2980,9 +3472,9 @@ export interface SearchStories {
2980
3472
  * The IDs for the Projects the Stories may be assigned to.
2981
3473
  * @format int64
2982
3474
  */
2983
- project_id?: number;
3475
+ project_id?: number | null;
2984
3476
  /**
2985
- * Stories should have been competed after this date.
3477
+ * Stories should have been completed after this date.
2986
3478
  * @format date-time
2987
3479
  */
2988
3480
  completed_at_start?: string;
@@ -2992,9 +3484,7 @@ export interface SearchStories {
2992
3484
  */
2993
3485
  updated_at_start?: string;
2994
3486
  }
2995
- /**
2996
- * Stories are the standard unit of work in Shortcut and represent individual features, bugs, and chores.
2997
- */
3487
+ /** Stories are the standard unit of work in Shortcut and represent individual features, bugs, and chores. */
2998
3488
  export interface Story {
2999
3489
  /** The Shortcut application url for the Story. */
3000
3490
  app_url: string;
@@ -3012,10 +3502,14 @@ export interface Story {
3012
3502
  labels: LabelSlim[];
3013
3503
  /** Deprecated: use member_mention_ids. */
3014
3504
  mention_ids: string[];
3505
+ /** The synced item for the story. */
3506
+ synced_item?: SyncedItem;
3015
3507
  /** An array of Member IDs that have been mentioned in the Story description. */
3016
3508
  member_mention_ids: string[];
3017
3509
  /** The type of story (feature, bug, chore). */
3018
3510
  story_type: string;
3511
+ /** An array of CustomField value assertions for the story. */
3512
+ custom_fields?: StoryCustomField[];
3019
3513
  /** An array of linked files attached to the story. */
3020
3514
  linked_files: LinkedFile[];
3021
3515
  /**
@@ -3040,6 +3534,7 @@ export interface Story {
3040
3534
  completed_at?: string | null;
3041
3535
  /** The name of the story. */
3042
3536
  name: string;
3537
+ global_id: string;
3043
3538
  /** A true/false boolean indicating if the Story has been completed. */
3044
3539
  completed: boolean;
3045
3540
  /** An array of comments attached to the story. */
@@ -3053,6 +3548,8 @@ export interface Story {
3053
3548
  * @format int64
3054
3549
  */
3055
3550
  epic_id?: number | null;
3551
+ /** The IDs of any unresolved blocker comments on the Story. */
3552
+ unresolved_blocker_comments?: number[];
3056
3553
  /**
3057
3554
  * The ID of the story template used to create this story, or null if not created using a template.
3058
3555
  * @format uuid
@@ -3160,14 +3657,14 @@ export interface Story {
3160
3657
  */
3161
3658
  moved_at?: string | null;
3162
3659
  }
3163
- /**
3164
- * A Comment is any note added within the Comment field of a Story.
3165
- */
3660
+ /** A Comment is any note added within the Comment field of a Story. */
3166
3661
  export interface StoryComment {
3167
3662
  /** The Shortcut application url for the Comment. */
3168
3663
  app_url: string;
3169
3664
  /** A string description of this resource. */
3170
3665
  entity_type: string;
3666
+ /** True/false boolean indicating whether the Comment has been deleted. */
3667
+ deleted: boolean;
3171
3668
  /**
3172
3669
  * The ID of the Story on which the Comment appears.
3173
3670
  * @format int64
@@ -3182,6 +3679,8 @@ export interface StoryComment {
3182
3679
  author_id?: string | null;
3183
3680
  /** The unique IDs of the Member who are mentioned in the Comment. */
3184
3681
  member_mention_ids: string[];
3682
+ /** Marks the comment as a blocker that can be surfaced to permissions or teams mentioned in the comment. Can only be used on a top-level comment. */
3683
+ blocker?: boolean;
3185
3684
  /**
3186
3685
  * The time/date when the Comment was updated.
3187
3686
  * @format date-time
@@ -3191,6 +3690,11 @@ export interface StoryComment {
3191
3690
  group_mention_ids: string[];
3192
3691
  /** 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
3692
  external_id?: string | null;
3693
+ /**
3694
+ * The ID of the parent Comment this Comment is threaded under.
3695
+ * @format int64
3696
+ */
3697
+ parent_id?: number | null;
3194
3698
  /**
3195
3699
  * The unique ID of the Comment.
3196
3700
  * @format int64
@@ -3201,6 +3705,8 @@ export interface StoryComment {
3201
3705
  * @format int64
3202
3706
  */
3203
3707
  position: number;
3708
+ /** Marks the comment as an unblocker to its blocker parent. Can only be set on a threaded comment who has a parent with `blocker` set. */
3709
+ unblocks_parent?: boolean;
3204
3710
  /** A set of Reactions to this Comment. */
3205
3711
  reactions: StoryReaction[];
3206
3712
  /**
@@ -3208,12 +3714,10 @@ export interface StoryComment {
3208
3714
  * @format date-time
3209
3715
  */
3210
3716
  created_at: string;
3211
- /** The text of the Comment. */
3212
- text: string;
3717
+ /** The text of the Comment. In the case that the Comment has been deleted, this field can be set to nil. */
3718
+ text?: string | null;
3213
3719
  }
3214
- /**
3215
- * A container entity for the attributes this template should populate.
3216
- */
3720
+ /** A container entity for the attributes this template should populate. */
3217
3721
  export interface StoryContents {
3218
3722
  /** The description of the story. */
3219
3723
  description?: string;
@@ -3223,6 +3727,8 @@ export interface StoryContents {
3223
3727
  labels?: LabelSlim[];
3224
3728
  /** The type of story (feature, bug, chore). */
3225
3729
  story_type?: string;
3730
+ /** An array of maps specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
3731
+ custom_fields?: CustomFieldValueParams[];
3226
3732
  /** An array of linked files attached to the story. */
3227
3733
  linked_files?: LinkedFile[];
3228
3734
  /** The name of the story. */
@@ -3290,123 +3796,305 @@ export interface StoryContentsTask {
3290
3796
  /** 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
3797
  external_id?: string | null;
3292
3798
  }
3293
- /**
3294
- * Task IDs that have been added or removed from the Story.
3295
- */
3799
+ export interface StoryCustomField {
3800
+ /**
3801
+ * The unique public ID for a CustomField.
3802
+ * @format uuid
3803
+ */
3804
+ field_id: string;
3805
+ /**
3806
+ * The unique public ID for a CustomFieldEnumValue.
3807
+ * @format uuid
3808
+ */
3809
+ value_id: string;
3810
+ /** A string representation of the value, if applicable. */
3811
+ value: string;
3812
+ }
3813
+ /** Task IDs that have been added or removed from the Story. */
3296
3814
  export interface StoryHistoryChangeAddsRemovesInt {
3297
3815
  /** The values that have been added. */
3298
3816
  adds?: number[];
3299
3817
  /** The values that have been removed */
3300
3818
  removes?: number[];
3301
3819
  }
3302
- /**
3303
- * Member IDs that have been added or removed as a owner of the Story.
3304
- */
3820
+ /** Custom Field Enum Value IDs that have been added or removed from the Story. */
3305
3821
  export interface StoryHistoryChangeAddsRemovesUuid {
3306
3822
  /** The values that have been added. */
3307
3823
  adds?: string[];
3308
3824
  /** The values that have been removed */
3309
3825
  removes?: string[];
3310
3826
  }
3311
- /**
3312
- * True if the Story has archived, otherwise false.
3313
- */
3827
+ /** True if the Story has archived, otherwise false. */
3314
3828
  export interface StoryHistoryChangeOldNewBool {
3315
3829
  /** The old value. */
3316
3830
  old?: boolean;
3317
3831
  /** The new value. */
3318
3832
  new?: boolean;
3319
3833
  }
3320
- /**
3321
- * The estimate value for the Story
3322
- */
3834
+ /** The estimate value for the Story */
3323
3835
  export interface StoryHistoryChangeOldNewInt {
3324
3836
  /**
3325
- * The old value.
3837
+ * The old value.
3838
+ * @format int64
3839
+ */
3840
+ old?: number;
3841
+ /**
3842
+ * The new value.
3843
+ * @format int64
3844
+ */
3845
+ new?: number;
3846
+ }
3847
+ /** A timestamp that represents the Story's deadline. */
3848
+ export interface StoryHistoryChangeOldNewStr {
3849
+ /** The old value. */
3850
+ old?: string | null;
3851
+ /** The new value. */
3852
+ new?: string;
3853
+ }
3854
+ /** The Team ID for the Story. */
3855
+ export interface StoryHistoryChangeOldNewUuid {
3856
+ /**
3857
+ * The old value.
3858
+ * @format uuid
3859
+ */
3860
+ old?: string;
3861
+ /**
3862
+ * The new value.
3863
+ * @format uuid
3864
+ */
3865
+ new?: string;
3866
+ }
3867
+ /** 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". */
3868
+ export interface StoryLink {
3869
+ /** A string description of this resource. */
3870
+ entity_type: string;
3871
+ /**
3872
+ * The unique identifier of the Story Link.
3873
+ * @format int64
3874
+ */
3875
+ id: number;
3876
+ /**
3877
+ * The ID of the subject Story.
3878
+ * @format int64
3879
+ */
3880
+ subject_id: number;
3881
+ /**
3882
+ * The workflow state of the "subject" story.
3883
+ * @format int64
3884
+ */
3885
+ subject_workflow_state_id: number;
3886
+ /** How the subject Story acts on the object Story. This can be "blocks", "duplicates", or "relates to". */
3887
+ verb: string;
3888
+ /**
3889
+ * The ID of the object Story.
3890
+ * @format int64
3891
+ */
3892
+ object_id: number;
3893
+ /**
3894
+ * The time/date when the Story Link was created.
3895
+ * @format date-time
3896
+ */
3897
+ created_at: string;
3898
+ /**
3899
+ * The time/date when the Story Link was last updated.
3900
+ * @format date-time
3901
+ */
3902
+ updated_at: string;
3903
+ }
3904
+ /** Emoji reaction on a comment. */
3905
+ export interface StoryReaction {
3906
+ /** Emoji text of the reaction. */
3907
+ emoji: string;
3908
+ /** Permissions who have reacted with this. */
3909
+ permission_ids: string[];
3910
+ }
3911
+ /** A Story in search results. This is typed differently from Story because the details=slim search argument will omit some fields. */
3912
+ export interface StorySearchResult {
3913
+ /** The Shortcut application url for the Story. */
3914
+ app_url: string;
3915
+ /** The description of the story. */
3916
+ description?: string;
3917
+ /** True if the story has been archived or not. */
3918
+ archived: boolean;
3919
+ /** A true/false boolean indicating if the Story has been started. */
3920
+ started: boolean;
3921
+ /** An array of story links attached to the Story. */
3922
+ story_links: TypedStoryLink[];
3923
+ /** A string description of this resource. */
3924
+ entity_type: string;
3925
+ /** An array of labels attached to the story. */
3926
+ labels: LabelSlim[];
3927
+ /** An array of IDs of Tasks attached to the story. */
3928
+ task_ids?: number[];
3929
+ /** Deprecated: use member_mention_ids. */
3930
+ mention_ids: string[];
3931
+ /** The synced item for the story. */
3932
+ synced_item?: SyncedItem;
3933
+ /** An array of Member IDs that have been mentioned in the Story description. */
3934
+ member_mention_ids: string[];
3935
+ /** The type of story (feature, bug, chore). */
3936
+ story_type: string;
3937
+ /** An array of CustomField value assertions for the story. */
3938
+ custom_fields?: StoryCustomField[];
3939
+ /** An array of linked files attached to the story. */
3940
+ linked_files?: LinkedFile[];
3941
+ /** An array of IDs of Files attached to the story. */
3942
+ file_ids?: number[];
3943
+ /**
3944
+ * The number of tasks on the story which are complete.
3945
+ * @format int64
3946
+ */
3947
+ num_tasks_completed?: number;
3948
+ /**
3949
+ * The ID of the workflow the story belongs to.
3950
+ * @format int64
3951
+ */
3952
+ workflow_id: number;
3953
+ /**
3954
+ * A manual override for the time/date the Story was completed.
3955
+ * @format date-time
3956
+ */
3957
+ completed_at_override?: string | null;
3958
+ /**
3959
+ * The time/date the Story was started.
3960
+ * @format date-time
3961
+ */
3962
+ started_at?: string | null;
3963
+ /**
3964
+ * The time/date the Story was completed.
3965
+ * @format date-time
3966
+ */
3967
+ completed_at?: string | null;
3968
+ /** The name of the story. */
3969
+ name: string;
3970
+ global_id: string;
3971
+ /** A true/false boolean indicating if the Story has been completed. */
3972
+ completed: boolean;
3973
+ /** An array of comments attached to the story. */
3974
+ comments?: StoryComment[];
3975
+ /** A true/false boolean indicating if the Story is currently a blocker of another story. */
3976
+ blocker: boolean;
3977
+ /** An array of Git branches attached to the story. */
3978
+ branches?: Branch[];
3979
+ /**
3980
+ * The ID of the epic the story belongs to.
3326
3981
  * @format int64
3327
3982
  */
3328
- old?: number;
3983
+ epic_id?: number | null;
3984
+ /** The IDs of any unresolved blocker comments on the Story. */
3985
+ unresolved_blocker_comments?: number[];
3329
3986
  /**
3330
- * The new value.
3331
- * @format int64
3987
+ * The ID of the story template used to create this story, or null if not created using a template.
3988
+ * @format uuid
3332
3989
  */
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 {
3990
+ story_template_id?: string | null;
3991
+ /** An array of external links (strings) associated with a Story */
3992
+ external_links: string[];
3993
+ /** The IDs of the iteration the story belongs to. */
3994
+ previous_iteration_ids: number[];
3348
3995
  /**
3349
- * The old value.
3996
+ * The ID of the Member that requested the story.
3350
3997
  * @format uuid
3351
3998
  */
3352
- old?: string;
3999
+ requested_by_id: string;
3353
4000
  /**
3354
- * The new value.
4001
+ * The ID of the iteration the story belongs to.
4002
+ * @format int64
4003
+ */
4004
+ iteration_id?: number | null;
4005
+ /** An array of tasks connected to the story. */
4006
+ tasks?: Task[];
4007
+ /** An array of label ids attached to the story. */
4008
+ label_ids: number[];
4009
+ /**
4010
+ * A manual override for the time/date the Story was started.
4011
+ * @format date-time
4012
+ */
4013
+ started_at_override?: string | null;
4014
+ /**
4015
+ * The ID of the group associated with the story.
3355
4016
  * @format uuid
3356
4017
  */
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;
4018
+ group_id?: string | null;
3365
4019
  /**
3366
- * The unique identifier of the Story Link.
4020
+ * The ID of the workflow state the story is currently in.
4021
+ * @format int64
4022
+ */
4023
+ workflow_state_id: number;
4024
+ /**
4025
+ * The time/date the Story was updated.
4026
+ * @format date-time
4027
+ */
4028
+ updated_at?: string | null;
4029
+ /** An array of Pull/Merge Requests attached to the story. */
4030
+ pull_requests?: PullRequest[];
4031
+ /** An array of Group IDs that have been mentioned in the Story description. */
4032
+ group_mention_ids: string[];
4033
+ /** An array of UUIDs for any Members listed as Followers. */
4034
+ follower_ids: string[];
4035
+ /** An array of UUIDs of the owners of this story. */
4036
+ owner_ids: string[];
4037
+ /** 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. */
4038
+ external_id?: string | null;
4039
+ /**
4040
+ * The unique ID of the Story.
3367
4041
  * @format int64
3368
4042
  */
3369
4043
  id: number;
3370
4044
  /**
3371
- * The ID of the subject Story.
4045
+ * The lead time (in seconds) of this story when complete.
3372
4046
  * @format int64
3373
4047
  */
3374
- subject_id: number;
4048
+ lead_time?: number;
3375
4049
  /**
3376
- * The workflow state of the "subject" story.
4050
+ * The numeric point estimate of the story. Can also be null, which means unestimated.
3377
4051
  * @format int64
3378
4052
  */
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;
4053
+ estimate?: number | null;
4054
+ /** An array of commits attached to the story. */
4055
+ commits?: Commit[];
4056
+ /** An array of files attached to the story. */
4057
+ files?: UploadedFile[];
3382
4058
  /**
3383
- * The ID of the object Story.
4059
+ * A number representing the position of the story in relation to every other story in the current project.
3384
4060
  * @format int64
3385
4061
  */
3386
- object_id: number;
4062
+ position: number;
4063
+ /** A true/false boolean indicating if the Story is currently blocked. */
4064
+ blocked: boolean;
3387
4065
  /**
3388
- * The time/date when the Story Link was created.
4066
+ * The ID of the project the story belongs to.
4067
+ * @format int64
4068
+ */
4069
+ project_id?: number | null;
4070
+ /** An array of IDs of LinkedFiles attached to the story. */
4071
+ linked_file_ids?: number[];
4072
+ /**
4073
+ * The due date of the story.
4074
+ * @format date-time
4075
+ */
4076
+ deadline?: string | null;
4077
+ /** The stats object for Stories */
4078
+ stats: StoryStats;
4079
+ /** An array of IDs of Comments attached to the story. */
4080
+ comment_ids?: number[];
4081
+ /**
4082
+ * The cycle time (in seconds) of this story when complete.
4083
+ * @format int64
4084
+ */
4085
+ cycle_time?: number;
4086
+ /**
4087
+ * The time/date the Story was created.
3389
4088
  * @format date-time
3390
4089
  */
3391
4090
  created_at: string;
3392
4091
  /**
3393
- * The time/date when the Story Link was last updated.
4092
+ * The time/date the Story was last changed workflow-state.
3394
4093
  * @format date-time
3395
4094
  */
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[];
4095
+ moved_at?: string | null;
3406
4096
  }
3407
- /**
3408
- * The results of the Story search query.
3409
- */
4097
+ /** The results of the Story search query. */
3410
4098
  export interface StorySearchResults {
3411
4099
  /**
3412
4100
  * The total number of matches for the search query. The first 1000 matches can be paged through via the API.
@@ -3414,14 +4102,12 @@ export interface StorySearchResults {
3414
4102
  */
3415
4103
  total: number;
3416
4104
  /** A list of search results. */
3417
- data: Story[];
4105
+ data: StorySearchResult[];
3418
4106
  /** The URL path and query string for the next page of search results. */
3419
4107
  next?: string | null;
3420
4108
  cursors?: string[];
3421
4109
  }
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
- */
4110
+ /** 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. */
3425
4111
  export interface StorySlim {
3426
4112
  /** The Shortcut application url for the Story. */
3427
4113
  app_url: string;
@@ -3441,10 +4127,14 @@ export interface StorySlim {
3441
4127
  task_ids: number[];
3442
4128
  /** Deprecated: use member_mention_ids. */
3443
4129
  mention_ids: string[];
4130
+ /** The synced item for the story. */
4131
+ synced_item?: SyncedItem;
3444
4132
  /** An array of Member IDs that have been mentioned in the Story description. */
3445
4133
  member_mention_ids: string[];
3446
4134
  /** The type of story (feature, bug, chore). */
3447
4135
  story_type: string;
4136
+ /** An array of CustomField value assertions for the story. */
4137
+ custom_fields?: StoryCustomField[];
3448
4138
  /** An array of IDs of Files attached to the story. */
3449
4139
  file_ids: number[];
3450
4140
  /**
@@ -3474,6 +4164,7 @@ export interface StorySlim {
3474
4164
  completed_at?: string | null;
3475
4165
  /** The name of the story. */
3476
4166
  name: string;
4167
+ global_id: string;
3477
4168
  /** A true/false boolean indicating if the Story has been completed. */
3478
4169
  completed: boolean;
3479
4170
  /** A true/false boolean indicating if the Story is currently a blocker of another story. */
@@ -3483,6 +4174,8 @@ export interface StorySlim {
3483
4174
  * @format int64
3484
4175
  */
3485
4176
  epic_id?: number | null;
4177
+ /** The IDs of any unresolved blocker comments on the Story. */
4178
+ unresolved_blocker_comments?: number[];
3486
4179
  /**
3487
4180
  * The ID of the story template used to create this story, or null if not created using a template.
3488
4181
  * @format uuid
@@ -3586,9 +4279,7 @@ export interface StorySlim {
3586
4279
  */
3587
4280
  moved_at?: string | null;
3588
4281
  }
3589
- /**
3590
- * The stats object for Stories
3591
- */
4282
+ /** The stats object for Stories */
3592
4283
  export interface StoryStats {
3593
4284
  /**
3594
4285
  * The number of documents related to this Story.
@@ -3596,6 +4287,14 @@ export interface StoryStats {
3596
4287
  */
3597
4288
  num_related_documents: number;
3598
4289
  }
4290
+ /** The synced item for the story. */
4291
+ export interface SyncedItem {
4292
+ /** The id used to reference an external entity. */
4293
+ external_id: string;
4294
+ /** The url to the external entity. */
4295
+ url: string;
4296
+ }
4297
+ /** A Task on a Story. */
3599
4298
  export interface Task {
3600
4299
  /** Full text of the Task. */
3601
4300
  description: string;
@@ -3644,9 +4343,7 @@ export interface Task {
3644
4343
  */
3645
4344
  created_at: string;
3646
4345
  }
3647
- /**
3648
- * Comments associated with Epic Discussions.
3649
- */
4346
+ /** Comments associated with Epic Discussions. */
3650
4347
  export interface ThreadedComment {
3651
4348
  /** The Shortcut application url for the Comment. */
3652
4349
  app_url: string;
@@ -3687,9 +4384,7 @@ export interface ThreadedComment {
3687
4384
  /** The text of the Comment. */
3688
4385
  text: string;
3689
4386
  }
3690
- /**
3691
- * The type of Story Link. The string can be subject or object.
3692
- */
4387
+ /** The type of Story Link. The string can be subject or object. */
3693
4388
  export interface TypedStoryLink {
3694
4389
  /** A string description of this resource. */
3695
4390
  entity_type: string;
@@ -3730,18 +4425,30 @@ export interface TypedStoryLink {
3730
4425
  }
3731
4426
  export interface UnusableEntitlementError {
3732
4427
  /** The tag for violating an entitlement action. */
3733
- reason_tag: "entitlement-violation";
3734
- /** Short tag describing the unusable entitlement action taken by the user. */
4428
+ reason_tag: 'entitlement-violation';
4429
+ /**
4430
+ * Short tag describing the unusable entitlement action taken by the user.
4431
+ * @minLength 1
4432
+ * @maxLength 63
4433
+ */
3735
4434
  entitlement_tag: string;
3736
- /** Message displayed to the user on why their action failed. */
4435
+ /**
4436
+ * Message displayed to the user on why their action failed.
4437
+ * @minLength 1
4438
+ * @maxLength 256
4439
+ */
3737
4440
  message: string;
3738
4441
  }
3739
4442
  export interface UpdateCategory {
3740
- /** The new name of the Category. */
4443
+ /**
4444
+ * The new name of the Category.
4445
+ * @minLength 1
4446
+ */
3741
4447
  name?: string;
3742
4448
  /**
3743
4449
  * The hex color to be displayed with the Category (for example, "#ff0000").
3744
4450
  * @format css-color
4451
+ * @minLength 1
3745
4452
  * @pattern ^#[a-fA-F0-9]{6}$
3746
4453
  */
3747
4454
  color?: string | null;
@@ -3752,18 +4459,71 @@ export interface UpdateComment {
3752
4459
  /** The updated comment text. */
3753
4460
  text: string;
3754
4461
  }
4462
+ export interface UpdateCustomField {
4463
+ /** Indicates whether the Field is enabled for the Workspace. Only enabled fields can be applied to Stories. */
4464
+ enabled?: boolean;
4465
+ /**
4466
+ * A collection of objects representing reporting periods for years.
4467
+ * @minLength 1
4468
+ * @maxLength 63
4469
+ */
4470
+ name?: string;
4471
+ /** A collection of EnumValue objects representing the values in the domain of some Custom Field. */
4472
+ values?: UpdateCustomFieldEnumValue[];
4473
+ /**
4474
+ * A frontend-controlled string that represents the icon for this custom field.
4475
+ * @minLength 1
4476
+ * @maxLength 63
4477
+ */
4478
+ icon_set_identifier?: string;
4479
+ /** A description of the purpose of this field. */
4480
+ description?: string;
4481
+ /**
4482
+ * The ID of the CustomField we want to move this CustomField before.
4483
+ * @format uuid
4484
+ */
4485
+ before_id?: string;
4486
+ /**
4487
+ * The ID of the CustomField we want to move this CustomField after.
4488
+ * @format uuid
4489
+ */
4490
+ after_id?: string;
4491
+ }
4492
+ export interface UpdateCustomFieldEnumValue {
4493
+ /**
4494
+ * The unique ID of an existing EnumValue within the CustomField's domain.
4495
+ * @format uuid
4496
+ */
4497
+ id?: string;
4498
+ /**
4499
+ * A string value within the domain of this Custom Field.
4500
+ * @minLength 1
4501
+ * @maxLength 63
4502
+ */
4503
+ value?: string;
4504
+ /** A color key associated with this EnumValue within the CustomField's domain. */
4505
+ color_key?: string | null;
4506
+ /** Whether this EnumValue is enabled for its CustomField or not. Leaving this key out of the request leaves the current enabled state untouched. */
4507
+ enabled?: boolean;
4508
+ }
3755
4509
  /**
3756
- * Request parameters for changing either a template's name or any of
3757
- the attributes it is designed to pre-populate.
3758
- */
4510
+ * Request parameters for changing either a template's name or any of
4511
+ * the attributes it is designed to pre-populate.
4512
+ */
3759
4513
  export interface UpdateEntityTemplate {
3760
- /** The updated template name. */
4514
+ /**
4515
+ * The updated template name.
4516
+ * @minLength 1
4517
+ */
3761
4518
  name?: string;
3762
4519
  /** Updated attributes for the template to populate. */
3763
4520
  story_contents?: UpdateStoryContents;
3764
4521
  }
3765
4522
  export interface UpdateEpic {
3766
- /** The Epic's description. */
4523
+ /**
4524
+ * The Epic's description.
4525
+ * @maxLength 100000
4526
+ */
3767
4527
  description?: string;
3768
4528
  /** A true/false boolean indicating whether the Epic is in archived state. */
3769
4529
  archived?: boolean;
@@ -3774,7 +4534,11 @@ export interface UpdateEpic {
3774
4534
  * @format date-time
3775
4535
  */
3776
4536
  completed_at_override?: string | null;
3777
- /** The Epic's name. */
4537
+ /**
4538
+ * The Epic's name.
4539
+ * @minLength 1
4540
+ * @maxLength 256
4541
+ */
3778
4542
  name?: string;
3779
4543
  /**
3780
4544
  * The Epic's planned start date.
@@ -3782,7 +4546,7 @@ export interface UpdateEpic {
3782
4546
  */
3783
4547
  planned_start_date?: string | null;
3784
4548
  /** `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";
4549
+ state?: 'in progress' | 'to do' | 'done';
3786
4550
  /**
3787
4551
  * The ID of the Milestone this Epic is related to.
3788
4552
  * @format int64
@@ -3812,6 +4576,8 @@ export interface UpdateEpic {
3812
4576
  follower_ids?: string[];
3813
4577
  /** An array of UUIDs for any members you want to add as Owners on this Epic. */
3814
4578
  owner_ids?: string[];
4579
+ /** 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. */
4580
+ external_id?: string;
3815
4581
  /**
3816
4582
  * The ID of the Epic we want to move this Epic before.
3817
4583
  * @format int64
@@ -3841,7 +4607,11 @@ export interface UpdateFile {
3841
4607
  * @format date-time
3842
4608
  */
3843
4609
  updated_at?: string;
3844
- /** The name of the file. */
4610
+ /**
4611
+ * The name of the file.
4612
+ * @minLength 1
4613
+ * @maxLength 1024
4614
+ */
3845
4615
  name?: string;
3846
4616
  /**
3847
4617
  * The unique ID assigned to the Member who uploaded the file to Shortcut.
@@ -3859,6 +4629,7 @@ export interface UpdateGroup {
3859
4629
  /**
3860
4630
  * The color you wish to use for the Group in the system.
3861
4631
  * @format css-color
4632
+ * @minLength 1
3862
4633
  * @pattern ^#[a-fA-F0-9]{6}$
3863
4634
  */
3864
4635
  color?: string | null;
@@ -3867,13 +4638,24 @@ export interface UpdateGroup {
3867
4638
  * @format uuid
3868
4639
  */
3869
4640
  display_icon_id?: string | null;
3870
- /** The mention name of this Group. */
4641
+ /**
4642
+ * The mention name of this Group.
4643
+ * @minLength 1
4644
+ * @maxLength 63
4645
+ */
3871
4646
  mention_name?: string;
3872
- /** The name of this Group. */
4647
+ /**
4648
+ * The name of this Group.
4649
+ * @minLength 1
4650
+ * @maxLength 63
4651
+ */
3873
4652
  name?: string;
3874
4653
  /** 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. */
4654
+ color_key?: 'blue' | 'purple' | 'midnight-blue' | 'orange' | 'yellow-green' | 'brass' | 'gray' | 'fuchsia' | 'yellow' | 'pink' | 'sky-blue' | 'green' | 'red' | 'black' | 'slate' | 'turquoise';
4655
+ /**
4656
+ * The Member ids to add to this Group.
4657
+ * @uniqueItems true
4658
+ */
3877
4659
  member_ids?: string[];
3878
4660
  /** The Workflow ids to add to the Group. */
3879
4661
  workflow_ids?: number[];
@@ -3885,23 +4667,41 @@ export interface UpdateIteration {
3885
4667
  group_ids?: string[];
3886
4668
  /** An array of Labels attached to the Iteration. */
3887
4669
  labels?: CreateLabelParams[];
3888
- /** The description of the Iteration. */
4670
+ /**
4671
+ * The description of the Iteration.
4672
+ * @maxLength 100000
4673
+ */
3889
4674
  description?: string;
3890
- /** The name of this Iteration */
4675
+ /**
4676
+ * The name of this Iteration
4677
+ * @minLength 1
4678
+ * @maxLength 256
4679
+ */
3891
4680
  name?: string;
3892
- /** The date this Iteration begins, e.g. 2019-07-01 */
4681
+ /**
4682
+ * The date this Iteration begins, e.g. 2019-07-01
4683
+ * @minLength 1
4684
+ */
3893
4685
  start_date?: string;
3894
- /** The date this Iteration ends, e.g. 2019-07-05. */
4686
+ /**
4687
+ * The date this Iteration ends, e.g. 2019-07-05.
4688
+ * @minLength 1
4689
+ */
3895
4690
  end_date?: string;
3896
4691
  }
3897
4692
  export interface UpdateLabel {
3898
- /** The new name of the label. */
4693
+ /**
4694
+ * The new name of the label.
4695
+ * @minLength 1
4696
+ * @maxLength 128
4697
+ */
3899
4698
  name?: string;
3900
4699
  /** The new description of the label. */
3901
4700
  description?: string;
3902
4701
  /**
3903
4702
  * The hex color to be displayed with the Label (for example, "#ff0000").
3904
4703
  * @format css-color
4704
+ * @minLength 1
3905
4705
  * @pattern ^#[a-fA-F0-9]{6}$
3906
4706
  */
3907
4707
  color?: string | null;
@@ -3916,15 +4716,19 @@ export interface UpdateLinkedFile {
3916
4716
  * @format int64
3917
4717
  */
3918
4718
  story_id?: number;
3919
- /** The name of the file. */
4719
+ /**
4720
+ * The name of the file.
4721
+ * @minLength 1
4722
+ */
3920
4723
  name?: string;
3921
4724
  /**
3922
4725
  * The URL of the thumbnail, if the integration provided it.
4726
+ * @maxLength 2048
3923
4727
  * @pattern ^https?://.+$
3924
4728
  */
3925
4729
  thumbnail_url?: string;
3926
4730
  /** The integration type of the file (e.g. google, dropbox, box). */
3927
- type?: "google" | "url" | "dropbox" | "box" | "onedrive";
4731
+ type?: 'google' | 'url' | 'dropbox' | 'box' | 'onedrive';
3928
4732
  /**
3929
4733
  * The filesize, if the integration provided it.
3930
4734
  * @format int64
@@ -3937,22 +4741,32 @@ export interface UpdateLinkedFile {
3937
4741
  uploader_id?: string;
3938
4742
  /**
3939
4743
  * The URL of linked file.
4744
+ * @maxLength 2048
3940
4745
  * @pattern ^https?://.+$
3941
4746
  */
3942
4747
  url?: string;
3943
4748
  }
3944
4749
  export interface UpdateMilestone {
3945
- /** The Milestone's description. */
4750
+ /**
4751
+ * The Milestone's description.
4752
+ * @maxLength 100000
4753
+ */
3946
4754
  description?: string;
4755
+ /** A boolean indicating whether the Milestone is archived or not */
4756
+ archived?: boolean;
3947
4757
  /**
3948
4758
  * A manual override for the time/date the Milestone was completed.
3949
4759
  * @format date-time
3950
4760
  */
3951
4761
  completed_at_override?: string | null;
3952
- /** The name of the Milestone. */
4762
+ /**
4763
+ * The name of the Milestone.
4764
+ * @minLength 1
4765
+ * @maxLength 256
4766
+ */
3953
4767
  name?: string;
3954
4768
  /** The workflow state that the Milestone is in. */
3955
- state?: "in progress" | "to do" | "done";
4769
+ state?: 'in progress' | 'to do' | 'done';
3956
4770
  /**
3957
4771
  * A manual override for the time/date the Milestone was started.
3958
4772
  * @format date-time
@@ -3972,7 +4786,10 @@ export interface UpdateMilestone {
3972
4786
  after_id?: number;
3973
4787
  }
3974
4788
  export interface UpdateProject {
3975
- /** The Project's description. */
4789
+ /**
4790
+ * The Project's description.
4791
+ * @maxLength 100000
4792
+ */
3976
4793
  description?: string;
3977
4794
  /** A true/false boolean indicating whether the Story is in archived state. */
3978
4795
  archived?: boolean;
@@ -3984,10 +4801,15 @@ export interface UpdateProject {
3984
4801
  /**
3985
4802
  * The color that represents the Project in the UI.
3986
4803
  * @format css-color
4804
+ * @minLength 1
3987
4805
  * @pattern ^#[a-fA-F0-9]{6}$
3988
4806
  */
3989
4807
  color?: string;
3990
- /** The Project's name. */
4808
+ /**
4809
+ * The Project's name.
4810
+ * @minLength 1
4811
+ * @maxLength 128
4812
+ */
3991
4813
  name?: string;
3992
4814
  /** An array of UUIDs for any Members you want to add as Followers. */
3993
4815
  follower_ids?: string[];
@@ -4004,13 +4826,19 @@ export interface UpdateProject {
4004
4826
  export interface UpdateStories {
4005
4827
  /** If the Stories should be archived or not. */
4006
4828
  archived?: boolean;
4007
- /** The Ids of the Stories you wish to update. */
4829
+ /**
4830
+ * The Ids of the Stories you wish to update.
4831
+ * @uniqueItems true
4832
+ */
4008
4833
  story_ids: number[];
4009
4834
  /** The type of story (feature, bug, chore). */
4010
- story_type?: "feature" | "chore" | "bug";
4835
+ story_type?: 'feature' | 'chore' | 'bug';
4011
4836
  /** 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. */
4837
+ move_to?: 'last' | 'first';
4838
+ /**
4839
+ * The UUIDs of the new followers to be added.
4840
+ * @uniqueItems true
4841
+ */
4014
4842
  follower_ids_add?: string[];
4015
4843
  /**
4016
4844
  * The ID of the epic the story belongs to.
@@ -4019,7 +4847,10 @@ export interface UpdateStories {
4019
4847
  epic_id?: number | null;
4020
4848
  /** An array of External Links associated with this story. */
4021
4849
  external_links?: string[];
4022
- /** The UUIDs of the followers to be removed. */
4850
+ /**
4851
+ * The UUIDs of the followers to be removed.
4852
+ * @uniqueItems true
4853
+ */
4023
4854
  follower_ids_remove?: string[];
4024
4855
  /**
4025
4856
  * The ID of the member that requested the story.
@@ -4031,6 +4862,8 @@ export interface UpdateStories {
4031
4862
  * @format int64
4032
4863
  */
4033
4864
  iteration_id?: number | null;
4865
+ /** A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
4866
+ custom_fields_remove?: CustomFieldValueParams[];
4034
4867
  /** An array of labels to be added. */
4035
4868
  labels_add?: CreateLabelParams[];
4036
4869
  /**
@@ -4058,8 +4891,13 @@ export interface UpdateStories {
4058
4891
  * @format int64
4059
4892
  */
4060
4893
  after_id?: number;
4061
- /** The UUIDs of the owners to be removed. */
4894
+ /**
4895
+ * The UUIDs of the owners to be removed.
4896
+ * @uniqueItems true
4897
+ */
4062
4898
  owner_ids_remove?: string[];
4899
+ /** A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
4900
+ custom_fields_add?: CustomFieldValueParams[];
4063
4901
  /**
4064
4902
  * The ID of the Project the Stories should belong to.
4065
4903
  * @format int64
@@ -4072,30 +4910,48 @@ export interface UpdateStories {
4072
4910
  * @format date-time
4073
4911
  */
4074
4912
  deadline?: string | null;
4075
- /** The UUIDs of the new owners to be added. */
4913
+ /**
4914
+ * The UUIDs of the new owners to be added.
4915
+ * @uniqueItems true
4916
+ */
4076
4917
  owner_ids_add?: string[];
4077
4918
  }
4078
4919
  export interface UpdateStory {
4079
- /** The description of the story. */
4920
+ /**
4921
+ * The description of the story.
4922
+ * @maxLength 100000
4923
+ */
4080
4924
  description?: string;
4081
4925
  /** True if the story is archived, otherwise false. */
4082
4926
  archived?: boolean;
4083
4927
  /** An array of labels attached to the story. */
4084
4928
  labels?: CreateLabelParams[];
4085
- /** An array of IDs of Pull/Merge Requests attached to the story. */
4929
+ /**
4930
+ * An array of IDs of Pull/Merge Requests attached to the story.
4931
+ * @uniqueItems true
4932
+ */
4086
4933
  pull_request_ids?: number[];
4087
4934
  /** The type of story (feature, bug, chore). */
4088
- story_type?: "feature" | "chore" | "bug";
4935
+ story_type?: 'feature' | 'chore' | 'bug';
4936
+ /** A map specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
4937
+ custom_fields?: CustomFieldValueParams[];
4089
4938
  /** 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. */
4939
+ move_to?: 'last' | 'first';
4940
+ /**
4941
+ * An array of IDs of files attached to the story.
4942
+ * @uniqueItems true
4943
+ */
4092
4944
  file_ids?: number[];
4093
4945
  /**
4094
4946
  * A manual override for the time/date the Story was completed.
4095
4947
  * @format date-time
4096
4948
  */
4097
4949
  completed_at_override?: string | null;
4098
- /** The title of the story. */
4950
+ /**
4951
+ * The title of the story.
4952
+ * @minLength 1
4953
+ * @maxLength 512
4954
+ */
4099
4955
  name?: string;
4100
4956
  /**
4101
4957
  * The ID of the epic the story belongs to.
@@ -4104,9 +4960,15 @@ export interface UpdateStory {
4104
4960
  epic_id?: number | null;
4105
4961
  /** An array of External Links associated with this story. */
4106
4962
  external_links?: string[];
4107
- /** An array of IDs of Branches attached to the story. */
4963
+ /**
4964
+ * An array of IDs of Branches attached to the story.
4965
+ * @uniqueItems true
4966
+ */
4108
4967
  branch_ids?: number[];
4109
- /** An array of IDs of Commits attached to the story. */
4968
+ /**
4969
+ * An array of IDs of Commits attached to the story.
4970
+ * @uniqueItems true
4971
+ */
4110
4972
  commit_ids?: number[];
4111
4973
  /**
4112
4974
  * The ID of the member that requested the story.
@@ -4133,9 +4995,15 @@ export interface UpdateStory {
4133
4995
  * @format int64
4134
4996
  */
4135
4997
  workflow_state_id?: number;
4136
- /** An array of UUIDs of the followers of this story. */
4998
+ /**
4999
+ * An array of UUIDs of the followers of this story.
5000
+ * @uniqueItems true
5001
+ */
4137
5002
  follower_ids?: string[];
4138
- /** An array of UUIDs of the owners of this story. */
5003
+ /**
5004
+ * An array of UUIDs of the owners of this story.
5005
+ * @uniqueItems true
5006
+ */
4139
5007
  owner_ids?: string[];
4140
5008
  /**
4141
5009
  * The ID of the story we want to move this story before.
@@ -4157,7 +5025,10 @@ export interface UpdateStory {
4157
5025
  * @format int64
4158
5026
  */
4159
5027
  project_id?: number | null;
4160
- /** An array of IDs of linked files attached to the story. */
5028
+ /**
5029
+ * An array of IDs of linked files attached to the story.
5030
+ * @uniqueItems true
5031
+ */
4161
5032
  linked_file_ids?: number[];
4162
5033
  /**
4163
5034
  * The due date of the story.
@@ -4166,12 +5037,13 @@ export interface UpdateStory {
4166
5037
  deadline?: string | null;
4167
5038
  }
4168
5039
  export interface UpdateStoryComment {
4169
- /** The updated comment text. */
5040
+ /**
5041
+ * The updated comment text.
5042
+ * @maxLength 100000
5043
+ */
4170
5044
  text: string;
4171
5045
  }
4172
- /**
4173
- * Updated attributes for the template to populate.
4174
- */
5046
+ /** Updated attributes for the template to populate. */
4175
5047
  export interface UpdateStoryContents {
4176
5048
  /** The description of the story. */
4177
5049
  description?: string;
@@ -4181,9 +5053,14 @@ export interface UpdateStoryContents {
4181
5053
  labels?: CreateLabelParams[];
4182
5054
  /** The type of story (feature, bug, chore). */
4183
5055
  story_type?: string;
5056
+ /** An array of maps specifying a CustomField ID and CustomFieldEnumValue ID that represents an assertion of some value for a CustomField. */
5057
+ custom_fields?: CustomFieldValueParams[];
4184
5058
  /** An array of linked files attached to the story. */
4185
5059
  linked_files?: LinkedFile[];
4186
- /** An array of the attached file IDs to be populated. */
5060
+ /**
5061
+ * An array of the attached file IDs to be populated.
5062
+ * @uniqueItems true
5063
+ */
4187
5064
  file_ids?: number[];
4188
5065
  /** The name of the story. */
4189
5066
  name?: string;
@@ -4229,7 +5106,10 @@ export interface UpdateStoryContents {
4229
5106
  * @format int64
4230
5107
  */
4231
5108
  project_id?: number | null;
4232
- /** An array of the linked file IDs to be populated. */
5109
+ /**
5110
+ * An array of the linked file IDs to be populated.
5111
+ * @uniqueItems true
5112
+ */
4233
5113
  linked_file_ids?: number[];
4234
5114
  /**
4235
5115
  * The due date of the story.
@@ -4239,7 +5119,7 @@ export interface UpdateStoryContents {
4239
5119
  }
4240
5120
  export interface UpdateStoryLink {
4241
5121
  /** The type of link. */
4242
- verb?: "blocks" | "duplicates" | "relates to";
5122
+ verb?: 'blocks' | 'duplicates' | 'relates to';
4243
5123
  /**
4244
5124
  * The ID of the subject Story.
4245
5125
  * @format int64
@@ -4252,7 +5132,11 @@ export interface UpdateStoryLink {
4252
5132
  object_id?: number;
4253
5133
  }
4254
5134
  export interface UpdateTask {
4255
- /** The Task's description. */
5135
+ /**
5136
+ * The Task's description.
5137
+ * @minLength 1
5138
+ * @maxLength 2048
5139
+ */
4256
5140
  description?: string;
4257
5141
  /** An array of UUIDs of the owners of this story. */
4258
5142
  owner_ids?: string[];
@@ -4269,9 +5153,7 @@ export interface UpdateTask {
4269
5153
  */
4270
5154
  after_id?: number;
4271
5155
  }
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
- */
5156
+ /** An UploadedFile is any document uploaded to your Shortcut Workspace. Files attached from a third-party service are different: see the Linked Files endpoint. */
4275
5157
  export interface UploadedFile {
4276
5158
  /** The description of the file. */
4277
5159
  description?: string | null;
@@ -4323,9 +5205,7 @@ export interface UploadedFile {
4323
5205
  */
4324
5206
  created_at: string;
4325
5207
  }
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
- */
5208
+ /** Workflow is the array of defined Workflow States. Workflow can be queried using the API but must be updated in the Shortcut UI. */
4329
5209
  export interface Workflow {
4330
5210
  /** A description of the workflow. */
4331
5211
  description: string;
@@ -4365,9 +5245,7 @@ export interface Workflow {
4365
5245
  */
4366
5246
  default_state_id: number;
4367
5247
  }
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
- */
5248
+ /** Workflow State is any of the at least 3 columns. Workflow States correspond to one of 3 types: Unstarted, Started, or Done. */
4371
5249
  export interface WorkflowState {
4372
5250
  /** The description of what sort of Stories belong in that Workflow state. */
4373
5251
  description: string;
@@ -4376,6 +5254,7 @@ export interface WorkflowState {
4376
5254
  /**
4377
5255
  * The hex color for this Workflow State.
4378
5256
  * @format css-color
5257
+ * @minLength 1
4379
5258
  * @pattern ^#[a-fA-F0-9]{6}$
4380
5259
  */
4381
5260
  color?: string;
@@ -4383,6 +5262,7 @@ export interface WorkflowState {
4383
5262
  verb?: string | null;
4384
5263
  /** The Workflow State's name. */
4385
5264
  name: string;
5265
+ global_id: string;
4386
5266
  /**
4387
5267
  * The number of Stories currently in that Workflow State.
4388
5268
  * @format int64