@crvouga/mockingbird-service-plane 1.7.1 → 2.0.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.
package/openapi.yaml ADDED
@@ -0,0 +1,1014 @@
1
+ openapi: 3.1.0
2
+ info:
3
+ title: Plane REST API (Mockingbird subset)
4
+ description: 'Stateful mock subset of Plane''s public REST API v1 for one project: work items (cursor-paginated
5
+ list, get, create, patch), comments, links, states and labels. Hand-authored from Plane''s API reference
6
+ and the consumer''s zod schemas (plane-response.ts).
7
+
8
+ '
9
+ version: '1'
10
+ x-mockingbird-upstream:
11
+ note: 'Shapes from https://developers.plane.so/api-reference; consumer: apps/backend/src/modules/bug-reports/adapters/native-fetch-plane.adapter.ts,
12
+ plane-http-client.ts, plane-response.ts.'
13
+ servers:
14
+ - url: https://api.plane.so
15
+ security:
16
+ - apiKey: []
17
+ paths:
18
+ /api/v1/workspaces/{slug}/projects/{project_id}/work-items/:
19
+ get:
20
+ operationId: ListWorkItems
21
+ description: Cursor-paginated work items (`cursor=<per_page>:<page>:<is_prev>`).
22
+ x-mockingbird:
23
+ supported: true
24
+ parity:
25
+ enabled: true
26
+ safe: true
27
+ responses:
28
+ '200':
29
+ description: A page
30
+ content:
31
+ application/json:
32
+ schema:
33
+ $ref: '#/components/schemas/WorkItemPage'
34
+ '400':
35
+ description: Invalid cursor
36
+ content:
37
+ application/json:
38
+ schema:
39
+ $ref: '#/components/schemas/ErrorBody'
40
+ '401': &id001
41
+ $ref: '#/components/responses/Unauthorized'
42
+ '404': &id002
43
+ $ref: '#/components/responses/NotFound'
44
+ '429': &id003
45
+ $ref: '#/components/responses/Throttled'
46
+ parameters:
47
+ - &id005
48
+ $ref: '#/components/parameters/PerPage'
49
+ - &id006
50
+ $ref: '#/components/parameters/Cursor'
51
+ - $ref: '#/components/parameters/OrderBy'
52
+ post:
53
+ operationId: CreateWorkItem
54
+ description: Create a work item.
55
+ x-mockingbird:
56
+ supported: true
57
+ parity:
58
+ enabled: true
59
+ safe: false
60
+ responses:
61
+ '201':
62
+ description: Created
63
+ content:
64
+ application/json:
65
+ schema:
66
+ $ref: '#/components/schemas/WorkItem'
67
+ '400': &id004
68
+ description: Validation failed
69
+ content:
70
+ application/json:
71
+ schema:
72
+ $ref: '#/components/schemas/ValidationError'
73
+ '401': *id001
74
+ '404': *id002
75
+ '429': *id003
76
+ requestBody:
77
+ required: true
78
+ content:
79
+ application/json:
80
+ schema:
81
+ $ref: '#/components/schemas/CreateWorkItemBody'
82
+ parameters:
83
+ - $ref: '#/components/parameters/Slug'
84
+ - $ref: '#/components/parameters/ProjectId'
85
+ /api/v1/workspaces/{slug}/projects/{project_id}/work-items/{work_item_id}/:
86
+ parameters:
87
+ - $ref: '#/components/parameters/Slug'
88
+ - $ref: '#/components/parameters/ProjectId'
89
+ - $ref: '#/components/parameters/WorkItemId'
90
+ get:
91
+ operationId: GetWorkItem
92
+ description: One work item.
93
+ x-mockingbird:
94
+ supported: true
95
+ parity:
96
+ enabled: true
97
+ safe: true
98
+ responses:
99
+ '200':
100
+ description: The work item
101
+ content:
102
+ application/json:
103
+ schema:
104
+ $ref: '#/components/schemas/WorkItem'
105
+ '401': *id001
106
+ '404': *id002
107
+ '429': *id003
108
+ patch:
109
+ operationId: UpdateWorkItem
110
+ description: Partial update (the consumer sends `state` or `labels`).
111
+ x-mockingbird:
112
+ supported: true
113
+ parity:
114
+ enabled: true
115
+ safe: false
116
+ responses:
117
+ '200':
118
+ description: Updated
119
+ content:
120
+ application/json:
121
+ schema:
122
+ $ref: '#/components/schemas/WorkItem'
123
+ '400': *id004
124
+ '401': *id001
125
+ '404': *id002
126
+ '429': *id003
127
+ requestBody:
128
+ required: true
129
+ content:
130
+ application/json:
131
+ schema:
132
+ $ref: '#/components/schemas/UpdateWorkItemBody'
133
+ /api/v1/workspaces/{slug}/projects/{project_id}/work-items/{work_item_id}/comments/:
134
+ parameters:
135
+ - $ref: '#/components/parameters/Slug'
136
+ - $ref: '#/components/parameters/ProjectId'
137
+ - $ref: '#/components/parameters/WorkItemId'
138
+ get:
139
+ operationId: ListComments
140
+ description: Comments on a work item.
141
+ x-mockingbird:
142
+ supported: true
143
+ parity:
144
+ enabled: true
145
+ safe: true
146
+ responses:
147
+ '200':
148
+ description: A page
149
+ content:
150
+ application/json:
151
+ schema:
152
+ $ref: '#/components/schemas/CommentPage'
153
+ '400':
154
+ description: Invalid cursor
155
+ content:
156
+ application/json:
157
+ schema:
158
+ $ref: '#/components/schemas/ErrorBody'
159
+ '401': *id001
160
+ '404': *id002
161
+ '429': *id003
162
+ parameters: &id007
163
+ - *id005
164
+ - *id006
165
+ post:
166
+ operationId: CreateComment
167
+ description: Add a comment.
168
+ x-mockingbird:
169
+ supported: true
170
+ parity:
171
+ enabled: true
172
+ safe: false
173
+ responses:
174
+ '201':
175
+ description: Created
176
+ content:
177
+ application/json:
178
+ schema:
179
+ $ref: '#/components/schemas/Comment'
180
+ '400': *id004
181
+ '401': *id001
182
+ '404': *id002
183
+ '429': *id003
184
+ requestBody:
185
+ required: true
186
+ content:
187
+ application/json:
188
+ schema:
189
+ $ref: '#/components/schemas/CreateCommentBody'
190
+ /api/v1/workspaces/{slug}/projects/{project_id}/work-items/{work_item_id}/links/:
191
+ parameters:
192
+ - $ref: '#/components/parameters/Slug'
193
+ - $ref: '#/components/parameters/ProjectId'
194
+ - $ref: '#/components/parameters/WorkItemId'
195
+ get:
196
+ operationId: ListLinks
197
+ description: Links on a work item.
198
+ x-mockingbird:
199
+ supported: true
200
+ parity:
201
+ enabled: true
202
+ safe: true
203
+ responses:
204
+ '200':
205
+ description: A page
206
+ content:
207
+ application/json:
208
+ schema:
209
+ $ref: '#/components/schemas/LinkPage'
210
+ '400':
211
+ description: Invalid cursor
212
+ content:
213
+ application/json:
214
+ schema:
215
+ $ref: '#/components/schemas/ErrorBody'
216
+ '401': *id001
217
+ '404': *id002
218
+ '429': *id003
219
+ parameters: *id007
220
+ post:
221
+ operationId: CreateLink
222
+ description: Attach a link (the same URL twice is a 400).
223
+ x-mockingbird:
224
+ supported: true
225
+ parity:
226
+ enabled: true
227
+ safe: false
228
+ responses:
229
+ '201':
230
+ description: Created
231
+ content:
232
+ application/json:
233
+ schema:
234
+ $ref: '#/components/schemas/Link'
235
+ '400': *id004
236
+ '401': *id001
237
+ '404': *id002
238
+ '429': *id003
239
+ '409':
240
+ description: The URL is already linked (carries the existing link id)
241
+ content:
242
+ application/json:
243
+ schema:
244
+ $ref: '#/components/schemas/ErrorBody'
245
+ requestBody:
246
+ required: true
247
+ content:
248
+ application/json:
249
+ schema:
250
+ $ref: '#/components/schemas/CreateLinkBody'
251
+ /api/v1/workspaces/{slug}/projects/{project_id}/states/:
252
+ get:
253
+ operationId: ListStates
254
+ description: The project's workflow states.
255
+ x-mockingbird:
256
+ supported: true
257
+ parity:
258
+ enabled: true
259
+ safe: true
260
+ responses:
261
+ '200':
262
+ description: A page
263
+ content:
264
+ application/json:
265
+ schema:
266
+ $ref: '#/components/schemas/StatePage'
267
+ '400':
268
+ description: Invalid cursor
269
+ content:
270
+ application/json:
271
+ schema:
272
+ $ref: '#/components/schemas/ErrorBody'
273
+ '401': *id001
274
+ '404': *id002
275
+ '429': *id003
276
+ parameters: *id007
277
+ parameters:
278
+ - $ref: '#/components/parameters/Slug'
279
+ - $ref: '#/components/parameters/ProjectId'
280
+ /api/v1/workspaces/{slug}/projects/{project_id}/labels/:
281
+ get:
282
+ operationId: ListLabels
283
+ description: The project's labels.
284
+ x-mockingbird:
285
+ supported: true
286
+ parity:
287
+ enabled: true
288
+ safe: true
289
+ responses:
290
+ '200':
291
+ description: A page
292
+ content:
293
+ application/json:
294
+ schema:
295
+ $ref: '#/components/schemas/LabelPage'
296
+ '400':
297
+ description: Invalid cursor
298
+ content:
299
+ application/json:
300
+ schema:
301
+ $ref: '#/components/schemas/ErrorBody'
302
+ '401': *id001
303
+ '404': *id002
304
+ '429': *id003
305
+ parameters: *id007
306
+ post:
307
+ operationId: CreateLabel
308
+ description: Create a label (a duplicate name is a 409 carrying the existing id).
309
+ x-mockingbird:
310
+ supported: true
311
+ parity:
312
+ enabled: true
313
+ safe: false
314
+ responses:
315
+ '201':
316
+ description: Created
317
+ content:
318
+ application/json:
319
+ schema:
320
+ $ref: '#/components/schemas/Label'
321
+ '409':
322
+ description: Duplicate name
323
+ content:
324
+ application/json:
325
+ schema:
326
+ $ref: '#/components/schemas/ErrorBody'
327
+ '400': *id004
328
+ '401': *id001
329
+ '404': *id002
330
+ '429': *id003
331
+ requestBody:
332
+ required: true
333
+ content:
334
+ application/json:
335
+ schema:
336
+ $ref: '#/components/schemas/CreateLabelBody'
337
+ parameters:
338
+ - $ref: '#/components/parameters/Slug'
339
+ - $ref: '#/components/parameters/ProjectId'
340
+ components:
341
+ securitySchemes:
342
+ apiKey:
343
+ type: apiKey
344
+ in: header
345
+ name: X-API-Key
346
+ parameters:
347
+ Slug:
348
+ name: slug
349
+ in: path
350
+ required: true
351
+ schema:
352
+ type: string
353
+ enum:
354
+ - acme
355
+ ProjectId:
356
+ name: project_id
357
+ in: path
358
+ required: true
359
+ schema:
360
+ type: string
361
+ enum:
362
+ - 33333333-3333-4333-8333-333333333333
363
+ WorkItemId:
364
+ name: work_item_id
365
+ in: path
366
+ required: true
367
+ schema:
368
+ type: string
369
+ format: uuid
370
+ x-mockingbird-resource-ref:
371
+ type: work_item
372
+ missing: 00000000-0000-4000-8000-000000000000
373
+ PerPage:
374
+ name: per_page
375
+ in: query
376
+ required: false
377
+ schema:
378
+ type: integer
379
+ minimum: 1
380
+ maximum: 100
381
+ Cursor:
382
+ name: cursor
383
+ in: query
384
+ required: false
385
+ schema:
386
+ type: string
387
+ enum:
388
+ - '2:0:0'
389
+ - '2:1:0'
390
+ - '2:2:0'
391
+ - '100:0:0'
392
+ OrderBy:
393
+ name: order_by
394
+ in: query
395
+ required: false
396
+ schema:
397
+ type: string
398
+ enum:
399
+ - -created_at
400
+ - created_at
401
+ - sequence_id
402
+ - -sequence_id
403
+ - name
404
+ - -name
405
+ responses:
406
+ Unauthorized:
407
+ description: Missing or invalid X-API-Key
408
+ content:
409
+ application/json:
410
+ schema:
411
+ $ref: '#/components/schemas/ErrorBody'
412
+ NotFound:
413
+ description: Unknown workspace, project or item
414
+ content:
415
+ application/json:
416
+ schema:
417
+ $ref: '#/components/schemas/ErrorBody'
418
+ Throttled:
419
+ description: Rate limited (60 requests per minute per key)
420
+ content:
421
+ application/json:
422
+ schema:
423
+ $ref: '#/components/schemas/ErrorBody'
424
+ schemas:
425
+ WorkItem:
426
+ type: object
427
+ required:
428
+ - id
429
+ - sequence_id
430
+ - name
431
+ - description_html
432
+ - state
433
+ - labels
434
+ - priority
435
+ - created_at
436
+ - updated_at
437
+ - project
438
+ - workspace
439
+ properties:
440
+ id:
441
+ type: string
442
+ format: uuid
443
+ x-mockingbird-resource:
444
+ type: work_item
445
+ identity: true
446
+ x-mockingbird-volatile:
447
+ kind: id
448
+ sequence_id:
449
+ type: integer
450
+ name:
451
+ type: string
452
+ description_html:
453
+ type: string
454
+ description_stripped:
455
+ type:
456
+ - string
457
+ - 'null'
458
+ priority:
459
+ type: string
460
+ enum:
461
+ - urgent
462
+ - high
463
+ - medium
464
+ - low
465
+ - none
466
+ state:
467
+ type: string
468
+ x-mockingbird-volatile:
469
+ kind: id
470
+ labels:
471
+ type: array
472
+ items:
473
+ type: string
474
+ x-mockingbird-volatile:
475
+ kind: id
476
+ assignees:
477
+ type: array
478
+ items:
479
+ type: string
480
+ parent:
481
+ type:
482
+ - string
483
+ - 'null'
484
+ start_date:
485
+ type:
486
+ - string
487
+ - 'null'
488
+ target_date:
489
+ type:
490
+ - string
491
+ - 'null'
492
+ completed_at:
493
+ type:
494
+ - string
495
+ - 'null'
496
+ x-mockingbird-volatile:
497
+ kind: timestamp
498
+ archived_at:
499
+ type:
500
+ - string
501
+ - 'null'
502
+ is_draft:
503
+ type: boolean
504
+ sort_order:
505
+ type: number
506
+ project:
507
+ type: string
508
+ workspace:
509
+ type: string
510
+ created_by:
511
+ type:
512
+ - string
513
+ - 'null'
514
+ updated_by:
515
+ type:
516
+ - string
517
+ - 'null'
518
+ created_at: &id008
519
+ type: string
520
+ x-mockingbird-volatile:
521
+ kind: timestamp
522
+ updated_at: *id008
523
+ State:
524
+ type: object
525
+ required:
526
+ - id
527
+ - name
528
+ - group
529
+ - color
530
+ - sequence
531
+ - default
532
+ properties:
533
+ id:
534
+ type: string
535
+ format: uuid
536
+ x-mockingbird-resource:
537
+ type: state
538
+ identity: true
539
+ x-mockingbird-volatile:
540
+ kind: id
541
+ name:
542
+ type: string
543
+ group:
544
+ type: string
545
+ enum:
546
+ - backlog
547
+ - unstarted
548
+ - started
549
+ - completed
550
+ - cancelled
551
+ - triage
552
+ color:
553
+ type: string
554
+ sequence:
555
+ type: number
556
+ default:
557
+ type: boolean
558
+ description:
559
+ type: string
560
+ project:
561
+ type: string
562
+ workspace:
563
+ type: string
564
+ created_at: *id008
565
+ updated_at: *id008
566
+ Label:
567
+ type: object
568
+ required:
569
+ - id
570
+ - name
571
+ - color
572
+ properties:
573
+ id:
574
+ type: string
575
+ format: uuid
576
+ x-mockingbird-resource:
577
+ type: label
578
+ identity: true
579
+ x-mockingbird-volatile:
580
+ kind: id
581
+ name:
582
+ type: string
583
+ color:
584
+ type: string
585
+ description:
586
+ type: string
587
+ parent:
588
+ type:
589
+ - string
590
+ - 'null'
591
+ sort_order:
592
+ type: number
593
+ project:
594
+ type: string
595
+ workspace:
596
+ type: string
597
+ created_at: *id008
598
+ updated_at: *id008
599
+ Comment:
600
+ type: object
601
+ required:
602
+ - id
603
+ - comment_html
604
+ - issue
605
+ - created_at
606
+ properties:
607
+ id:
608
+ type: string
609
+ format: uuid
610
+ x-mockingbird-volatile:
611
+ kind: id
612
+ comment_html:
613
+ type: string
614
+ comment_stripped:
615
+ type: string
616
+ access:
617
+ type: string
618
+ issue:
619
+ type: string
620
+ x-mockingbird-volatile:
621
+ kind: id
622
+ actor:
623
+ type:
624
+ - string
625
+ - 'null'
626
+ project:
627
+ type: string
628
+ workspace:
629
+ type: string
630
+ created_at: *id008
631
+ updated_at: *id008
632
+ Link:
633
+ type: object
634
+ required:
635
+ - id
636
+ - url
637
+ - title
638
+ - issue
639
+ - created_at
640
+ properties:
641
+ id:
642
+ type: string
643
+ format: uuid
644
+ x-mockingbird-volatile:
645
+ kind: id
646
+ url:
647
+ type: string
648
+ title:
649
+ type:
650
+ - string
651
+ - 'null'
652
+ metadata:
653
+ type: object
654
+ issue:
655
+ type: string
656
+ x-mockingbird-volatile:
657
+ kind: id
658
+ project:
659
+ type: string
660
+ workspace:
661
+ type: string
662
+ created_at: *id008
663
+ updated_at: *id008
664
+ WorkItemPage:
665
+ type: object
666
+ required:
667
+ - results
668
+ - next_cursor
669
+ - prev_cursor
670
+ - next_page_results
671
+ - prev_page_results
672
+ - count
673
+ - total_count
674
+ - total_pages
675
+ - total_results
676
+ properties:
677
+ grouped_by:
678
+ type:
679
+ - string
680
+ - 'null'
681
+ sub_grouped_by:
682
+ type:
683
+ - string
684
+ - 'null'
685
+ total_count:
686
+ type: integer
687
+ next_cursor:
688
+ type: string
689
+ prev_cursor:
690
+ type: string
691
+ next_page_results:
692
+ type: boolean
693
+ prev_page_results:
694
+ type: boolean
695
+ count:
696
+ type: integer
697
+ total_pages:
698
+ type: integer
699
+ total_results:
700
+ type: integer
701
+ extra_stats:
702
+ type:
703
+ - object
704
+ - 'null'
705
+ results:
706
+ type: array
707
+ items:
708
+ $ref: '#/components/schemas/WorkItem'
709
+ StatePage:
710
+ type: object
711
+ required:
712
+ - results
713
+ - next_cursor
714
+ - prev_cursor
715
+ - next_page_results
716
+ - prev_page_results
717
+ - count
718
+ - total_count
719
+ - total_pages
720
+ - total_results
721
+ properties:
722
+ grouped_by:
723
+ type:
724
+ - string
725
+ - 'null'
726
+ sub_grouped_by:
727
+ type:
728
+ - string
729
+ - 'null'
730
+ total_count:
731
+ type: integer
732
+ next_cursor:
733
+ type: string
734
+ prev_cursor:
735
+ type: string
736
+ next_page_results:
737
+ type: boolean
738
+ prev_page_results:
739
+ type: boolean
740
+ count:
741
+ type: integer
742
+ total_pages:
743
+ type: integer
744
+ total_results:
745
+ type: integer
746
+ extra_stats:
747
+ type:
748
+ - object
749
+ - 'null'
750
+ results:
751
+ type: array
752
+ items:
753
+ $ref: '#/components/schemas/State'
754
+ LabelPage:
755
+ type: object
756
+ required:
757
+ - results
758
+ - next_cursor
759
+ - prev_cursor
760
+ - next_page_results
761
+ - prev_page_results
762
+ - count
763
+ - total_count
764
+ - total_pages
765
+ - total_results
766
+ properties:
767
+ grouped_by:
768
+ type:
769
+ - string
770
+ - 'null'
771
+ sub_grouped_by:
772
+ type:
773
+ - string
774
+ - 'null'
775
+ total_count:
776
+ type: integer
777
+ next_cursor:
778
+ type: string
779
+ prev_cursor:
780
+ type: string
781
+ next_page_results:
782
+ type: boolean
783
+ prev_page_results:
784
+ type: boolean
785
+ count:
786
+ type: integer
787
+ total_pages:
788
+ type: integer
789
+ total_results:
790
+ type: integer
791
+ extra_stats:
792
+ type:
793
+ - object
794
+ - 'null'
795
+ results:
796
+ type: array
797
+ items:
798
+ $ref: '#/components/schemas/Label'
799
+ CommentPage:
800
+ type: object
801
+ required:
802
+ - results
803
+ - next_cursor
804
+ - prev_cursor
805
+ - next_page_results
806
+ - prev_page_results
807
+ - count
808
+ - total_count
809
+ - total_pages
810
+ - total_results
811
+ properties:
812
+ grouped_by:
813
+ type:
814
+ - string
815
+ - 'null'
816
+ sub_grouped_by:
817
+ type:
818
+ - string
819
+ - 'null'
820
+ total_count:
821
+ type: integer
822
+ next_cursor:
823
+ type: string
824
+ prev_cursor:
825
+ type: string
826
+ next_page_results:
827
+ type: boolean
828
+ prev_page_results:
829
+ type: boolean
830
+ count:
831
+ type: integer
832
+ total_pages:
833
+ type: integer
834
+ total_results:
835
+ type: integer
836
+ extra_stats:
837
+ type:
838
+ - object
839
+ - 'null'
840
+ results:
841
+ type: array
842
+ items:
843
+ $ref: '#/components/schemas/Comment'
844
+ LinkPage:
845
+ type: object
846
+ required:
847
+ - results
848
+ - next_cursor
849
+ - prev_cursor
850
+ - next_page_results
851
+ - prev_page_results
852
+ - count
853
+ - total_count
854
+ - total_pages
855
+ - total_results
856
+ properties:
857
+ grouped_by:
858
+ type:
859
+ - string
860
+ - 'null'
861
+ sub_grouped_by:
862
+ type:
863
+ - string
864
+ - 'null'
865
+ total_count:
866
+ type: integer
867
+ next_cursor:
868
+ type: string
869
+ prev_cursor:
870
+ type: string
871
+ next_page_results:
872
+ type: boolean
873
+ prev_page_results:
874
+ type: boolean
875
+ count:
876
+ type: integer
877
+ total_pages:
878
+ type: integer
879
+ total_results:
880
+ type: integer
881
+ extra_stats:
882
+ type:
883
+ - object
884
+ - 'null'
885
+ results:
886
+ type: array
887
+ items:
888
+ $ref: '#/components/schemas/Link'
889
+ CreateWorkItemBody:
890
+ type: object
891
+ required:
892
+ - name
893
+ properties:
894
+ name:
895
+ type: string
896
+ minLength: 1
897
+ maxLength: 255
898
+ description_html:
899
+ type: string
900
+ maxLength: 2000
901
+ state:
902
+ type: string
903
+ format: uuid
904
+ x-mockingbird-resource-ref:
905
+ type: state
906
+ missing: 00000000-0000-4000-8000-000000000000
907
+ labels:
908
+ type: array
909
+ maxItems: 3
910
+ items:
911
+ type: string
912
+ format: uuid
913
+ x-mockingbird-resource-ref:
914
+ type: label
915
+ missing: 00000000-0000-4000-8000-000000000000
916
+ priority:
917
+ type: string
918
+ enum:
919
+ - urgent
920
+ - high
921
+ - medium
922
+ - low
923
+ - none
924
+ UpdateWorkItemBody:
925
+ type: object
926
+ properties:
927
+ name:
928
+ type: string
929
+ minLength: 1
930
+ maxLength: 255
931
+ description_html:
932
+ type: string
933
+ maxLength: 2000
934
+ state:
935
+ type: string
936
+ format: uuid
937
+ x-mockingbird-resource-ref:
938
+ type: state
939
+ missing: 00000000-0000-4000-8000-000000000000
940
+ labels:
941
+ type: array
942
+ maxItems: 3
943
+ items:
944
+ type: string
945
+ format: uuid
946
+ x-mockingbird-resource-ref:
947
+ type: label
948
+ missing: 00000000-0000-4000-8000-000000000000
949
+ priority:
950
+ type: string
951
+ enum:
952
+ - urgent
953
+ - high
954
+ - medium
955
+ - low
956
+ - none
957
+ CreateCommentBody:
958
+ type: object
959
+ required:
960
+ - comment_html
961
+ properties:
962
+ comment_html:
963
+ type: string
964
+ minLength: 1
965
+ maxLength: 2000
966
+ access:
967
+ type: string
968
+ enum:
969
+ - INTERNAL
970
+ - EXTERNAL
971
+ CreateLinkBody:
972
+ type: object
973
+ required:
974
+ - url
975
+ properties:
976
+ url:
977
+ type: string
978
+ format: uri
979
+ pattern: ^https://
980
+ maxLength: 200
981
+ title:
982
+ type: string
983
+ minLength: 1
984
+ maxLength: 255
985
+ CreateLabelBody:
986
+ type: object
987
+ required:
988
+ - name
989
+ properties:
990
+ name:
991
+ type: string
992
+ minLength: 1
993
+ maxLength: 255
994
+ color:
995
+ type: string
996
+ pattern: ^#[0-9a-fA-F]{6}$
997
+ description:
998
+ type: string
999
+ maxLength: 255
1000
+ ErrorBody:
1001
+ type: object
1002
+ properties:
1003
+ error:
1004
+ type: string
1005
+ detail:
1006
+ type: string
1007
+ id:
1008
+ type: string
1009
+ ValidationError:
1010
+ type: object
1011
+ additionalProperties:
1012
+ type: array
1013
+ items:
1014
+ type: string