@kammcs/buildit-mcp 0.0.0-stage → 0.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.
@@ -0,0 +1,1559 @@
1
+ /**
2
+ * The agent API's operations, scopes and error codes, as the contract declares them.
3
+ *
4
+ * GENERATED by scripts/generate.ts from openapi/openapi.json (agent API
5
+ * 1.1.0). Do not edit: change the contract, then run
6
+ * `npm run generate`.
7
+ */
8
+ import * as S from './schemas.js';
9
+ /** The contract's API version. */
10
+ export const API_VERSION = '1.1.0';
11
+ /** Token scopes, in the contract's order. */
12
+ export const SCOPES = [
13
+ 'projects:read',
14
+ 'projects:write',
15
+ 'projects:delete',
16
+ 'projects:admin',
17
+ 'pages:read',
18
+ 'pages:write',
19
+ 'chat:read',
20
+ ];
21
+ /** What each scope directly implies (implications are transitive). */
22
+ export const SCOPE_IMPLIES = {
23
+ 'projects:read': [],
24
+ 'projects:write': ['projects:read'],
25
+ 'projects:delete': ['projects:write'],
26
+ 'projects:admin': ['projects:write'],
27
+ 'pages:read': [],
28
+ 'pages:write': ['pages:read'],
29
+ 'chat:read': [],
30
+ };
31
+ /** The API's error codes and their HTTP statuses. v1 may add codes. */
32
+ export const ERROR_STATUS = {
33
+ bad_request: 400,
34
+ token_invalid: 401,
35
+ token_expired: 401,
36
+ token_revoked: 401,
37
+ token_suspended: 401,
38
+ agent_access_off: 403,
39
+ projects_off: 403,
40
+ scope_missing: 403,
41
+ outside_limits: 403,
42
+ forbidden: 403,
43
+ archived: 403,
44
+ not_found: 404,
45
+ method_not_allowed: 405,
46
+ conflict: 409,
47
+ idempotency_conflict: 409,
48
+ plan_used: 409,
49
+ plan_stale: 409,
50
+ plan_expired: 410,
51
+ body_too_large: 413,
52
+ validation: 422,
53
+ image_layout_invalid: 422,
54
+ ambiguous: 422,
55
+ transition_not_allowed: 422,
56
+ field_required: 422,
57
+ bulk_too_large: 422,
58
+ limit_reached: 422,
59
+ rate_limited: 429,
60
+ internal: 500,
61
+ unavailable: 503,
62
+ release_archived: 409,
63
+ release_not_released: 409,
64
+ };
65
+ /** Each error code's stable next step, as the contract words it. The API sends it as the error's hint; this copy serves when an older API doesn't. */
66
+ export const ERROR_HINTS = {
67
+ bad_request: 'Send a JSON body with Content-Type: application/json, and check the path and query.',
68
+ token_invalid: 'Check the Authorization header: Bearer, then the whole buildit_pat_ token.',
69
+ token_expired: 'Ask the user to create a new token in buildIt.Social (Settings → Agent tokens).',
70
+ token_revoked: 'Ask the user to create a new token in buildIt.Social (Settings → Agent tokens), if they still have access.',
71
+ token_suspended: "Ask an org admin to reactivate the user's membership; the token then works again.",
72
+ agent_access_off: 'Ask an org owner or admin to turn on Agent access (Settings → the org → Integrations); tokens then work again.',
73
+ projects_off: "Projects isn't available in this org: use pages or chat instead.",
74
+ scope_missing: "Ask the user for a token with details.scope; retrying with this token won't help.",
75
+ outside_limits: 'Call get_me to see the projects and channels this token may reach.',
76
+ forbidden: "Ask a project admin (or the user, in the app) to do it; retrying won't help.",
77
+ archived: "Ask the user to restore it in the app first; archived things can't be changed.",
78
+ not_found: 'Look the reference up (search_items, list_projects, describe_project), then retry.',
79
+ method_not_allowed: 'Use one of the methods in details.allowed.',
80
+ conflict: 'Read it again, reapply your change to what you read, and send the new version.',
81
+ idempotency_conflict: 'Send a new random uuid as idempotency_key.',
82
+ plan_used: 'The change is done; create a new plan only if more is needed.',
83
+ plan_stale: 'Create the plan again, show the human the new preview, then apply it.',
84
+ plan_expired: 'Create the plan again, show the new preview, and apply it within 10 minutes.',
85
+ body_too_large: 'Send less: shorten or split the content to fit details.max_bytes.',
86
+ validation: 'Fix each field in details.fields, then retry.',
87
+ image_layout_invalid: 'Fix the image titles in details.fields: use the layout words exactly, or leave the title out.',
88
+ ambiguous: 'Retry with the id, key or email of one of details.candidates.',
89
+ transition_not_allowed: "Move to one of details.allowed (details.moves has each move's rules), or in steps.",
90
+ field_required: 'Set the fields in details.fields in the same call, then retry.',
91
+ bulk_too_large: 'Split the change into plans of at most 50 items.',
92
+ limit_reached: 'Archive or remove something of that kind first.',
93
+ rate_limited: 'Retry after the number of seconds in details.retry_after (also in the Retry-After header).',
94
+ internal: 'Retry once; if it fails again, report the X-Request-Id.',
95
+ unavailable: 'Retry in a minute.',
96
+ release_archived: 'Restore the release with restore_release, then retry.',
97
+ release_not_released: 'Leave released_on out, or release it with release_version, which takes released_on.',
98
+ };
99
+ /** Every scope each plan action needs, all of them (the operations whose scope is 'plan_action' check them). */
100
+ export const PLAN_SCOPES = {
101
+ delete_item: ['projects:delete'],
102
+ move_item: ['projects:delete'],
103
+ bulk_update: ['projects:delete'],
104
+ archive_status: ['projects:delete', 'projects:admin'],
105
+ workflow_change: ['projects:admin'],
106
+ work_type_change: ['projects:admin'],
107
+ field_change: ['projects:admin'],
108
+ label_change: ['projects:admin'],
109
+ };
110
+ /** Every operation of the contract, by operationId. */
111
+ export const OPERATIONS = {
112
+ add_comment: {
113
+ method: 'POST',
114
+ path: '/v1/items/{key}/comments',
115
+ pathParams: ['key'],
116
+ arrayQueryParams: [],
117
+ scope: 'projects:write',
118
+ requiredScopes: ['projects:write'],
119
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: true },
120
+ errors: [
121
+ 'bad_request',
122
+ 'token_invalid',
123
+ 'token_expired',
124
+ 'token_revoked',
125
+ 'token_suspended',
126
+ 'agent_access_off',
127
+ 'projects_off',
128
+ 'scope_missing',
129
+ 'outside_limits',
130
+ 'forbidden',
131
+ 'archived',
132
+ 'not_found',
133
+ 'idempotency_conflict',
134
+ 'body_too_large',
135
+ 'validation',
136
+ 'ambiguous',
137
+ 'limit_reached',
138
+ 'rate_limited',
139
+ 'internal',
140
+ 'unavailable',
141
+ ],
142
+ hasBody: true,
143
+ statuses: [200, 201],
144
+ discovery: false,
145
+ response: S.AddCommentResponseSchema,
146
+ },
147
+ add_link: {
148
+ method: 'POST',
149
+ path: '/v1/items/{key}/links',
150
+ pathParams: ['key'],
151
+ arrayQueryParams: [],
152
+ scope: 'projects:write',
153
+ requiredScopes: ['projects:write'],
154
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: true },
155
+ errors: [
156
+ 'bad_request',
157
+ 'token_invalid',
158
+ 'token_expired',
159
+ 'token_revoked',
160
+ 'token_suspended',
161
+ 'agent_access_off',
162
+ 'projects_off',
163
+ 'scope_missing',
164
+ 'outside_limits',
165
+ 'forbidden',
166
+ 'archived',
167
+ 'not_found',
168
+ 'body_too_large',
169
+ 'validation',
170
+ 'ambiguous',
171
+ 'limit_reached',
172
+ 'rate_limited',
173
+ 'internal',
174
+ 'unavailable',
175
+ ],
176
+ hasBody: true,
177
+ statuses: [200, 201],
178
+ discovery: false,
179
+ response: S.AddLinkResponseSchema,
180
+ },
181
+ add_release_items: {
182
+ method: 'POST',
183
+ path: '/v1/projects/{key}/releases/{release}/items',
184
+ pathParams: ['key', 'release'],
185
+ arrayQueryParams: [],
186
+ scope: 'projects:write',
187
+ requiredScopes: ['projects:write'],
188
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: true },
189
+ errors: [
190
+ 'bad_request',
191
+ 'token_invalid',
192
+ 'token_expired',
193
+ 'token_revoked',
194
+ 'token_suspended',
195
+ 'agent_access_off',
196
+ 'projects_off',
197
+ 'scope_missing',
198
+ 'outside_limits',
199
+ 'forbidden',
200
+ 'archived',
201
+ 'not_found',
202
+ 'body_too_large',
203
+ 'validation',
204
+ 'ambiguous',
205
+ 'limit_reached',
206
+ 'rate_limited',
207
+ 'internal',
208
+ 'unavailable',
209
+ ],
210
+ hasBody: true,
211
+ statuses: [200],
212
+ discovery: false,
213
+ response: S.ReleaseItemsResponseSchema,
214
+ },
215
+ add_sprint_items: {
216
+ method: 'POST',
217
+ path: '/v1/projects/{key}/sprints/{sprint}/items',
218
+ pathParams: ['key', 'sprint'],
219
+ arrayQueryParams: [],
220
+ scope: 'projects:write',
221
+ requiredScopes: ['projects:write'],
222
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: true },
223
+ errors: [
224
+ 'bad_request',
225
+ 'token_invalid',
226
+ 'token_expired',
227
+ 'token_revoked',
228
+ 'token_suspended',
229
+ 'agent_access_off',
230
+ 'projects_off',
231
+ 'scope_missing',
232
+ 'outside_limits',
233
+ 'forbidden',
234
+ 'archived',
235
+ 'not_found',
236
+ 'body_too_large',
237
+ 'validation',
238
+ 'ambiguous',
239
+ 'limit_reached',
240
+ 'rate_limited',
241
+ 'internal',
242
+ 'unavailable',
243
+ ],
244
+ hasBody: true,
245
+ statuses: [200],
246
+ discovery: false,
247
+ response: S.SprintItemsResponseSchema,
248
+ },
249
+ apply_plan: {
250
+ method: 'POST',
251
+ path: '/v1/plans/{handle}/apply',
252
+ pathParams: ['handle'],
253
+ arrayQueryParams: [],
254
+ scope: 'plan_action',
255
+ requiredScopes: [],
256
+ hints: { read_only: false, destructive: true, idempotent: false, needs_projects: true },
257
+ errors: [
258
+ 'bad_request',
259
+ 'token_invalid',
260
+ 'token_expired',
261
+ 'token_revoked',
262
+ 'token_suspended',
263
+ 'agent_access_off',
264
+ 'projects_off',
265
+ 'scope_missing',
266
+ 'outside_limits',
267
+ 'forbidden',
268
+ 'archived',
269
+ 'not_found',
270
+ 'plan_used',
271
+ 'plan_stale',
272
+ 'plan_expired',
273
+ 'body_too_large',
274
+ 'validation',
275
+ 'ambiguous',
276
+ 'transition_not_allowed',
277
+ 'field_required',
278
+ 'limit_reached',
279
+ 'rate_limited',
280
+ 'internal',
281
+ 'unavailable',
282
+ ],
283
+ hasBody: true,
284
+ statuses: [200],
285
+ discovery: false,
286
+ response: S.ApplyPlanResponseSchema,
287
+ },
288
+ archive_release: {
289
+ method: 'POST',
290
+ path: '/v1/projects/{key}/releases/{release}/archive',
291
+ pathParams: ['key', 'release'],
292
+ arrayQueryParams: [],
293
+ scope: 'projects:write',
294
+ requiredScopes: ['projects:write'],
295
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: true },
296
+ errors: [
297
+ 'bad_request',
298
+ 'token_invalid',
299
+ 'token_expired',
300
+ 'token_revoked',
301
+ 'token_suspended',
302
+ 'agent_access_off',
303
+ 'projects_off',
304
+ 'scope_missing',
305
+ 'outside_limits',
306
+ 'forbidden',
307
+ 'archived',
308
+ 'not_found',
309
+ 'validation',
310
+ 'ambiguous',
311
+ 'limit_reached',
312
+ 'rate_limited',
313
+ 'internal',
314
+ 'unavailable',
315
+ ],
316
+ hasBody: false,
317
+ statuses: [200],
318
+ discovery: false,
319
+ response: S.ReleaseResponseSchema,
320
+ },
321
+ complete_sprint: {
322
+ method: 'POST',
323
+ path: '/v1/projects/{key}/sprints/{sprint}/complete',
324
+ pathParams: ['key', 'sprint'],
325
+ arrayQueryParams: [],
326
+ scope: 'projects:write',
327
+ requiredScopes: ['projects:write'],
328
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: true },
329
+ errors: [
330
+ 'bad_request',
331
+ 'token_invalid',
332
+ 'token_expired',
333
+ 'token_revoked',
334
+ 'token_suspended',
335
+ 'agent_access_off',
336
+ 'projects_off',
337
+ 'scope_missing',
338
+ 'outside_limits',
339
+ 'forbidden',
340
+ 'archived',
341
+ 'not_found',
342
+ 'body_too_large',
343
+ 'validation',
344
+ 'ambiguous',
345
+ 'limit_reached',
346
+ 'rate_limited',
347
+ 'internal',
348
+ 'unavailable',
349
+ ],
350
+ hasBody: true,
351
+ statuses: [200],
352
+ discovery: false,
353
+ response: S.CompleteSprintResponseSchema,
354
+ },
355
+ create_channel: {
356
+ method: 'POST',
357
+ path: '/v1/channels',
358
+ pathParams: [],
359
+ arrayQueryParams: [],
360
+ scope: 'projects:admin',
361
+ requiredScopes: ['projects:admin'],
362
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: false },
363
+ errors: [
364
+ 'bad_request',
365
+ 'token_invalid',
366
+ 'token_expired',
367
+ 'token_revoked',
368
+ 'token_suspended',
369
+ 'agent_access_off',
370
+ 'scope_missing',
371
+ 'outside_limits',
372
+ 'forbidden',
373
+ 'not_found',
374
+ 'idempotency_conflict',
375
+ 'body_too_large',
376
+ 'validation',
377
+ 'ambiguous',
378
+ 'rate_limited',
379
+ 'internal',
380
+ 'unavailable',
381
+ ],
382
+ hasBody: true,
383
+ statuses: [200, 201],
384
+ discovery: false,
385
+ response: S.CreateChannelResponseSchema,
386
+ },
387
+ create_item: {
388
+ method: 'POST',
389
+ path: '/v1/items',
390
+ pathParams: [],
391
+ arrayQueryParams: [],
392
+ scope: 'projects:write',
393
+ requiredScopes: ['projects:write'],
394
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: true },
395
+ errors: [
396
+ 'bad_request',
397
+ 'token_invalid',
398
+ 'token_expired',
399
+ 'token_revoked',
400
+ 'token_suspended',
401
+ 'agent_access_off',
402
+ 'projects_off',
403
+ 'scope_missing',
404
+ 'outside_limits',
405
+ 'forbidden',
406
+ 'archived',
407
+ 'not_found',
408
+ 'idempotency_conflict',
409
+ 'body_too_large',
410
+ 'validation',
411
+ 'image_layout_invalid',
412
+ 'ambiguous',
413
+ 'transition_not_allowed',
414
+ 'field_required',
415
+ 'limit_reached',
416
+ 'rate_limited',
417
+ 'internal',
418
+ 'unavailable',
419
+ ],
420
+ hasBody: true,
421
+ statuses: [200, 201],
422
+ discovery: false,
423
+ response: S.CreateItemResponseSchema,
424
+ },
425
+ create_page: {
426
+ method: 'POST',
427
+ path: '/v1/channels/{channel}/pages',
428
+ pathParams: ['channel'],
429
+ arrayQueryParams: [],
430
+ scope: 'pages:write',
431
+ requiredScopes: ['pages:write'],
432
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: false },
433
+ errors: [
434
+ 'bad_request',
435
+ 'token_invalid',
436
+ 'token_expired',
437
+ 'token_revoked',
438
+ 'token_suspended',
439
+ 'agent_access_off',
440
+ 'scope_missing',
441
+ 'outside_limits',
442
+ 'forbidden',
443
+ 'archived',
444
+ 'not_found',
445
+ 'idempotency_conflict',
446
+ 'body_too_large',
447
+ 'validation',
448
+ 'image_layout_invalid',
449
+ 'ambiguous',
450
+ 'rate_limited',
451
+ 'internal',
452
+ 'unavailable',
453
+ ],
454
+ hasBody: true,
455
+ statuses: [200, 201],
456
+ discovery: false,
457
+ response: S.CreatePageResponseSchema,
458
+ },
459
+ create_plan: {
460
+ method: 'POST',
461
+ path: '/v1/plans',
462
+ pathParams: [],
463
+ arrayQueryParams: [],
464
+ scope: 'plan_action',
465
+ requiredScopes: [],
466
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: true },
467
+ errors: [
468
+ 'bad_request',
469
+ 'token_invalid',
470
+ 'token_expired',
471
+ 'token_revoked',
472
+ 'token_suspended',
473
+ 'agent_access_off',
474
+ 'projects_off',
475
+ 'scope_missing',
476
+ 'outside_limits',
477
+ 'forbidden',
478
+ 'archived',
479
+ 'not_found',
480
+ 'body_too_large',
481
+ 'validation',
482
+ 'ambiguous',
483
+ 'transition_not_allowed',
484
+ 'bulk_too_large',
485
+ 'limit_reached',
486
+ 'rate_limited',
487
+ 'internal',
488
+ 'unavailable',
489
+ ],
490
+ hasBody: true,
491
+ statuses: [201],
492
+ discovery: false,
493
+ response: S.CreatePlanResponseSchema,
494
+ },
495
+ create_project: {
496
+ method: 'POST',
497
+ path: '/v1/projects',
498
+ pathParams: [],
499
+ arrayQueryParams: [],
500
+ scope: 'projects:admin',
501
+ requiredScopes: ['projects:admin'],
502
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: true },
503
+ errors: [
504
+ 'bad_request',
505
+ 'token_invalid',
506
+ 'token_expired',
507
+ 'token_revoked',
508
+ 'token_suspended',
509
+ 'agent_access_off',
510
+ 'projects_off',
511
+ 'scope_missing',
512
+ 'outside_limits',
513
+ 'forbidden',
514
+ 'archived',
515
+ 'not_found',
516
+ 'idempotency_conflict',
517
+ 'body_too_large',
518
+ 'validation',
519
+ 'ambiguous',
520
+ 'rate_limited',
521
+ 'internal',
522
+ 'unavailable',
523
+ ],
524
+ hasBody: true,
525
+ statuses: [200, 201],
526
+ discovery: false,
527
+ response: S.CreateProjectResponseSchema,
528
+ },
529
+ create_release: {
530
+ method: 'POST',
531
+ path: '/v1/projects/{key}/releases',
532
+ pathParams: ['key'],
533
+ arrayQueryParams: [],
534
+ scope: 'projects:write',
535
+ requiredScopes: ['projects:write'],
536
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: true },
537
+ errors: [
538
+ 'bad_request',
539
+ 'token_invalid',
540
+ 'token_expired',
541
+ 'token_revoked',
542
+ 'token_suspended',
543
+ 'agent_access_off',
544
+ 'projects_off',
545
+ 'scope_missing',
546
+ 'outside_limits',
547
+ 'forbidden',
548
+ 'archived',
549
+ 'not_found',
550
+ 'body_too_large',
551
+ 'validation',
552
+ 'ambiguous',
553
+ 'limit_reached',
554
+ 'rate_limited',
555
+ 'internal',
556
+ 'unavailable',
557
+ ],
558
+ hasBody: true,
559
+ statuses: [201],
560
+ discovery: false,
561
+ response: S.ReleaseResponseSchema,
562
+ },
563
+ create_sprint: {
564
+ method: 'POST',
565
+ path: '/v1/projects/{key}/sprints',
566
+ pathParams: ['key'],
567
+ arrayQueryParams: [],
568
+ scope: 'projects:write',
569
+ requiredScopes: ['projects:write'],
570
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: true },
571
+ errors: [
572
+ 'bad_request',
573
+ 'token_invalid',
574
+ 'token_expired',
575
+ 'token_revoked',
576
+ 'token_suspended',
577
+ 'agent_access_off',
578
+ 'projects_off',
579
+ 'scope_missing',
580
+ 'outside_limits',
581
+ 'forbidden',
582
+ 'archived',
583
+ 'not_found',
584
+ 'body_too_large',
585
+ 'validation',
586
+ 'ambiguous',
587
+ 'limit_reached',
588
+ 'rate_limited',
589
+ 'internal',
590
+ 'unavailable',
591
+ ],
592
+ hasBody: true,
593
+ statuses: [201],
594
+ discovery: false,
595
+ response: S.SprintResponseSchema,
596
+ },
597
+ describe_project: {
598
+ method: 'GET',
599
+ path: '/v1/projects/{key}',
600
+ pathParams: ['key'],
601
+ arrayQueryParams: [],
602
+ scope: 'projects:read',
603
+ requiredScopes: ['projects:read'],
604
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: true },
605
+ errors: [
606
+ 'bad_request',
607
+ 'token_invalid',
608
+ 'token_expired',
609
+ 'token_revoked',
610
+ 'token_suspended',
611
+ 'agent_access_off',
612
+ 'projects_off',
613
+ 'scope_missing',
614
+ 'outside_limits',
615
+ 'not_found',
616
+ 'validation',
617
+ 'rate_limited',
618
+ 'internal',
619
+ 'unavailable',
620
+ ],
621
+ hasBody: false,
622
+ statuses: [200],
623
+ discovery: false,
624
+ response: S.DescribeProjectResponseSchema,
625
+ },
626
+ generate_release_notes: {
627
+ method: 'POST',
628
+ path: '/v1/projects/{key}/releases/{release}/notes',
629
+ pathParams: ['key', 'release'],
630
+ arrayQueryParams: [],
631
+ scope: 'projects:write',
632
+ requiredScopes: ['projects:write', 'pages:write'],
633
+ hints: { read_only: false, destructive: true, idempotent: true, needs_projects: true },
634
+ errors: [
635
+ 'bad_request',
636
+ 'token_invalid',
637
+ 'token_expired',
638
+ 'token_revoked',
639
+ 'token_suspended',
640
+ 'agent_access_off',
641
+ 'projects_off',
642
+ 'scope_missing',
643
+ 'outside_limits',
644
+ 'forbidden',
645
+ 'archived',
646
+ 'not_found',
647
+ 'body_too_large',
648
+ 'validation',
649
+ 'ambiguous',
650
+ 'limit_reached',
651
+ 'rate_limited',
652
+ 'internal',
653
+ 'unavailable',
654
+ ],
655
+ hasBody: true,
656
+ statuses: [200],
657
+ discovery: false,
658
+ response: S.ReleaseNotesResponseSchema,
659
+ },
660
+ get_item: {
661
+ method: 'GET',
662
+ path: '/v1/items/{key}',
663
+ pathParams: ['key'],
664
+ arrayQueryParams: [],
665
+ scope: 'projects:read',
666
+ requiredScopes: ['projects:read'],
667
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: true },
668
+ errors: [
669
+ 'bad_request',
670
+ 'token_invalid',
671
+ 'token_expired',
672
+ 'token_revoked',
673
+ 'token_suspended',
674
+ 'agent_access_off',
675
+ 'projects_off',
676
+ 'scope_missing',
677
+ 'outside_limits',
678
+ 'not_found',
679
+ 'validation',
680
+ 'rate_limited',
681
+ 'internal',
682
+ 'unavailable',
683
+ ],
684
+ hasBody: false,
685
+ statuses: [200],
686
+ discovery: false,
687
+ response: S.GetItemResponseSchema,
688
+ },
689
+ get_item_history: {
690
+ method: 'GET',
691
+ path: '/v1/items/{key}/history',
692
+ pathParams: ['key'],
693
+ arrayQueryParams: [],
694
+ scope: 'projects:read',
695
+ requiredScopes: ['projects:read'],
696
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: true },
697
+ errors: [
698
+ 'bad_request',
699
+ 'token_invalid',
700
+ 'token_expired',
701
+ 'token_revoked',
702
+ 'token_suspended',
703
+ 'agent_access_off',
704
+ 'projects_off',
705
+ 'scope_missing',
706
+ 'outside_limits',
707
+ 'not_found',
708
+ 'validation',
709
+ 'rate_limited',
710
+ 'internal',
711
+ 'unavailable',
712
+ ],
713
+ hasBody: false,
714
+ statuses: [200],
715
+ discovery: false,
716
+ response: S.ItemHistoryResponseSchema,
717
+ },
718
+ get_me: {
719
+ method: 'GET',
720
+ path: '/v1/me',
721
+ pathParams: [],
722
+ arrayQueryParams: [],
723
+ scope: null,
724
+ requiredScopes: [],
725
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
726
+ errors: [
727
+ 'bad_request',
728
+ 'token_invalid',
729
+ 'token_expired',
730
+ 'token_revoked',
731
+ 'token_suspended',
732
+ 'agent_access_off',
733
+ 'rate_limited',
734
+ 'internal',
735
+ 'unavailable',
736
+ ],
737
+ hasBody: false,
738
+ statuses: [200],
739
+ discovery: true,
740
+ response: S.MeResponseSchema,
741
+ },
742
+ get_meta: {
743
+ method: 'GET',
744
+ path: '/v1/meta',
745
+ pathParams: [],
746
+ arrayQueryParams: [],
747
+ scope: null,
748
+ requiredScopes: [],
749
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
750
+ errors: [
751
+ 'bad_request',
752
+ 'token_invalid',
753
+ 'token_expired',
754
+ 'token_revoked',
755
+ 'token_suspended',
756
+ 'agent_access_off',
757
+ 'rate_limited',
758
+ 'internal',
759
+ 'unavailable',
760
+ ],
761
+ hasBody: false,
762
+ statuses: [200],
763
+ discovery: true,
764
+ response: S.MetaResponseSchema,
765
+ },
766
+ get_page: {
767
+ method: 'GET',
768
+ path: '/v1/pages/{id}',
769
+ pathParams: ['id'],
770
+ arrayQueryParams: [],
771
+ scope: 'pages:read',
772
+ requiredScopes: ['pages:read'],
773
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
774
+ errors: [
775
+ 'bad_request',
776
+ 'token_invalid',
777
+ 'token_expired',
778
+ 'token_revoked',
779
+ 'token_suspended',
780
+ 'agent_access_off',
781
+ 'scope_missing',
782
+ 'outside_limits',
783
+ 'not_found',
784
+ 'validation',
785
+ 'rate_limited',
786
+ 'internal',
787
+ 'unavailable',
788
+ ],
789
+ hasBody: false,
790
+ statuses: [200],
791
+ discovery: false,
792
+ response: S.PageResponseSchema,
793
+ },
794
+ get_thread: {
795
+ method: 'GET',
796
+ path: '/v1/messages/{id}/thread',
797
+ pathParams: ['id'],
798
+ arrayQueryParams: [],
799
+ scope: 'chat:read',
800
+ requiredScopes: ['chat:read'],
801
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
802
+ errors: [
803
+ 'bad_request',
804
+ 'token_invalid',
805
+ 'token_expired',
806
+ 'token_revoked',
807
+ 'token_suspended',
808
+ 'agent_access_off',
809
+ 'scope_missing',
810
+ 'outside_limits',
811
+ 'not_found',
812
+ 'validation',
813
+ 'rate_limited',
814
+ 'internal',
815
+ 'unavailable',
816
+ ],
817
+ hasBody: false,
818
+ statuses: [200],
819
+ discovery: false,
820
+ response: S.ThreadResponseSchema,
821
+ },
822
+ get_workflow: {
823
+ method: 'GET',
824
+ path: '/v1/projects/{key}/workflows/{workflow}',
825
+ pathParams: ['key', 'workflow'],
826
+ arrayQueryParams: [],
827
+ scope: 'projects:admin',
828
+ requiredScopes: ['projects:admin'],
829
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: true },
830
+ errors: [
831
+ 'bad_request',
832
+ 'token_invalid',
833
+ 'token_expired',
834
+ 'token_revoked',
835
+ 'token_suspended',
836
+ 'agent_access_off',
837
+ 'projects_off',
838
+ 'scope_missing',
839
+ 'outside_limits',
840
+ 'not_found',
841
+ 'validation',
842
+ 'ambiguous',
843
+ 'rate_limited',
844
+ 'internal',
845
+ 'unavailable',
846
+ ],
847
+ hasBody: false,
848
+ statuses: [200],
849
+ discovery: false,
850
+ response: S.GetWorkflowResponseSchema,
851
+ },
852
+ list_channel_messages: {
853
+ method: 'GET',
854
+ path: '/v1/channels/{channel}/messages',
855
+ pathParams: ['channel'],
856
+ arrayQueryParams: [],
857
+ scope: 'chat:read',
858
+ requiredScopes: ['chat:read'],
859
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
860
+ errors: [
861
+ 'bad_request',
862
+ 'token_invalid',
863
+ 'token_expired',
864
+ 'token_revoked',
865
+ 'token_suspended',
866
+ 'agent_access_off',
867
+ 'scope_missing',
868
+ 'outside_limits',
869
+ 'not_found',
870
+ 'validation',
871
+ 'ambiguous',
872
+ 'rate_limited',
873
+ 'internal',
874
+ 'unavailable',
875
+ ],
876
+ hasBody: false,
877
+ statuses: [200],
878
+ discovery: false,
879
+ response: S.ListChannelMessagesResponseSchema,
880
+ },
881
+ list_channels: {
882
+ method: 'GET',
883
+ path: '/v1/channels',
884
+ pathParams: [],
885
+ arrayQueryParams: [],
886
+ scope: 'chat:read',
887
+ requiredScopes: ['chat:read'],
888
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
889
+ errors: [
890
+ 'bad_request',
891
+ 'token_invalid',
892
+ 'token_expired',
893
+ 'token_revoked',
894
+ 'token_suspended',
895
+ 'agent_access_off',
896
+ 'scope_missing',
897
+ 'validation',
898
+ 'rate_limited',
899
+ 'internal',
900
+ 'unavailable',
901
+ ],
902
+ hasBody: false,
903
+ statuses: [200],
904
+ discovery: false,
905
+ response: S.ListChannelsResponseSchema,
906
+ },
907
+ list_comments: {
908
+ method: 'GET',
909
+ path: '/v1/items/{key}/comments',
910
+ pathParams: ['key'],
911
+ arrayQueryParams: [],
912
+ scope: 'projects:read',
913
+ requiredScopes: ['projects:read'],
914
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: true },
915
+ errors: [
916
+ 'bad_request',
917
+ 'token_invalid',
918
+ 'token_expired',
919
+ 'token_revoked',
920
+ 'token_suspended',
921
+ 'agent_access_off',
922
+ 'projects_off',
923
+ 'scope_missing',
924
+ 'outside_limits',
925
+ 'not_found',
926
+ 'validation',
927
+ 'rate_limited',
928
+ 'internal',
929
+ 'unavailable',
930
+ ],
931
+ hasBody: false,
932
+ statuses: [200],
933
+ discovery: false,
934
+ response: S.ListCommentsResponseSchema,
935
+ },
936
+ list_pages: {
937
+ method: 'GET',
938
+ path: '/v1/channels/{channel}/pages',
939
+ pathParams: ['channel'],
940
+ arrayQueryParams: [],
941
+ scope: 'pages:read',
942
+ requiredScopes: ['pages:read'],
943
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
944
+ errors: [
945
+ 'bad_request',
946
+ 'token_invalid',
947
+ 'token_expired',
948
+ 'token_revoked',
949
+ 'token_suspended',
950
+ 'agent_access_off',
951
+ 'scope_missing',
952
+ 'outside_limits',
953
+ 'not_found',
954
+ 'validation',
955
+ 'ambiguous',
956
+ 'rate_limited',
957
+ 'internal',
958
+ 'unavailable',
959
+ ],
960
+ hasBody: false,
961
+ statuses: [200],
962
+ discovery: false,
963
+ response: S.ListPagesResponseSchema,
964
+ },
965
+ list_project_members: {
966
+ method: 'GET',
967
+ path: '/v1/projects/{key}/members',
968
+ pathParams: ['key'],
969
+ arrayQueryParams: [],
970
+ scope: 'projects:read',
971
+ requiredScopes: ['projects:read'],
972
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: true },
973
+ errors: [
974
+ 'bad_request',
975
+ 'token_invalid',
976
+ 'token_expired',
977
+ 'token_revoked',
978
+ 'token_suspended',
979
+ 'agent_access_off',
980
+ 'projects_off',
981
+ 'scope_missing',
982
+ 'outside_limits',
983
+ 'not_found',
984
+ 'validation',
985
+ 'rate_limited',
986
+ 'internal',
987
+ 'unavailable',
988
+ ],
989
+ hasBody: false,
990
+ statuses: [200],
991
+ discovery: false,
992
+ response: S.ListProjectMembersResponseSchema,
993
+ },
994
+ list_projects: {
995
+ method: 'GET',
996
+ path: '/v1/projects',
997
+ pathParams: [],
998
+ arrayQueryParams: [],
999
+ scope: 'projects:read',
1000
+ requiredScopes: ['projects:read'],
1001
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: true },
1002
+ errors: [
1003
+ 'bad_request',
1004
+ 'token_invalid',
1005
+ 'token_expired',
1006
+ 'token_revoked',
1007
+ 'token_suspended',
1008
+ 'agent_access_off',
1009
+ 'projects_off',
1010
+ 'scope_missing',
1011
+ 'validation',
1012
+ 'rate_limited',
1013
+ 'internal',
1014
+ 'unavailable',
1015
+ ],
1016
+ hasBody: false,
1017
+ statuses: [200],
1018
+ discovery: false,
1019
+ response: S.ListProjectsResponseSchema,
1020
+ },
1021
+ list_releases: {
1022
+ method: 'GET',
1023
+ path: '/v1/projects/{key}/releases',
1024
+ pathParams: ['key'],
1025
+ arrayQueryParams: ['status'],
1026
+ scope: 'projects:read',
1027
+ requiredScopes: ['projects:read'],
1028
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: true },
1029
+ errors: [
1030
+ 'bad_request',
1031
+ 'token_invalid',
1032
+ 'token_expired',
1033
+ 'token_revoked',
1034
+ 'token_suspended',
1035
+ 'agent_access_off',
1036
+ 'projects_off',
1037
+ 'scope_missing',
1038
+ 'outside_limits',
1039
+ 'not_found',
1040
+ 'validation',
1041
+ 'rate_limited',
1042
+ 'internal',
1043
+ 'unavailable',
1044
+ ],
1045
+ hasBody: false,
1046
+ statuses: [200],
1047
+ discovery: false,
1048
+ response: S.ListReleasesResponseSchema,
1049
+ },
1050
+ list_sprints: {
1051
+ method: 'GET',
1052
+ path: '/v1/projects/{key}/sprints',
1053
+ pathParams: ['key'],
1054
+ arrayQueryParams: ['state'],
1055
+ scope: 'projects:read',
1056
+ requiredScopes: ['projects:read'],
1057
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: true },
1058
+ errors: [
1059
+ 'bad_request',
1060
+ 'token_invalid',
1061
+ 'token_expired',
1062
+ 'token_revoked',
1063
+ 'token_suspended',
1064
+ 'agent_access_off',
1065
+ 'projects_off',
1066
+ 'scope_missing',
1067
+ 'outside_limits',
1068
+ 'not_found',
1069
+ 'validation',
1070
+ 'rate_limited',
1071
+ 'internal',
1072
+ 'unavailable',
1073
+ ],
1074
+ hasBody: false,
1075
+ statuses: [200],
1076
+ discovery: false,
1077
+ response: S.ListSprintsResponseSchema,
1078
+ },
1079
+ list_work_types: {
1080
+ method: 'GET',
1081
+ path: '/v1/work-types',
1082
+ pathParams: [],
1083
+ arrayQueryParams: [],
1084
+ scope: 'projects:admin',
1085
+ requiredScopes: ['projects:admin'],
1086
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: true },
1087
+ errors: [
1088
+ 'bad_request',
1089
+ 'token_invalid',
1090
+ 'token_expired',
1091
+ 'token_revoked',
1092
+ 'token_suspended',
1093
+ 'agent_access_off',
1094
+ 'projects_off',
1095
+ 'scope_missing',
1096
+ 'validation',
1097
+ 'rate_limited',
1098
+ 'internal',
1099
+ 'unavailable',
1100
+ ],
1101
+ hasBody: false,
1102
+ statuses: [200],
1103
+ discovery: false,
1104
+ response: S.ListWorkTypesResponseSchema,
1105
+ },
1106
+ rank_item: {
1107
+ method: 'POST',
1108
+ path: '/v1/items/{key}/rank',
1109
+ pathParams: ['key'],
1110
+ arrayQueryParams: [],
1111
+ scope: 'projects:write',
1112
+ requiredScopes: ['projects:write'],
1113
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: true },
1114
+ errors: [
1115
+ 'bad_request',
1116
+ 'token_invalid',
1117
+ 'token_expired',
1118
+ 'token_revoked',
1119
+ 'token_suspended',
1120
+ 'agent_access_off',
1121
+ 'projects_off',
1122
+ 'scope_missing',
1123
+ 'outside_limits',
1124
+ 'forbidden',
1125
+ 'archived',
1126
+ 'not_found',
1127
+ 'body_too_large',
1128
+ 'validation',
1129
+ 'ambiguous',
1130
+ 'limit_reached',
1131
+ 'rate_limited',
1132
+ 'internal',
1133
+ 'unavailable',
1134
+ ],
1135
+ hasBody: true,
1136
+ statuses: [200],
1137
+ discovery: false,
1138
+ response: S.RankItemResponseSchema,
1139
+ },
1140
+ release_version: {
1141
+ method: 'POST',
1142
+ path: '/v1/projects/{key}/releases/{release}/release',
1143
+ pathParams: ['key', 'release'],
1144
+ arrayQueryParams: [],
1145
+ scope: 'projects:write',
1146
+ requiredScopes: ['projects:write'],
1147
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: true },
1148
+ errors: [
1149
+ 'bad_request',
1150
+ 'token_invalid',
1151
+ 'token_expired',
1152
+ 'token_revoked',
1153
+ 'token_suspended',
1154
+ 'agent_access_off',
1155
+ 'projects_off',
1156
+ 'scope_missing',
1157
+ 'outside_limits',
1158
+ 'forbidden',
1159
+ 'archived',
1160
+ 'not_found',
1161
+ 'body_too_large',
1162
+ 'validation',
1163
+ 'ambiguous',
1164
+ 'limit_reached',
1165
+ 'rate_limited',
1166
+ 'internal',
1167
+ 'unavailable',
1168
+ ],
1169
+ hasBody: true,
1170
+ statuses: [200],
1171
+ discovery: false,
1172
+ response: S.ReleaseResponseSchema,
1173
+ },
1174
+ remove_link: {
1175
+ method: 'DELETE',
1176
+ path: '/v1/items/{key}/links/{id}',
1177
+ pathParams: ['key', 'id'],
1178
+ arrayQueryParams: [],
1179
+ scope: 'projects:write',
1180
+ requiredScopes: ['projects:write'],
1181
+ hints: { read_only: false, destructive: true, idempotent: true, needs_projects: true },
1182
+ errors: [
1183
+ 'bad_request',
1184
+ 'token_invalid',
1185
+ 'token_expired',
1186
+ 'token_revoked',
1187
+ 'token_suspended',
1188
+ 'agent_access_off',
1189
+ 'projects_off',
1190
+ 'scope_missing',
1191
+ 'outside_limits',
1192
+ 'forbidden',
1193
+ 'archived',
1194
+ 'not_found',
1195
+ 'validation',
1196
+ 'ambiguous',
1197
+ 'limit_reached',
1198
+ 'rate_limited',
1199
+ 'internal',
1200
+ 'unavailable',
1201
+ ],
1202
+ hasBody: false,
1203
+ statuses: [200],
1204
+ discovery: false,
1205
+ response: S.RemoveLinkResponseSchema,
1206
+ },
1207
+ remove_release_items: {
1208
+ method: 'POST',
1209
+ path: '/v1/projects/{key}/releases/{release}/items/remove',
1210
+ pathParams: ['key', 'release'],
1211
+ arrayQueryParams: [],
1212
+ scope: 'projects:write',
1213
+ requiredScopes: ['projects:write'],
1214
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: true },
1215
+ errors: [
1216
+ 'bad_request',
1217
+ 'token_invalid',
1218
+ 'token_expired',
1219
+ 'token_revoked',
1220
+ 'token_suspended',
1221
+ 'agent_access_off',
1222
+ 'projects_off',
1223
+ 'scope_missing',
1224
+ 'outside_limits',
1225
+ 'forbidden',
1226
+ 'archived',
1227
+ 'not_found',
1228
+ 'body_too_large',
1229
+ 'validation',
1230
+ 'ambiguous',
1231
+ 'limit_reached',
1232
+ 'rate_limited',
1233
+ 'internal',
1234
+ 'unavailable',
1235
+ ],
1236
+ hasBody: true,
1237
+ statuses: [200],
1238
+ discovery: false,
1239
+ response: S.ReleaseItemsResponseSchema,
1240
+ },
1241
+ remove_sprint_items: {
1242
+ method: 'POST',
1243
+ path: '/v1/projects/{key}/sprints/{sprint}/items/remove',
1244
+ pathParams: ['key', 'sprint'],
1245
+ arrayQueryParams: [],
1246
+ scope: 'projects:write',
1247
+ requiredScopes: ['projects:write'],
1248
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: true },
1249
+ errors: [
1250
+ 'bad_request',
1251
+ 'token_invalid',
1252
+ 'token_expired',
1253
+ 'token_revoked',
1254
+ 'token_suspended',
1255
+ 'agent_access_off',
1256
+ 'projects_off',
1257
+ 'scope_missing',
1258
+ 'outside_limits',
1259
+ 'forbidden',
1260
+ 'archived',
1261
+ 'not_found',
1262
+ 'body_too_large',
1263
+ 'validation',
1264
+ 'ambiguous',
1265
+ 'limit_reached',
1266
+ 'rate_limited',
1267
+ 'internal',
1268
+ 'unavailable',
1269
+ ],
1270
+ hasBody: true,
1271
+ statuses: [200],
1272
+ discovery: false,
1273
+ response: S.SprintItemsResponseSchema,
1274
+ },
1275
+ reopen_release: {
1276
+ method: 'POST',
1277
+ path: '/v1/projects/{key}/releases/{release}/reopen',
1278
+ pathParams: ['key', 'release'],
1279
+ arrayQueryParams: [],
1280
+ scope: 'projects:write',
1281
+ requiredScopes: ['projects:write'],
1282
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: true },
1283
+ errors: [
1284
+ 'bad_request',
1285
+ 'token_invalid',
1286
+ 'token_expired',
1287
+ 'token_revoked',
1288
+ 'token_suspended',
1289
+ 'agent_access_off',
1290
+ 'projects_off',
1291
+ 'scope_missing',
1292
+ 'outside_limits',
1293
+ 'forbidden',
1294
+ 'archived',
1295
+ 'not_found',
1296
+ 'validation',
1297
+ 'ambiguous',
1298
+ 'limit_reached',
1299
+ 'rate_limited',
1300
+ 'internal',
1301
+ 'unavailable',
1302
+ 'release_archived',
1303
+ ],
1304
+ hasBody: false,
1305
+ statuses: [200],
1306
+ discovery: false,
1307
+ response: S.ReleaseResponseSchema,
1308
+ },
1309
+ restore_release: {
1310
+ method: 'POST',
1311
+ path: '/v1/projects/{key}/releases/{release}/restore',
1312
+ pathParams: ['key', 'release'],
1313
+ arrayQueryParams: [],
1314
+ scope: 'projects:write',
1315
+ requiredScopes: ['projects:write'],
1316
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: true },
1317
+ errors: [
1318
+ 'bad_request',
1319
+ 'token_invalid',
1320
+ 'token_expired',
1321
+ 'token_revoked',
1322
+ 'token_suspended',
1323
+ 'agent_access_off',
1324
+ 'projects_off',
1325
+ 'scope_missing',
1326
+ 'outside_limits',
1327
+ 'forbidden',
1328
+ 'archived',
1329
+ 'not_found',
1330
+ 'validation',
1331
+ 'ambiguous',
1332
+ 'limit_reached',
1333
+ 'rate_limited',
1334
+ 'internal',
1335
+ 'unavailable',
1336
+ ],
1337
+ hasBody: false,
1338
+ statuses: [200],
1339
+ discovery: false,
1340
+ response: S.ReleaseResponseSchema,
1341
+ },
1342
+ search_items: {
1343
+ method: 'GET',
1344
+ path: '/v1/items',
1345
+ pathParams: [],
1346
+ arrayQueryParams: [
1347
+ 'project',
1348
+ 'type',
1349
+ 'status',
1350
+ 'category',
1351
+ 'priority',
1352
+ 'assignee',
1353
+ 'label',
1354
+ 'sort',
1355
+ ],
1356
+ scope: 'projects:read',
1357
+ requiredScopes: ['projects:read'],
1358
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: true },
1359
+ errors: [
1360
+ 'bad_request',
1361
+ 'token_invalid',
1362
+ 'token_expired',
1363
+ 'token_revoked',
1364
+ 'token_suspended',
1365
+ 'agent_access_off',
1366
+ 'projects_off',
1367
+ 'scope_missing',
1368
+ 'outside_limits',
1369
+ 'not_found',
1370
+ 'validation',
1371
+ 'ambiguous',
1372
+ 'rate_limited',
1373
+ 'internal',
1374
+ 'unavailable',
1375
+ ],
1376
+ hasBody: false,
1377
+ statuses: [200],
1378
+ discovery: false,
1379
+ response: S.SearchItemsResponseSchema,
1380
+ },
1381
+ start_sprint: {
1382
+ method: 'POST',
1383
+ path: '/v1/projects/{key}/sprints/{sprint}/start',
1384
+ pathParams: ['key', 'sprint'],
1385
+ arrayQueryParams: [],
1386
+ scope: 'projects:write',
1387
+ requiredScopes: ['projects:write'],
1388
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: true },
1389
+ errors: [
1390
+ 'bad_request',
1391
+ 'token_invalid',
1392
+ 'token_expired',
1393
+ 'token_revoked',
1394
+ 'token_suspended',
1395
+ 'agent_access_off',
1396
+ 'projects_off',
1397
+ 'scope_missing',
1398
+ 'outside_limits',
1399
+ 'forbidden',
1400
+ 'archived',
1401
+ 'not_found',
1402
+ 'body_too_large',
1403
+ 'validation',
1404
+ 'ambiguous',
1405
+ 'limit_reached',
1406
+ 'rate_limited',
1407
+ 'internal',
1408
+ 'unavailable',
1409
+ ],
1410
+ hasBody: true,
1411
+ statuses: [200],
1412
+ discovery: false,
1413
+ response: S.StartSprintResponseSchema,
1414
+ },
1415
+ transition_item: {
1416
+ method: 'POST',
1417
+ path: '/v1/items/{key}/transition',
1418
+ pathParams: ['key'],
1419
+ arrayQueryParams: [],
1420
+ scope: 'projects:write',
1421
+ requiredScopes: ['projects:write'],
1422
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: true },
1423
+ errors: [
1424
+ 'bad_request',
1425
+ 'token_invalid',
1426
+ 'token_expired',
1427
+ 'token_revoked',
1428
+ 'token_suspended',
1429
+ 'agent_access_off',
1430
+ 'projects_off',
1431
+ 'scope_missing',
1432
+ 'outside_limits',
1433
+ 'forbidden',
1434
+ 'archived',
1435
+ 'not_found',
1436
+ 'conflict',
1437
+ 'body_too_large',
1438
+ 'validation',
1439
+ 'ambiguous',
1440
+ 'transition_not_allowed',
1441
+ 'field_required',
1442
+ 'limit_reached',
1443
+ 'rate_limited',
1444
+ 'internal',
1445
+ 'unavailable',
1446
+ ],
1447
+ hasBody: true,
1448
+ statuses: [200],
1449
+ discovery: false,
1450
+ response: S.TransitionItemResponseSchema,
1451
+ },
1452
+ update_item: {
1453
+ method: 'PATCH',
1454
+ path: '/v1/items/{key}',
1455
+ pathParams: ['key'],
1456
+ arrayQueryParams: [],
1457
+ scope: 'projects:write',
1458
+ requiredScopes: ['projects:write'],
1459
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: true },
1460
+ errors: [
1461
+ 'bad_request',
1462
+ 'token_invalid',
1463
+ 'token_expired',
1464
+ 'token_revoked',
1465
+ 'token_suspended',
1466
+ 'agent_access_off',
1467
+ 'projects_off',
1468
+ 'scope_missing',
1469
+ 'outside_limits',
1470
+ 'forbidden',
1471
+ 'archived',
1472
+ 'not_found',
1473
+ 'conflict',
1474
+ 'body_too_large',
1475
+ 'validation',
1476
+ 'image_layout_invalid',
1477
+ 'ambiguous',
1478
+ 'transition_not_allowed',
1479
+ 'field_required',
1480
+ 'limit_reached',
1481
+ 'rate_limited',
1482
+ 'internal',
1483
+ 'unavailable',
1484
+ ],
1485
+ hasBody: true,
1486
+ statuses: [200],
1487
+ discovery: false,
1488
+ response: S.ItemWriteResponseSchema,
1489
+ },
1490
+ update_page: {
1491
+ method: 'PATCH',
1492
+ path: '/v1/pages/{id}',
1493
+ pathParams: ['id'],
1494
+ arrayQueryParams: [],
1495
+ scope: 'pages:write',
1496
+ requiredScopes: ['pages:write'],
1497
+ hints: { read_only: false, destructive: true, idempotent: true, needs_projects: false },
1498
+ errors: [
1499
+ 'bad_request',
1500
+ 'token_invalid',
1501
+ 'token_expired',
1502
+ 'token_revoked',
1503
+ 'token_suspended',
1504
+ 'agent_access_off',
1505
+ 'scope_missing',
1506
+ 'outside_limits',
1507
+ 'forbidden',
1508
+ 'archived',
1509
+ 'not_found',
1510
+ 'conflict',
1511
+ 'body_too_large',
1512
+ 'validation',
1513
+ 'image_layout_invalid',
1514
+ 'rate_limited',
1515
+ 'internal',
1516
+ 'unavailable',
1517
+ ],
1518
+ hasBody: true,
1519
+ statuses: [200],
1520
+ discovery: false,
1521
+ response: S.PageResponseSchema,
1522
+ },
1523
+ update_release: {
1524
+ method: 'PATCH',
1525
+ path: '/v1/projects/{key}/releases/{release}',
1526
+ pathParams: ['key', 'release'],
1527
+ arrayQueryParams: [],
1528
+ scope: 'projects:write',
1529
+ requiredScopes: ['projects:write'],
1530
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: true },
1531
+ errors: [
1532
+ 'bad_request',
1533
+ 'token_invalid',
1534
+ 'token_expired',
1535
+ 'token_revoked',
1536
+ 'token_suspended',
1537
+ 'agent_access_off',
1538
+ 'projects_off',
1539
+ 'scope_missing',
1540
+ 'outside_limits',
1541
+ 'forbidden',
1542
+ 'archived',
1543
+ 'not_found',
1544
+ 'body_too_large',
1545
+ 'validation',
1546
+ 'ambiguous',
1547
+ 'limit_reached',
1548
+ 'rate_limited',
1549
+ 'internal',
1550
+ 'unavailable',
1551
+ 'release_archived',
1552
+ 'release_not_released',
1553
+ ],
1554
+ hasBody: true,
1555
+ statuses: [200],
1556
+ discovery: false,
1557
+ response: S.ReleaseResponseSchema,
1558
+ },
1559
+ };