@esaio/esa-mcp-server 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.
Files changed (80) hide show
  1. package/.claude/settings.local.json +23 -0
  2. package/.dockerignore +36 -0
  3. package/.envrc +2 -0
  4. package/.github/dependabot.yml +18 -0
  5. package/.github/workflows/docker-publish.yml +120 -0
  6. package/.github/workflows/main.yml +41 -0
  7. package/.node-version +1 -0
  8. package/CLAUDE.md +94 -0
  9. package/Dockerfile +34 -0
  10. package/LICENSE +7 -0
  11. package/README.en.md +139 -0
  12. package/README.md +139 -0
  13. package/bin/index.js +30 -0
  14. package/biome.json +57 -0
  15. package/package.json +48 -0
  16. package/src/__tests__/fixtures/mock-comment.ts +90 -0
  17. package/src/__tests__/fixtures/mock-post.ts +79 -0
  18. package/src/__tests__/index.test.ts +209 -0
  19. package/src/api_client/__tests__/index.test.ts +149 -0
  20. package/src/api_client/__tests__/middleware.test.ts +119 -0
  21. package/src/api_client/__tests__/with-context.test.ts +98 -0
  22. package/src/api_client/index.ts +29 -0
  23. package/src/api_client/middleware.ts +21 -0
  24. package/src/api_client/with-context.ts +26 -0
  25. package/src/config/__tests__/index.test.ts +65 -0
  26. package/src/config/index.ts +20 -0
  27. package/src/context/mcp-context.ts +1 -0
  28. package/src/context/stdio-context.ts +6 -0
  29. package/src/errors/missing-team-name-error.ts +8 -0
  30. package/src/formatters/__tests__/mcp-response.test.ts +106 -0
  31. package/src/formatters/mcp-response.ts +95 -0
  32. package/src/generated/api-types.ts +2691 -0
  33. package/src/i18n/__tests__/index.test.ts +53 -0
  34. package/src/i18n/index.ts +39 -0
  35. package/src/index.ts +47 -0
  36. package/src/locales/en.json +13 -0
  37. package/src/locales/ja.json +13 -0
  38. package/src/prompts/__tests__/index.test.ts +47 -0
  39. package/src/prompts/__tests__/summarize-post.test.ts +291 -0
  40. package/src/prompts/index.ts +21 -0
  41. package/src/prompts/summarize-post.ts +94 -0
  42. package/src/resources/__tests__/index.test.ts +49 -0
  43. package/src/resources/__tests__/recent-posts-list.test.ts +91 -0
  44. package/src/resources/__tests__/recent-posts.test.ts +270 -0
  45. package/src/resources/index.ts +33 -0
  46. package/src/resources/recent-posts-list.ts +22 -0
  47. package/src/resources/recent-posts.ts +45 -0
  48. package/src/schemas/team-name-schema.ts +19 -0
  49. package/src/tools/__tests__/categories.test.ts +226 -0
  50. package/src/tools/__tests__/comments.test.ts +970 -0
  51. package/src/tools/__tests__/helps.test.ts +222 -0
  52. package/src/tools/__tests__/index.test.ts +47 -0
  53. package/src/tools/__tests__/post-actions.test.ts +445 -0
  54. package/src/tools/__tests__/posts.test.ts +917 -0
  55. package/src/tools/__tests__/search.test.ts +339 -0
  56. package/src/tools/__tests__/teams.test.ts +615 -0
  57. package/src/tools/categories.ts +93 -0
  58. package/src/tools/comments.ts +258 -0
  59. package/src/tools/helps.ts +50 -0
  60. package/src/tools/index.ts +324 -0
  61. package/src/tools/post-actions.ts +132 -0
  62. package/src/tools/posts.ts +179 -0
  63. package/src/tools/search.ts +98 -0
  64. package/src/tools/teams.ts +157 -0
  65. package/src/transformers/__tests__/category-transformer.test.ts +161 -0
  66. package/src/transformers/__tests__/comment-transformer.test.ts +129 -0
  67. package/src/transformers/__tests__/post-name-normalizer.test.ts +53 -0
  68. package/src/transformers/__tests__/post-transformer.test.ts +70 -0
  69. package/src/transformers/__tests__/query-normalizer.test.ts +98 -0
  70. package/src/transformers/__tests__/team-name-normalizer.test.ts +21 -0
  71. package/src/transformers/category-transformer.ts +36 -0
  72. package/src/transformers/comment-transformer.ts +34 -0
  73. package/src/transformers/post-name-normalizer.ts +30 -0
  74. package/src/transformers/post-transformer.ts +38 -0
  75. package/src/transformers/query-normalizer.ts +36 -0
  76. package/src/transformers/team-name-normalizer.ts +7 -0
  77. package/tsconfig.build.json +4 -0
  78. package/tsconfig.json +30 -0
  79. package/tsdown.config.ts +13 -0
  80. package/vitest.config.ts +24 -0
@@ -0,0 +1,2691 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+
6
+ export interface paths {
7
+ "/v1/teams": {
8
+ parameters: {
9
+ query?: never;
10
+ header?: never;
11
+ path?: never;
12
+ cookie?: never;
13
+ };
14
+ /**
15
+ * チーム一覧取得
16
+ * @description 自分が所属しているチームの一覧を取得します
17
+ */
18
+ get: {
19
+ parameters: {
20
+ query?: {
21
+ /** @description ページ番号(1から開始) */
22
+ page?: components["parameters"]["page"];
23
+ /** @description 1ページあたりの要素数 */
24
+ per_page?: components["parameters"]["per_page"];
25
+ /** @description 権限によるフィルタ */
26
+ role?: "member" | "owner";
27
+ };
28
+ header?: never;
29
+ path?: never;
30
+ cookie?: never;
31
+ };
32
+ requestBody?: never;
33
+ responses: {
34
+ /** @description 成功 */
35
+ 200: {
36
+ headers: {
37
+ [name: string]: unknown;
38
+ };
39
+ content: {
40
+ "application/json": components["schemas"]["TeamList"];
41
+ };
42
+ };
43
+ 400: components["responses"]["BadRequestError"];
44
+ 401: components["responses"]["UnauthorizedError"];
45
+ 402: components["responses"]["PaymentRequiredError"];
46
+ 403: components["responses"]["ForbiddenError"];
47
+ 405: components["responses"]["MethodNotAllowedError"];
48
+ 406: components["responses"]["NotAcceptableError"];
49
+ 429: components["responses"]["TooManyRequestsError"];
50
+ 500: components["responses"]["InternalServerError"];
51
+ };
52
+ };
53
+ put?: never;
54
+ post?: never;
55
+ delete?: never;
56
+ options?: never;
57
+ head?: never;
58
+ patch?: never;
59
+ trace?: never;
60
+ };
61
+ "/v1/teams/{team_name}": {
62
+ parameters: {
63
+ query?: never;
64
+ header?: never;
65
+ path?: never;
66
+ cookie?: never;
67
+ };
68
+ /**
69
+ * チーム情報取得
70
+ * @description 指定されたチームの情報を取得します
71
+ */
72
+ get: {
73
+ parameters: {
74
+ query?: never;
75
+ header?: never;
76
+ path: {
77
+ /** @description チーム名 */
78
+ team_name: components["parameters"]["team_name"];
79
+ };
80
+ cookie?: never;
81
+ };
82
+ requestBody?: never;
83
+ responses: {
84
+ /** @description 成功 */
85
+ 200: {
86
+ headers: {
87
+ [name: string]: unknown;
88
+ };
89
+ content: {
90
+ "application/json": components["schemas"]["Team"];
91
+ };
92
+ };
93
+ 400: components["responses"]["BadRequestError"];
94
+ 401: components["responses"]["UnauthorizedError"];
95
+ 402: components["responses"]["PaymentRequiredError"];
96
+ 403: components["responses"]["ForbiddenError"];
97
+ 404: components["responses"]["NotFoundError"];
98
+ 405: components["responses"]["MethodNotAllowedError"];
99
+ 406: components["responses"]["NotAcceptableError"];
100
+ 429: components["responses"]["TooManyRequestsError"];
101
+ 500: components["responses"]["InternalServerError"];
102
+ };
103
+ };
104
+ put?: never;
105
+ post?: never;
106
+ delete?: never;
107
+ options?: never;
108
+ head?: never;
109
+ patch?: never;
110
+ trace?: never;
111
+ };
112
+ "/v1/teams/{team_name}/stats": {
113
+ parameters: {
114
+ query?: never;
115
+ header?: never;
116
+ path?: never;
117
+ cookie?: never;
118
+ };
119
+ /**
120
+ * チーム統計情報取得
121
+ * @description チームの統計情報を取得します
122
+ */
123
+ get: {
124
+ parameters: {
125
+ query?: never;
126
+ header?: never;
127
+ path: {
128
+ /** @description チーム名 */
129
+ team_name: components["parameters"]["team_name"];
130
+ };
131
+ cookie?: never;
132
+ };
133
+ requestBody?: never;
134
+ responses: {
135
+ /** @description 成功 */
136
+ 200: {
137
+ headers: {
138
+ [name: string]: unknown;
139
+ };
140
+ content: {
141
+ "application/json": components["schemas"]["TeamStats"];
142
+ };
143
+ };
144
+ 400: components["responses"]["BadRequestError"];
145
+ 401: components["responses"]["UnauthorizedError"];
146
+ 402: components["responses"]["PaymentRequiredError"];
147
+ 403: components["responses"]["ForbiddenError"];
148
+ 404: components["responses"]["NotFoundError"];
149
+ 405: components["responses"]["MethodNotAllowedError"];
150
+ 406: components["responses"]["NotAcceptableError"];
151
+ 429: components["responses"]["TooManyRequestsError"];
152
+ 500: components["responses"]["InternalServerError"];
153
+ };
154
+ };
155
+ put?: never;
156
+ post?: never;
157
+ delete?: never;
158
+ options?: never;
159
+ head?: never;
160
+ patch?: never;
161
+ trace?: never;
162
+ };
163
+ "/v1/teams/{team_name}/members": {
164
+ parameters: {
165
+ query?: never;
166
+ header?: never;
167
+ path?: never;
168
+ cookie?: never;
169
+ };
170
+ /**
171
+ * メンバー一覧取得
172
+ * @description チームのメンバー一覧を取得します
173
+ */
174
+ get: {
175
+ parameters: {
176
+ query?: {
177
+ /** @description ページ番号(1から開始) */
178
+ page?: components["parameters"]["page"];
179
+ /** @description 1ページあたりの要素数 */
180
+ per_page?: components["parameters"]["per_page"];
181
+ /** @description ソート基準 */
182
+ sort?: "posts_count" | "joined" | "last_accessed";
183
+ /** @description ソート順序 */
184
+ order?: "desc" | "asc";
185
+ };
186
+ header?: never;
187
+ path: {
188
+ /** @description チーム名 */
189
+ team_name: components["parameters"]["team_name"];
190
+ };
191
+ cookie?: never;
192
+ };
193
+ requestBody?: never;
194
+ responses: {
195
+ /** @description 成功 */
196
+ 200: {
197
+ headers: {
198
+ [name: string]: unknown;
199
+ };
200
+ content: {
201
+ "application/json": components["schemas"]["MemberList"];
202
+ };
203
+ };
204
+ 400: components["responses"]["BadRequestError"];
205
+ 401: components["responses"]["UnauthorizedError"];
206
+ 402: components["responses"]["PaymentRequiredError"];
207
+ 403: components["responses"]["ForbiddenError"];
208
+ 404: components["responses"]["NotFoundError"];
209
+ 405: components["responses"]["MethodNotAllowedError"];
210
+ 406: components["responses"]["NotAcceptableError"];
211
+ 429: components["responses"]["TooManyRequestsError"];
212
+ 500: components["responses"]["InternalServerError"];
213
+ };
214
+ };
215
+ put?: never;
216
+ post?: never;
217
+ delete?: never;
218
+ options?: never;
219
+ head?: never;
220
+ patch?: never;
221
+ trace?: never;
222
+ };
223
+ "/v1/teams/{team_name}/members/{screen_name_or_email}": {
224
+ parameters: {
225
+ query?: never;
226
+ header?: never;
227
+ path?: never;
228
+ cookie?: never;
229
+ };
230
+ /**
231
+ * メンバー情報取得
232
+ * @description 指定されたメンバーの情報を取得します
233
+ */
234
+ get: {
235
+ parameters: {
236
+ query?: never;
237
+ header?: never;
238
+ path: {
239
+ /** @description チーム名 */
240
+ team_name: components["parameters"]["team_name"];
241
+ /** @description スクリーンネームまたはメールアドレス(meで自分) */
242
+ screen_name_or_email: string;
243
+ };
244
+ cookie?: never;
245
+ };
246
+ requestBody?: never;
247
+ responses: {
248
+ /** @description 成功 */
249
+ 200: {
250
+ headers: {
251
+ [name: string]: unknown;
252
+ };
253
+ content: {
254
+ "application/json": components["schemas"]["Member"];
255
+ };
256
+ };
257
+ 400: components["responses"]["BadRequestError"];
258
+ 401: components["responses"]["UnauthorizedError"];
259
+ 402: components["responses"]["PaymentRequiredError"];
260
+ 403: components["responses"]["ForbiddenError"];
261
+ 404: components["responses"]["NotFoundError"];
262
+ 405: components["responses"]["MethodNotAllowedError"];
263
+ 406: components["responses"]["NotAcceptableError"];
264
+ 429: components["responses"]["TooManyRequestsError"];
265
+ 500: components["responses"]["InternalServerError"];
266
+ };
267
+ };
268
+ put?: never;
269
+ post?: never;
270
+ /**
271
+ * メンバー削除
272
+ * @description 指定されたメンバーをチームから削除します(owner権限必要)
273
+ */
274
+ delete: {
275
+ parameters: {
276
+ query?: never;
277
+ header?: never;
278
+ path: {
279
+ /** @description チーム名 */
280
+ team_name: components["parameters"]["team_name"];
281
+ /** @description スクリーンネームまたはメールアドレス */
282
+ screen_name_or_email: string;
283
+ };
284
+ cookie?: never;
285
+ };
286
+ requestBody?: never;
287
+ responses: {
288
+ /** @description 削除成功 */
289
+ 204: {
290
+ headers: {
291
+ [name: string]: unknown;
292
+ };
293
+ content?: never;
294
+ };
295
+ 400: components["responses"]["BadRequestError"];
296
+ 401: components["responses"]["UnauthorizedError"];
297
+ 402: components["responses"]["PaymentRequiredError"];
298
+ 403: components["responses"]["ForbiddenError"];
299
+ 404: components["responses"]["NotFoundError"];
300
+ 405: components["responses"]["MethodNotAllowedError"];
301
+ 406: components["responses"]["NotAcceptableError"];
302
+ 429: components["responses"]["TooManyRequestsError"];
303
+ 500: components["responses"]["InternalServerError"];
304
+ };
305
+ };
306
+ options?: never;
307
+ head?: never;
308
+ patch?: never;
309
+ trace?: never;
310
+ };
311
+ "/v1/teams/{team_name}/posts": {
312
+ parameters: {
313
+ query?: never;
314
+ header?: never;
315
+ path?: never;
316
+ cookie?: never;
317
+ };
318
+ /**
319
+ * 記事一覧取得
320
+ * @description チームの記事一覧を取得します
321
+ */
322
+ get: {
323
+ parameters: {
324
+ query?: {
325
+ /** @description ページ番号(1から開始) */
326
+ page?: components["parameters"]["page"];
327
+ /** @description 1ページあたりの要素数 */
328
+ per_page?: components["parameters"]["per_page"];
329
+ /** @description 追加で含める情報(カンマ区切り) */
330
+ include?: components["parameters"]["include"];
331
+ /** @description 検索クエリ */
332
+ q?: string;
333
+ /** @description ソート基準 */
334
+ sort?:
335
+ | "updated"
336
+ | "created"
337
+ | "number"
338
+ | "stars"
339
+ | "watches"
340
+ | "comments"
341
+ | "best_match";
342
+ /** @description ソート順序 */
343
+ order?: "desc" | "asc";
344
+ };
345
+ header?: never;
346
+ path: {
347
+ /** @description チーム名 */
348
+ team_name: components["parameters"]["team_name"];
349
+ };
350
+ cookie?: never;
351
+ };
352
+ requestBody?: never;
353
+ responses: {
354
+ /** @description 成功 */
355
+ 200: {
356
+ headers: {
357
+ [name: string]: unknown;
358
+ };
359
+ content: {
360
+ "application/json": components["schemas"]["PostList"];
361
+ };
362
+ };
363
+ 400: components["responses"]["BadRequestError"];
364
+ 401: components["responses"]["UnauthorizedError"];
365
+ 402: components["responses"]["PaymentRequiredError"];
366
+ 403: components["responses"]["ForbiddenError"];
367
+ 404: components["responses"]["NotFoundError"];
368
+ 405: components["responses"]["MethodNotAllowedError"];
369
+ 406: components["responses"]["NotAcceptableError"];
370
+ 429: components["responses"]["TooManyRequestsError"];
371
+ 500: components["responses"]["InternalServerError"];
372
+ };
373
+ };
374
+ put?: never;
375
+ /**
376
+ * 記事作成
377
+ * @description 新しい記事を作成します
378
+ */
379
+ post: {
380
+ parameters: {
381
+ query?: never;
382
+ header?: never;
383
+ path: {
384
+ /** @description チーム名 */
385
+ team_name: components["parameters"]["team_name"];
386
+ };
387
+ cookie?: never;
388
+ };
389
+ requestBody: {
390
+ content: {
391
+ "application/json": {
392
+ post: components["schemas"]["PostCreateInput"];
393
+ };
394
+ };
395
+ };
396
+ responses: {
397
+ /** @description 作成成功 */
398
+ 201: {
399
+ headers: {
400
+ [name: string]: unknown;
401
+ };
402
+ content: {
403
+ "application/json": components["schemas"]["Post"];
404
+ };
405
+ };
406
+ 400: components["responses"]["BadRequestError"];
407
+ 401: components["responses"]["UnauthorizedError"];
408
+ 402: components["responses"]["PaymentRequiredError"];
409
+ 403: components["responses"]["ForbiddenError"];
410
+ 405: components["responses"]["MethodNotAllowedError"];
411
+ 406: components["responses"]["NotAcceptableError"];
412
+ 429: components["responses"]["TooManyRequestsError"];
413
+ 500: components["responses"]["InternalServerError"];
414
+ };
415
+ };
416
+ delete?: never;
417
+ options?: never;
418
+ head?: never;
419
+ patch?: never;
420
+ trace?: never;
421
+ };
422
+ "/v1/teams/{team_name}/posts/new": {
423
+ parameters: {
424
+ query?: never;
425
+ header?: never;
426
+ path?: never;
427
+ cookie?: never;
428
+ };
429
+ /**
430
+ * 記事投稿デフォルト値取得
431
+ * @description 記事投稿時のデフォルトのタイトルと記事本文を返します
432
+ */
433
+ get: {
434
+ parameters: {
435
+ query?: {
436
+ /** @description 記事複製時に元の記事のIDを指定する */
437
+ parent_post_id?: number;
438
+ /** @description カテゴリの「ここに投稿」時にカテゴリのパスを指定する */
439
+ category_path?: string;
440
+ };
441
+ header?: never;
442
+ path: {
443
+ /** @description チーム名 */
444
+ team_name: components["parameters"]["team_name"];
445
+ };
446
+ cookie?: never;
447
+ };
448
+ requestBody?: never;
449
+ responses: {
450
+ /** @description 成功 */
451
+ 200: {
452
+ headers: {
453
+ [name: string]: unknown;
454
+ };
455
+ content: {
456
+ "application/json": {
457
+ post: components["schemas"]["PostNew"];
458
+ };
459
+ };
460
+ };
461
+ 400: components["responses"]["BadRequestError"];
462
+ 401: components["responses"]["UnauthorizedError"];
463
+ 402: components["responses"]["PaymentRequiredError"];
464
+ 403: components["responses"]["ForbiddenError"];
465
+ 404: components["responses"]["NotFoundError"];
466
+ 405: components["responses"]["MethodNotAllowedError"];
467
+ 406: components["responses"]["NotAcceptableError"];
468
+ 429: components["responses"]["TooManyRequestsError"];
469
+ 500: components["responses"]["InternalServerError"];
470
+ };
471
+ };
472
+ put?: never;
473
+ post?: never;
474
+ delete?: never;
475
+ options?: never;
476
+ head?: never;
477
+ patch?: never;
478
+ trace?: never;
479
+ };
480
+ "/v1/teams/{team_name}/posts/{post_number}": {
481
+ parameters: {
482
+ query?: never;
483
+ header?: never;
484
+ path?: never;
485
+ cookie?: never;
486
+ };
487
+ /**
488
+ * 記事取得
489
+ * @description 指定された記事を取得します
490
+ */
491
+ get: {
492
+ parameters: {
493
+ query?: {
494
+ /** @description 追加で含める情報(カンマ区切り) */
495
+ include?: components["parameters"]["include"];
496
+ };
497
+ header?: never;
498
+ path: {
499
+ /** @description チーム名 */
500
+ team_name: components["parameters"]["team_name"];
501
+ /** @description 記事番号 */
502
+ post_number: components["parameters"]["post_number"];
503
+ };
504
+ cookie?: never;
505
+ };
506
+ requestBody?: never;
507
+ responses: {
508
+ /** @description 成功 */
509
+ 200: {
510
+ headers: {
511
+ [name: string]: unknown;
512
+ };
513
+ content: {
514
+ "application/json": components["schemas"]["Post"];
515
+ };
516
+ };
517
+ 400: components["responses"]["BadRequestError"];
518
+ 401: components["responses"]["UnauthorizedError"];
519
+ 402: components["responses"]["PaymentRequiredError"];
520
+ 403: components["responses"]["ForbiddenError"];
521
+ 404: components["responses"]["NotFoundError"];
522
+ 405: components["responses"]["MethodNotAllowedError"];
523
+ 406: components["responses"]["NotAcceptableError"];
524
+ 429: components["responses"]["TooManyRequestsError"];
525
+ 500: components["responses"]["InternalServerError"];
526
+ };
527
+ };
528
+ put?: never;
529
+ post?: never;
530
+ /**
531
+ * 記事削除
532
+ * @description 指定された記事を削除します
533
+ */
534
+ delete: {
535
+ parameters: {
536
+ query?: never;
537
+ header?: never;
538
+ path: {
539
+ /** @description チーム名 */
540
+ team_name: components["parameters"]["team_name"];
541
+ /** @description 記事番号 */
542
+ post_number: components["parameters"]["post_number"];
543
+ };
544
+ cookie?: never;
545
+ };
546
+ requestBody?: never;
547
+ responses: {
548
+ /** @description 削除成功 */
549
+ 204: {
550
+ headers: {
551
+ [name: string]: unknown;
552
+ };
553
+ content?: never;
554
+ };
555
+ 400: components["responses"]["BadRequestError"];
556
+ 401: components["responses"]["UnauthorizedError"];
557
+ 402: components["responses"]["PaymentRequiredError"];
558
+ 403: components["responses"]["ForbiddenError"];
559
+ 404: components["responses"]["NotFoundError"];
560
+ 405: components["responses"]["MethodNotAllowedError"];
561
+ 406: components["responses"]["NotAcceptableError"];
562
+ 429: components["responses"]["TooManyRequestsError"];
563
+ 500: components["responses"]["InternalServerError"];
564
+ };
565
+ };
566
+ options?: never;
567
+ head?: never;
568
+ /**
569
+ * 記事更新
570
+ * @description 指定された記事を更新します
571
+ */
572
+ patch: {
573
+ parameters: {
574
+ query?: never;
575
+ header?: never;
576
+ path: {
577
+ /** @description チーム名 */
578
+ team_name: components["parameters"]["team_name"];
579
+ /** @description 記事番号 */
580
+ post_number: components["parameters"]["post_number"];
581
+ };
582
+ cookie?: never;
583
+ };
584
+ requestBody: {
585
+ content: {
586
+ "application/json": {
587
+ post: components["schemas"]["PostUpdateInput"];
588
+ };
589
+ };
590
+ };
591
+ responses: {
592
+ /** @description 更新成功 */
593
+ 200: {
594
+ headers: {
595
+ [name: string]: unknown;
596
+ };
597
+ content: {
598
+ "application/json": components["schemas"]["Post"];
599
+ };
600
+ };
601
+ 400: components["responses"]["BadRequestError"];
602
+ 401: components["responses"]["UnauthorizedError"];
603
+ 402: components["responses"]["PaymentRequiredError"];
604
+ 403: components["responses"]["ForbiddenError"];
605
+ 405: components["responses"]["MethodNotAllowedError"];
606
+ 406: components["responses"]["NotAcceptableError"];
607
+ 409: components["responses"]["ConflictError"];
608
+ 429: components["responses"]["TooManyRequestsError"];
609
+ 500: components["responses"]["InternalServerError"];
610
+ };
611
+ };
612
+ trace?: never;
613
+ };
614
+ "/v1/teams/{team_name}/posts/{post_number}/comments": {
615
+ parameters: {
616
+ query?: never;
617
+ header?: never;
618
+ path?: never;
619
+ cookie?: never;
620
+ };
621
+ /**
622
+ * コメント一覧取得
623
+ * @description 記事のコメント一覧を取得します
624
+ */
625
+ get: {
626
+ parameters: {
627
+ query?: {
628
+ /** @description ページ番号(1から開始) */
629
+ page?: components["parameters"]["page"];
630
+ /** @description 1ページあたりの要素数 */
631
+ per_page?: components["parameters"]["per_page"];
632
+ };
633
+ header?: never;
634
+ path: {
635
+ /** @description チーム名 */
636
+ team_name: components["parameters"]["team_name"];
637
+ /** @description 記事番号 */
638
+ post_number: components["parameters"]["post_number"];
639
+ };
640
+ cookie?: never;
641
+ };
642
+ requestBody?: never;
643
+ responses: {
644
+ /** @description 成功 */
645
+ 200: {
646
+ headers: {
647
+ [name: string]: unknown;
648
+ };
649
+ content: {
650
+ "application/json": components["schemas"]["CommentList"];
651
+ };
652
+ };
653
+ 400: components["responses"]["BadRequestError"];
654
+ 401: components["responses"]["UnauthorizedError"];
655
+ 402: components["responses"]["PaymentRequiredError"];
656
+ 403: components["responses"]["ForbiddenError"];
657
+ 404: components["responses"]["NotFoundError"];
658
+ 405: components["responses"]["MethodNotAllowedError"];
659
+ 406: components["responses"]["NotAcceptableError"];
660
+ 429: components["responses"]["TooManyRequestsError"];
661
+ 500: components["responses"]["InternalServerError"];
662
+ };
663
+ };
664
+ put?: never;
665
+ /**
666
+ * コメント作成
667
+ * @description 記事に新しいコメントを作成します
668
+ */
669
+ post: {
670
+ parameters: {
671
+ query?: never;
672
+ header?: never;
673
+ path: {
674
+ /** @description チーム名 */
675
+ team_name: components["parameters"]["team_name"];
676
+ /** @description 記事番号 */
677
+ post_number: components["parameters"]["post_number"];
678
+ };
679
+ cookie?: never;
680
+ };
681
+ requestBody: {
682
+ content: {
683
+ "application/json": {
684
+ comment: components["schemas"]["CommentInput"];
685
+ };
686
+ };
687
+ };
688
+ responses: {
689
+ /** @description 作成成功 */
690
+ 201: {
691
+ headers: {
692
+ [name: string]: unknown;
693
+ };
694
+ content: {
695
+ "application/json": components["schemas"]["Comment"];
696
+ };
697
+ };
698
+ 400: components["responses"]["BadRequestError"];
699
+ 401: components["responses"]["UnauthorizedError"];
700
+ 402: components["responses"]["PaymentRequiredError"];
701
+ 403: components["responses"]["ForbiddenError"];
702
+ 405: components["responses"]["MethodNotAllowedError"];
703
+ 406: components["responses"]["NotAcceptableError"];
704
+ 429: components["responses"]["TooManyRequestsError"];
705
+ 500: components["responses"]["InternalServerError"];
706
+ };
707
+ };
708
+ delete?: never;
709
+ options?: never;
710
+ head?: never;
711
+ patch?: never;
712
+ trace?: never;
713
+ };
714
+ "/v1/teams/{team_name}/comments": {
715
+ parameters: {
716
+ query?: never;
717
+ header?: never;
718
+ path?: never;
719
+ cookie?: never;
720
+ };
721
+ /**
722
+ * チーム全体のコメント一覧取得
723
+ * @description チーム全体のコメント一覧を作成日の降順で取得します
724
+ */
725
+ get: {
726
+ parameters: {
727
+ query?: {
728
+ /** @description ページ番号(1から開始) */
729
+ page?: components["parameters"]["page"];
730
+ /** @description 1ページあたりの要素数 */
731
+ per_page?: components["parameters"]["per_page"];
732
+ };
733
+ header?: never;
734
+ path: {
735
+ /** @description チーム名 */
736
+ team_name: components["parameters"]["team_name"];
737
+ };
738
+ cookie?: never;
739
+ };
740
+ requestBody?: never;
741
+ responses: {
742
+ /** @description 成功 */
743
+ 200: {
744
+ headers: {
745
+ [name: string]: unknown;
746
+ };
747
+ content: {
748
+ "application/json": components["schemas"]["CommentList"];
749
+ };
750
+ };
751
+ 400: components["responses"]["BadRequestError"];
752
+ 401: components["responses"]["UnauthorizedError"];
753
+ 402: components["responses"]["PaymentRequiredError"];
754
+ 403: components["responses"]["ForbiddenError"];
755
+ 404: components["responses"]["NotFoundError"];
756
+ 405: components["responses"]["MethodNotAllowedError"];
757
+ 406: components["responses"]["NotAcceptableError"];
758
+ 429: components["responses"]["TooManyRequestsError"];
759
+ 500: components["responses"]["InternalServerError"];
760
+ };
761
+ };
762
+ put?: never;
763
+ post?: never;
764
+ delete?: never;
765
+ options?: never;
766
+ head?: never;
767
+ patch?: never;
768
+ trace?: never;
769
+ };
770
+ "/v1/teams/{team_name}/comments/{comment_id}": {
771
+ parameters: {
772
+ query?: never;
773
+ header?: never;
774
+ path?: never;
775
+ cookie?: never;
776
+ };
777
+ /**
778
+ * コメント取得
779
+ * @description 指定されたコメントを取得します
780
+ */
781
+ get: {
782
+ parameters: {
783
+ query?: {
784
+ /** @description 追加で含める情報 */
785
+ include?: "stargazers";
786
+ };
787
+ header?: never;
788
+ path: {
789
+ /** @description チーム名 */
790
+ team_name: components["parameters"]["team_name"];
791
+ /** @description コメントID */
792
+ comment_id: components["parameters"]["comment_id"];
793
+ };
794
+ cookie?: never;
795
+ };
796
+ requestBody?: never;
797
+ responses: {
798
+ /** @description 成功 */
799
+ 200: {
800
+ headers: {
801
+ [name: string]: unknown;
802
+ };
803
+ content: {
804
+ "application/json": components["schemas"]["Comment"];
805
+ };
806
+ };
807
+ 400: components["responses"]["BadRequestError"];
808
+ 401: components["responses"]["UnauthorizedError"];
809
+ 402: components["responses"]["PaymentRequiredError"];
810
+ 403: components["responses"]["ForbiddenError"];
811
+ 404: components["responses"]["NotFoundError"];
812
+ 405: components["responses"]["MethodNotAllowedError"];
813
+ 406: components["responses"]["NotAcceptableError"];
814
+ 429: components["responses"]["TooManyRequestsError"];
815
+ 500: components["responses"]["InternalServerError"];
816
+ };
817
+ };
818
+ put?: never;
819
+ post?: never;
820
+ /**
821
+ * コメント削除
822
+ * @description 指定されたコメントを削除します
823
+ */
824
+ delete: {
825
+ parameters: {
826
+ query?: never;
827
+ header?: never;
828
+ path: {
829
+ /** @description チーム名 */
830
+ team_name: components["parameters"]["team_name"];
831
+ /** @description コメントID */
832
+ comment_id: components["parameters"]["comment_id"];
833
+ };
834
+ cookie?: never;
835
+ };
836
+ requestBody?: never;
837
+ responses: {
838
+ /** @description 削除成功 */
839
+ 204: {
840
+ headers: {
841
+ [name: string]: unknown;
842
+ };
843
+ content?: never;
844
+ };
845
+ 400: components["responses"]["BadRequestError"];
846
+ 401: components["responses"]["UnauthorizedError"];
847
+ 402: components["responses"]["PaymentRequiredError"];
848
+ 403: components["responses"]["ForbiddenError"];
849
+ 404: components["responses"]["NotFoundError"];
850
+ 405: components["responses"]["MethodNotAllowedError"];
851
+ 406: components["responses"]["NotAcceptableError"];
852
+ 429: components["responses"]["TooManyRequestsError"];
853
+ 500: components["responses"]["InternalServerError"];
854
+ };
855
+ };
856
+ options?: never;
857
+ head?: never;
858
+ /**
859
+ * コメント更新
860
+ * @description 指定されたコメントを更新します
861
+ */
862
+ patch: {
863
+ parameters: {
864
+ query?: never;
865
+ header?: never;
866
+ path: {
867
+ /** @description チーム名 */
868
+ team_name: components["parameters"]["team_name"];
869
+ /** @description コメントID */
870
+ comment_id: components["parameters"]["comment_id"];
871
+ };
872
+ cookie?: never;
873
+ };
874
+ requestBody: {
875
+ content: {
876
+ "application/json": {
877
+ comment: components["schemas"]["CommentInput"];
878
+ };
879
+ };
880
+ };
881
+ responses: {
882
+ /** @description 更新成功 */
883
+ 200: {
884
+ headers: {
885
+ [name: string]: unknown;
886
+ };
887
+ content: {
888
+ "application/json": components["schemas"]["Comment"];
889
+ };
890
+ };
891
+ 400: components["responses"]["BadRequestError"];
892
+ 401: components["responses"]["UnauthorizedError"];
893
+ 402: components["responses"]["PaymentRequiredError"];
894
+ 403: components["responses"]["ForbiddenError"];
895
+ 405: components["responses"]["MethodNotAllowedError"];
896
+ 406: components["responses"]["NotAcceptableError"];
897
+ 429: components["responses"]["TooManyRequestsError"];
898
+ 500: components["responses"]["InternalServerError"];
899
+ };
900
+ };
901
+ trace?: never;
902
+ };
903
+ "/v1/teams/{team_name}/posts/{post_number}/stargazers": {
904
+ parameters: {
905
+ query?: never;
906
+ header?: never;
907
+ path?: never;
908
+ cookie?: never;
909
+ };
910
+ /**
911
+ * 記事のスター一覧取得
912
+ * @description 指定された記事にスターしたユーザー一覧を取得します
913
+ */
914
+ get: {
915
+ parameters: {
916
+ query?: {
917
+ /** @description ページ番号(1から開始) */
918
+ page?: components["parameters"]["page"];
919
+ /** @description 1ページあたりの要素数 */
920
+ per_page?: components["parameters"]["per_page"];
921
+ };
922
+ header?: never;
923
+ path: {
924
+ /** @description チーム名 */
925
+ team_name: components["parameters"]["team_name"];
926
+ /** @description 記事番号 */
927
+ post_number: components["parameters"]["post_number"];
928
+ };
929
+ cookie?: never;
930
+ };
931
+ requestBody?: never;
932
+ responses: {
933
+ /** @description 成功 */
934
+ 200: {
935
+ headers: {
936
+ [name: string]: unknown;
937
+ };
938
+ content: {
939
+ "application/json": components["schemas"]["StarList"];
940
+ };
941
+ };
942
+ 400: components["responses"]["BadRequestError"];
943
+ 401: components["responses"]["UnauthorizedError"];
944
+ 402: components["responses"]["PaymentRequiredError"];
945
+ 403: components["responses"]["ForbiddenError"];
946
+ 404: components["responses"]["NotFoundError"];
947
+ 405: components["responses"]["MethodNotAllowedError"];
948
+ 406: components["responses"]["NotAcceptableError"];
949
+ 429: components["responses"]["TooManyRequestsError"];
950
+ 500: components["responses"]["InternalServerError"];
951
+ };
952
+ };
953
+ put?: never;
954
+ post?: never;
955
+ delete?: never;
956
+ options?: never;
957
+ head?: never;
958
+ patch?: never;
959
+ trace?: never;
960
+ };
961
+ "/v1/teams/{team_name}/posts/{post_number}/star": {
962
+ parameters: {
963
+ query?: never;
964
+ header?: never;
965
+ path?: never;
966
+ cookie?: never;
967
+ };
968
+ get?: never;
969
+ put?: never;
970
+ /**
971
+ * 記事にスター
972
+ * @description 指定された記事にスターします
973
+ */
974
+ post: {
975
+ parameters: {
976
+ query?: never;
977
+ header?: never;
978
+ path: {
979
+ /** @description チーム名 */
980
+ team_name: components["parameters"]["team_name"];
981
+ /** @description 記事番号 */
982
+ post_number: components["parameters"]["post_number"];
983
+ };
984
+ cookie?: never;
985
+ };
986
+ requestBody?: {
987
+ content: {
988
+ "application/json": components["schemas"]["StarInput"];
989
+ };
990
+ };
991
+ responses: {
992
+ /** @description スター成功 */
993
+ 204: {
994
+ headers: {
995
+ [name: string]: unknown;
996
+ };
997
+ content?: never;
998
+ };
999
+ 400: components["responses"]["BadRequestError"];
1000
+ 401: components["responses"]["UnauthorizedError"];
1001
+ 402: components["responses"]["PaymentRequiredError"];
1002
+ 403: components["responses"]["ForbiddenError"];
1003
+ 404: components["responses"]["NotFoundError"];
1004
+ 405: components["responses"]["MethodNotAllowedError"];
1005
+ 406: components["responses"]["NotAcceptableError"];
1006
+ 429: components["responses"]["TooManyRequestsError"];
1007
+ 500: components["responses"]["InternalServerError"];
1008
+ };
1009
+ };
1010
+ /**
1011
+ * 記事のスター取り消し
1012
+ * @description 指定された記事のスターを取り消します
1013
+ */
1014
+ delete: {
1015
+ parameters: {
1016
+ query?: never;
1017
+ header?: never;
1018
+ path: {
1019
+ /** @description チーム名 */
1020
+ team_name: components["parameters"]["team_name"];
1021
+ /** @description 記事番号 */
1022
+ post_number: components["parameters"]["post_number"];
1023
+ };
1024
+ cookie?: never;
1025
+ };
1026
+ requestBody?: never;
1027
+ responses: {
1028
+ /** @description 取り消し成功 */
1029
+ 204: {
1030
+ headers: {
1031
+ [name: string]: unknown;
1032
+ };
1033
+ content?: never;
1034
+ };
1035
+ 400: components["responses"]["BadRequestError"];
1036
+ 401: components["responses"]["UnauthorizedError"];
1037
+ 402: components["responses"]["PaymentRequiredError"];
1038
+ 403: components["responses"]["ForbiddenError"];
1039
+ 404: components["responses"]["NotFoundError"];
1040
+ 405: components["responses"]["MethodNotAllowedError"];
1041
+ 406: components["responses"]["NotAcceptableError"];
1042
+ 429: components["responses"]["TooManyRequestsError"];
1043
+ 500: components["responses"]["InternalServerError"];
1044
+ };
1045
+ };
1046
+ options?: never;
1047
+ head?: never;
1048
+ patch?: never;
1049
+ trace?: never;
1050
+ };
1051
+ "/v1/teams/{team_name}/comments/{comment_id}/stargazers": {
1052
+ parameters: {
1053
+ query?: never;
1054
+ header?: never;
1055
+ path?: never;
1056
+ cookie?: never;
1057
+ };
1058
+ /**
1059
+ * コメントのスター一覧取得
1060
+ * @description 指定されたコメントにスターしたユーザー一覧を取得します
1061
+ */
1062
+ get: {
1063
+ parameters: {
1064
+ query?: {
1065
+ /** @description ページ番号(1から開始) */
1066
+ page?: components["parameters"]["page"];
1067
+ /** @description 1ページあたりの要素数 */
1068
+ per_page?: components["parameters"]["per_page"];
1069
+ };
1070
+ header?: never;
1071
+ path: {
1072
+ /** @description チーム名 */
1073
+ team_name: components["parameters"]["team_name"];
1074
+ /** @description コメントID */
1075
+ comment_id: components["parameters"]["comment_id"];
1076
+ };
1077
+ cookie?: never;
1078
+ };
1079
+ requestBody?: never;
1080
+ responses: {
1081
+ /** @description 成功 */
1082
+ 200: {
1083
+ headers: {
1084
+ [name: string]: unknown;
1085
+ };
1086
+ content: {
1087
+ "application/json": components["schemas"]["StarList"];
1088
+ };
1089
+ };
1090
+ 400: components["responses"]["BadRequestError"];
1091
+ 401: components["responses"]["UnauthorizedError"];
1092
+ 402: components["responses"]["PaymentRequiredError"];
1093
+ 403: components["responses"]["ForbiddenError"];
1094
+ 404: components["responses"]["NotFoundError"];
1095
+ 405: components["responses"]["MethodNotAllowedError"];
1096
+ 406: components["responses"]["NotAcceptableError"];
1097
+ 429: components["responses"]["TooManyRequestsError"];
1098
+ 500: components["responses"]["InternalServerError"];
1099
+ };
1100
+ };
1101
+ put?: never;
1102
+ post?: never;
1103
+ delete?: never;
1104
+ options?: never;
1105
+ head?: never;
1106
+ patch?: never;
1107
+ trace?: never;
1108
+ };
1109
+ "/v1/teams/{team_name}/comments/{comment_id}/star": {
1110
+ parameters: {
1111
+ query?: never;
1112
+ header?: never;
1113
+ path?: never;
1114
+ cookie?: never;
1115
+ };
1116
+ get?: never;
1117
+ put?: never;
1118
+ /**
1119
+ * コメントにスター
1120
+ * @description 指定されたコメントにスターします
1121
+ */
1122
+ post: {
1123
+ parameters: {
1124
+ query?: never;
1125
+ header?: never;
1126
+ path: {
1127
+ /** @description チーム名 */
1128
+ team_name: components["parameters"]["team_name"];
1129
+ /** @description コメントID */
1130
+ comment_id: components["parameters"]["comment_id"];
1131
+ };
1132
+ cookie?: never;
1133
+ };
1134
+ requestBody?: {
1135
+ content: {
1136
+ "application/json": components["schemas"]["StarInput"];
1137
+ };
1138
+ };
1139
+ responses: {
1140
+ /** @description スター成功 */
1141
+ 204: {
1142
+ headers: {
1143
+ [name: string]: unknown;
1144
+ };
1145
+ content?: never;
1146
+ };
1147
+ 400: components["responses"]["BadRequestError"];
1148
+ 401: components["responses"]["UnauthorizedError"];
1149
+ 402: components["responses"]["PaymentRequiredError"];
1150
+ 403: components["responses"]["ForbiddenError"];
1151
+ 404: components["responses"]["NotFoundError"];
1152
+ 405: components["responses"]["MethodNotAllowedError"];
1153
+ 406: components["responses"]["NotAcceptableError"];
1154
+ 429: components["responses"]["TooManyRequestsError"];
1155
+ 500: components["responses"]["InternalServerError"];
1156
+ };
1157
+ };
1158
+ /**
1159
+ * コメントのスター取り消し
1160
+ * @description 指定されたコメントのスターを取り消します
1161
+ */
1162
+ delete: {
1163
+ parameters: {
1164
+ query?: never;
1165
+ header?: never;
1166
+ path: {
1167
+ /** @description チーム名 */
1168
+ team_name: components["parameters"]["team_name"];
1169
+ /** @description コメントID */
1170
+ comment_id: components["parameters"]["comment_id"];
1171
+ };
1172
+ cookie?: never;
1173
+ };
1174
+ requestBody?: never;
1175
+ responses: {
1176
+ /** @description 取り消し成功 */
1177
+ 204: {
1178
+ headers: {
1179
+ [name: string]: unknown;
1180
+ };
1181
+ content?: never;
1182
+ };
1183
+ 400: components["responses"]["BadRequestError"];
1184
+ 401: components["responses"]["UnauthorizedError"];
1185
+ 402: components["responses"]["PaymentRequiredError"];
1186
+ 403: components["responses"]["ForbiddenError"];
1187
+ 404: components["responses"]["NotFoundError"];
1188
+ 405: components["responses"]["MethodNotAllowedError"];
1189
+ 406: components["responses"]["NotAcceptableError"];
1190
+ 429: components["responses"]["TooManyRequestsError"];
1191
+ 500: components["responses"]["InternalServerError"];
1192
+ };
1193
+ };
1194
+ options?: never;
1195
+ head?: never;
1196
+ patch?: never;
1197
+ trace?: never;
1198
+ };
1199
+ "/v1/teams/{team_name}/posts/{post_number}/watchers": {
1200
+ parameters: {
1201
+ query?: never;
1202
+ header?: never;
1203
+ path?: never;
1204
+ cookie?: never;
1205
+ };
1206
+ /**
1207
+ * 記事のウォッチャー一覧取得
1208
+ * @description 指定された記事をウォッチしているユーザー一覧を取得します
1209
+ */
1210
+ get: {
1211
+ parameters: {
1212
+ query?: {
1213
+ /** @description ページ番号(1から開始) */
1214
+ page?: components["parameters"]["page"];
1215
+ /** @description 1ページあたりの要素数 */
1216
+ per_page?: components["parameters"]["per_page"];
1217
+ };
1218
+ header?: never;
1219
+ path: {
1220
+ /** @description チーム名 */
1221
+ team_name: components["parameters"]["team_name"];
1222
+ /** @description 記事番号 */
1223
+ post_number: components["parameters"]["post_number"];
1224
+ };
1225
+ cookie?: never;
1226
+ };
1227
+ requestBody?: never;
1228
+ responses: {
1229
+ /** @description 成功 */
1230
+ 200: {
1231
+ headers: {
1232
+ [name: string]: unknown;
1233
+ };
1234
+ content: {
1235
+ "application/json": components["schemas"]["WatcherList"];
1236
+ };
1237
+ };
1238
+ 400: components["responses"]["BadRequestError"];
1239
+ 401: components["responses"]["UnauthorizedError"];
1240
+ 402: components["responses"]["PaymentRequiredError"];
1241
+ 403: components["responses"]["ForbiddenError"];
1242
+ 404: components["responses"]["NotFoundError"];
1243
+ 405: components["responses"]["MethodNotAllowedError"];
1244
+ 406: components["responses"]["NotAcceptableError"];
1245
+ 429: components["responses"]["TooManyRequestsError"];
1246
+ 500: components["responses"]["InternalServerError"];
1247
+ };
1248
+ };
1249
+ put?: never;
1250
+ post?: never;
1251
+ delete?: never;
1252
+ options?: never;
1253
+ head?: never;
1254
+ patch?: never;
1255
+ trace?: never;
1256
+ };
1257
+ "/v1/teams/{team_name}/posts/{post_number}/watch": {
1258
+ parameters: {
1259
+ query?: never;
1260
+ header?: never;
1261
+ path?: never;
1262
+ cookie?: never;
1263
+ };
1264
+ get?: never;
1265
+ put?: never;
1266
+ /**
1267
+ * 記事をウォッチ
1268
+ * @description 指定された記事をウォッチします
1269
+ */
1270
+ post: {
1271
+ parameters: {
1272
+ query?: never;
1273
+ header?: never;
1274
+ path: {
1275
+ /** @description チーム名 */
1276
+ team_name: components["parameters"]["team_name"];
1277
+ /** @description 記事番号 */
1278
+ post_number: components["parameters"]["post_number"];
1279
+ };
1280
+ cookie?: never;
1281
+ };
1282
+ requestBody?: never;
1283
+ responses: {
1284
+ /** @description ウォッチ成功 */
1285
+ 204: {
1286
+ headers: {
1287
+ [name: string]: unknown;
1288
+ };
1289
+ content?: never;
1290
+ };
1291
+ 400: components["responses"]["BadRequestError"];
1292
+ 401: components["responses"]["UnauthorizedError"];
1293
+ 402: components["responses"]["PaymentRequiredError"];
1294
+ 403: components["responses"]["ForbiddenError"];
1295
+ 404: components["responses"]["NotFoundError"];
1296
+ 405: components["responses"]["MethodNotAllowedError"];
1297
+ 406: components["responses"]["NotAcceptableError"];
1298
+ 429: components["responses"]["TooManyRequestsError"];
1299
+ 500: components["responses"]["InternalServerError"];
1300
+ };
1301
+ };
1302
+ /**
1303
+ * 記事のウォッチ取り消し
1304
+ * @description 指定された記事のウォッチを取り消します
1305
+ */
1306
+ delete: {
1307
+ parameters: {
1308
+ query?: never;
1309
+ header?: never;
1310
+ path: {
1311
+ /** @description チーム名 */
1312
+ team_name: components["parameters"]["team_name"];
1313
+ /** @description 記事番号 */
1314
+ post_number: components["parameters"]["post_number"];
1315
+ };
1316
+ cookie?: never;
1317
+ };
1318
+ requestBody?: never;
1319
+ responses: {
1320
+ /** @description 取り消し成功 */
1321
+ 204: {
1322
+ headers: {
1323
+ [name: string]: unknown;
1324
+ };
1325
+ content?: never;
1326
+ };
1327
+ 400: components["responses"]["BadRequestError"];
1328
+ 401: components["responses"]["UnauthorizedError"];
1329
+ 402: components["responses"]["PaymentRequiredError"];
1330
+ 403: components["responses"]["ForbiddenError"];
1331
+ 404: components["responses"]["NotFoundError"];
1332
+ 405: components["responses"]["MethodNotAllowedError"];
1333
+ 406: components["responses"]["NotAcceptableError"];
1334
+ 429: components["responses"]["TooManyRequestsError"];
1335
+ 500: components["responses"]["InternalServerError"];
1336
+ };
1337
+ };
1338
+ options?: never;
1339
+ head?: never;
1340
+ patch?: never;
1341
+ trace?: never;
1342
+ };
1343
+ "/v1/teams/{team_name}/categories": {
1344
+ parameters: {
1345
+ query?: never;
1346
+ header?: never;
1347
+ path?: never;
1348
+ cookie?: never;
1349
+ };
1350
+ /**
1351
+ * カテゴリ情報取得
1352
+ * @description 指定されたカテゴリの情報と配下のカテゴリを取得します
1353
+ */
1354
+ get: {
1355
+ parameters: {
1356
+ query: {
1357
+ /** @description カテゴリを指定して部分的に取得する */
1358
+ select: string;
1359
+ /** @description 追加で含める情報(カンマ区切り) */
1360
+ include?: "posts" | "parent_categories";
1361
+ /** @description postsに子孫記事を含めるか(include=postsの場合のみ有効) */
1362
+ descendant_posts?: boolean;
1363
+ /** @description ページ番号(1から開始) */
1364
+ page?: components["parameters"]["page"];
1365
+ /** @description 1ページあたりの要素数 */
1366
+ per_page?: components["parameters"]["per_page"];
1367
+ };
1368
+ header?: never;
1369
+ path: {
1370
+ /** @description チーム名 */
1371
+ team_name: components["parameters"]["team_name"];
1372
+ };
1373
+ cookie?: never;
1374
+ };
1375
+ requestBody?: never;
1376
+ responses: {
1377
+ /** @description 成功 */
1378
+ 200: {
1379
+ headers: {
1380
+ [name: string]: unknown;
1381
+ };
1382
+ content: {
1383
+ "application/json": components["schemas"]["CategoryList"];
1384
+ };
1385
+ };
1386
+ 400: components["responses"]["BadRequestError"];
1387
+ 401: components["responses"]["UnauthorizedError"];
1388
+ 402: components["responses"]["PaymentRequiredError"];
1389
+ 403: components["responses"]["ForbiddenError"];
1390
+ 404: components["responses"]["NotFoundError"];
1391
+ 405: components["responses"]["MethodNotAllowedError"];
1392
+ 406: components["responses"]["NotAcceptableError"];
1393
+ 429: components["responses"]["TooManyRequestsError"];
1394
+ 500: components["responses"]["InternalServerError"];
1395
+ };
1396
+ };
1397
+ put?: never;
1398
+ post?: never;
1399
+ delete?: never;
1400
+ options?: never;
1401
+ head?: never;
1402
+ patch?: never;
1403
+ trace?: never;
1404
+ };
1405
+ "/v1/teams/{team_name}/categories/top": {
1406
+ parameters: {
1407
+ query?: never;
1408
+ header?: never;
1409
+ path?: never;
1410
+ cookie?: never;
1411
+ };
1412
+ /**
1413
+ * トップカテゴリ情報取得
1414
+ * @description チームのトップレベルのカテゴリ情報を取得します
1415
+ */
1416
+ get: {
1417
+ parameters: {
1418
+ query?: never;
1419
+ header?: never;
1420
+ path: {
1421
+ /** @description チーム名 */
1422
+ team_name: components["parameters"]["team_name"];
1423
+ };
1424
+ cookie?: never;
1425
+ };
1426
+ requestBody?: never;
1427
+ responses: {
1428
+ /** @description 成功 */
1429
+ 200: {
1430
+ headers: {
1431
+ [name: string]: unknown;
1432
+ };
1433
+ content: {
1434
+ "application/json": components["schemas"]["CategoryList"];
1435
+ };
1436
+ };
1437
+ 400: components["responses"]["BadRequestError"];
1438
+ 401: components["responses"]["UnauthorizedError"];
1439
+ 402: components["responses"]["PaymentRequiredError"];
1440
+ 403: components["responses"]["ForbiddenError"];
1441
+ 404: components["responses"]["NotFoundError"];
1442
+ 405: components["responses"]["MethodNotAllowedError"];
1443
+ 406: components["responses"]["NotAcceptableError"];
1444
+ 429: components["responses"]["TooManyRequestsError"];
1445
+ 500: components["responses"]["InternalServerError"];
1446
+ };
1447
+ };
1448
+ put?: never;
1449
+ post?: never;
1450
+ delete?: never;
1451
+ options?: never;
1452
+ head?: never;
1453
+ patch?: never;
1454
+ trace?: never;
1455
+ };
1456
+ "/v1/teams/{team_name}/categories/no_category": {
1457
+ parameters: {
1458
+ query?: never;
1459
+ header?: never;
1460
+ path?: never;
1461
+ cookie?: never;
1462
+ };
1463
+ /**
1464
+ * カテゴリなし記事一覧取得
1465
+ * @description カテゴリに属さない記事の一覧を取得します
1466
+ */
1467
+ get: {
1468
+ parameters: {
1469
+ query?: {
1470
+ /** @description ページ番号(1から開始) */
1471
+ page?: components["parameters"]["page"];
1472
+ /** @description 1ページあたりの要素数 */
1473
+ per_page?: components["parameters"]["per_page"];
1474
+ };
1475
+ header?: never;
1476
+ path: {
1477
+ /** @description チーム名 */
1478
+ team_name: components["parameters"]["team_name"];
1479
+ };
1480
+ cookie?: never;
1481
+ };
1482
+ requestBody?: never;
1483
+ responses: {
1484
+ /** @description 成功 */
1485
+ 200: {
1486
+ headers: {
1487
+ [name: string]: unknown;
1488
+ };
1489
+ content: {
1490
+ "application/json": components["schemas"]["CategoryList"];
1491
+ };
1492
+ };
1493
+ 400: components["responses"]["BadRequestError"];
1494
+ 401: components["responses"]["UnauthorizedError"];
1495
+ 402: components["responses"]["PaymentRequiredError"];
1496
+ 403: components["responses"]["ForbiddenError"];
1497
+ 404: components["responses"]["NotFoundError"];
1498
+ 405: components["responses"]["MethodNotAllowedError"];
1499
+ 406: components["responses"]["NotAcceptableError"];
1500
+ 429: components["responses"]["TooManyRequestsError"];
1501
+ 500: components["responses"]["InternalServerError"];
1502
+ };
1503
+ };
1504
+ put?: never;
1505
+ post?: never;
1506
+ delete?: never;
1507
+ options?: never;
1508
+ head?: never;
1509
+ patch?: never;
1510
+ trace?: never;
1511
+ };
1512
+ "/v1/teams/{team_name}/categories/batch_move": {
1513
+ parameters: {
1514
+ query?: never;
1515
+ header?: never;
1516
+ path?: never;
1517
+ cookie?: never;
1518
+ };
1519
+ get?: never;
1520
+ put?: never;
1521
+ /**
1522
+ * カテゴリ一括移動
1523
+ * @description 指定されたカテゴリを配下のカテゴリを含めて一括で変更します
1524
+ */
1525
+ post: {
1526
+ parameters: {
1527
+ query?: never;
1528
+ header?: never;
1529
+ path: {
1530
+ /** @description チーム名 */
1531
+ team_name: components["parameters"]["team_name"];
1532
+ };
1533
+ cookie?: never;
1534
+ };
1535
+ requestBody: {
1536
+ content: {
1537
+ "application/json": components["schemas"]["BatchMoveInput"];
1538
+ };
1539
+ };
1540
+ responses: {
1541
+ /** @description 移動成功 */
1542
+ 200: {
1543
+ headers: {
1544
+ [name: string]: unknown;
1545
+ };
1546
+ content: {
1547
+ "application/json": components["schemas"]["BatchMoveResult"];
1548
+ };
1549
+ };
1550
+ 400: components["responses"]["BadRequestError"];
1551
+ 401: components["responses"]["UnauthorizedError"];
1552
+ 402: components["responses"]["PaymentRequiredError"];
1553
+ 403: components["responses"]["ForbiddenError"];
1554
+ 405: components["responses"]["MethodNotAllowedError"];
1555
+ 406: components["responses"]["NotAcceptableError"];
1556
+ 429: components["responses"]["TooManyRequestsError"];
1557
+ 500: components["responses"]["InternalServerError"];
1558
+ };
1559
+ };
1560
+ delete?: never;
1561
+ options?: never;
1562
+ head?: never;
1563
+ patch?: never;
1564
+ trace?: never;
1565
+ };
1566
+ "/v1/teams/{team_name}/tags": {
1567
+ parameters: {
1568
+ query?: never;
1569
+ header?: never;
1570
+ path?: never;
1571
+ cookie?: never;
1572
+ };
1573
+ /**
1574
+ * タグ一覧取得
1575
+ * @description タグ一覧をタグ付けされた記事数の降順で取得します
1576
+ */
1577
+ get: {
1578
+ parameters: {
1579
+ query?: {
1580
+ /** @description ページ番号(1から開始) */
1581
+ page?: components["parameters"]["page"];
1582
+ /** @description 1ページあたりの要素数 */
1583
+ per_page?: components["parameters"]["per_page"];
1584
+ };
1585
+ header?: never;
1586
+ path: {
1587
+ /** @description チーム名 */
1588
+ team_name: components["parameters"]["team_name"];
1589
+ };
1590
+ cookie?: never;
1591
+ };
1592
+ requestBody?: never;
1593
+ responses: {
1594
+ /** @description 成功 */
1595
+ 200: {
1596
+ headers: {
1597
+ [name: string]: unknown;
1598
+ };
1599
+ content: {
1600
+ "application/json": components["schemas"]["TagList"];
1601
+ };
1602
+ };
1603
+ 400: components["responses"]["BadRequestError"];
1604
+ 401: components["responses"]["UnauthorizedError"];
1605
+ 402: components["responses"]["PaymentRequiredError"];
1606
+ 403: components["responses"]["ForbiddenError"];
1607
+ 404: components["responses"]["NotFoundError"];
1608
+ 405: components["responses"]["MethodNotAllowedError"];
1609
+ 406: components["responses"]["NotAcceptableError"];
1610
+ 429: components["responses"]["TooManyRequestsError"];
1611
+ 500: components["responses"]["InternalServerError"];
1612
+ };
1613
+ };
1614
+ put?: never;
1615
+ post?: never;
1616
+ delete?: never;
1617
+ options?: never;
1618
+ head?: never;
1619
+ patch?: never;
1620
+ trace?: never;
1621
+ };
1622
+ "/v1/teams/{team_name}/invitation": {
1623
+ parameters: {
1624
+ query?: never;
1625
+ header?: never;
1626
+ path?: never;
1627
+ cookie?: never;
1628
+ };
1629
+ /**
1630
+ * 共通招待URL取得
1631
+ * @description チームへの招待URLを取得します(owner権限必要)
1632
+ */
1633
+ get: {
1634
+ parameters: {
1635
+ query?: never;
1636
+ header?: never;
1637
+ path: {
1638
+ /** @description チーム名 */
1639
+ team_name: components["parameters"]["team_name"];
1640
+ };
1641
+ cookie?: never;
1642
+ };
1643
+ requestBody?: never;
1644
+ responses: {
1645
+ /** @description 成功 */
1646
+ 200: {
1647
+ headers: {
1648
+ [name: string]: unknown;
1649
+ };
1650
+ content: {
1651
+ "application/json": components["schemas"]["Invitation"];
1652
+ };
1653
+ };
1654
+ 400: components["responses"]["BadRequestError"];
1655
+ 401: components["responses"]["UnauthorizedError"];
1656
+ 402: components["responses"]["PaymentRequiredError"];
1657
+ 403: components["responses"]["ForbiddenError"];
1658
+ 404: components["responses"]["NotFoundError"];
1659
+ 405: components["responses"]["MethodNotAllowedError"];
1660
+ 406: components["responses"]["NotAcceptableError"];
1661
+ 429: components["responses"]["TooManyRequestsError"];
1662
+ 500: components["responses"]["InternalServerError"];
1663
+ };
1664
+ };
1665
+ put?: never;
1666
+ post?: never;
1667
+ delete?: never;
1668
+ options?: never;
1669
+ head?: never;
1670
+ patch?: never;
1671
+ trace?: never;
1672
+ };
1673
+ "/v1/teams/{team_name}/invitation_regenerator": {
1674
+ parameters: {
1675
+ query?: never;
1676
+ header?: never;
1677
+ path?: never;
1678
+ cookie?: never;
1679
+ };
1680
+ get?: never;
1681
+ put?: never;
1682
+ /**
1683
+ * 共通招待URL再発行
1684
+ * @description チームへの招待URLを再発行します(owner権限必要)
1685
+ */
1686
+ post: {
1687
+ parameters: {
1688
+ query?: never;
1689
+ header?: never;
1690
+ path: {
1691
+ /** @description チーム名 */
1692
+ team_name: components["parameters"]["team_name"];
1693
+ };
1694
+ cookie?: never;
1695
+ };
1696
+ requestBody?: never;
1697
+ responses: {
1698
+ /** @description 再発行成功 */
1699
+ 200: {
1700
+ headers: {
1701
+ [name: string]: unknown;
1702
+ };
1703
+ content: {
1704
+ "application/json": components["schemas"]["Invitation"];
1705
+ };
1706
+ };
1707
+ 400: components["responses"]["BadRequestError"];
1708
+ 401: components["responses"]["UnauthorizedError"];
1709
+ 402: components["responses"]["PaymentRequiredError"];
1710
+ 403: components["responses"]["ForbiddenError"];
1711
+ 404: components["responses"]["NotFoundError"];
1712
+ 405: components["responses"]["MethodNotAllowedError"];
1713
+ 406: components["responses"]["NotAcceptableError"];
1714
+ 429: components["responses"]["TooManyRequestsError"];
1715
+ 500: components["responses"]["InternalServerError"];
1716
+ };
1717
+ };
1718
+ delete?: never;
1719
+ options?: never;
1720
+ head?: never;
1721
+ patch?: never;
1722
+ trace?: never;
1723
+ };
1724
+ "/v1/teams/{team_name}/invitations": {
1725
+ parameters: {
1726
+ query?: never;
1727
+ header?: never;
1728
+ path?: never;
1729
+ cookie?: never;
1730
+ };
1731
+ /**
1732
+ * Email招待一覧取得
1733
+ * @description 招待中のメンバーの一覧を取得します(owner権限必要)
1734
+ */
1735
+ get: {
1736
+ parameters: {
1737
+ query?: {
1738
+ /** @description ページ番号(1から開始) */
1739
+ page?: components["parameters"]["page"];
1740
+ /** @description 1ページあたりの要素数 */
1741
+ per_page?: components["parameters"]["per_page"];
1742
+ };
1743
+ header?: never;
1744
+ path: {
1745
+ /** @description チーム名 */
1746
+ team_name: components["parameters"]["team_name"];
1747
+ };
1748
+ cookie?: never;
1749
+ };
1750
+ requestBody?: never;
1751
+ responses: {
1752
+ /** @description 成功 */
1753
+ 200: {
1754
+ headers: {
1755
+ [name: string]: unknown;
1756
+ };
1757
+ content: {
1758
+ "application/json": components["schemas"]["EmailInvitationList"];
1759
+ };
1760
+ };
1761
+ 400: components["responses"]["BadRequestError"];
1762
+ 401: components["responses"]["UnauthorizedError"];
1763
+ 402: components["responses"]["PaymentRequiredError"];
1764
+ 403: components["responses"]["ForbiddenError"];
1765
+ 404: components["responses"]["NotFoundError"];
1766
+ 405: components["responses"]["MethodNotAllowedError"];
1767
+ 406: components["responses"]["NotAcceptableError"];
1768
+ 429: components["responses"]["TooManyRequestsError"];
1769
+ 500: components["responses"]["InternalServerError"];
1770
+ };
1771
+ };
1772
+ put?: never;
1773
+ /**
1774
+ * Email招待送信
1775
+ * @description 指定したメールアドレスに個別招待を送信します(owner権限必要)
1776
+ */
1777
+ post: {
1778
+ parameters: {
1779
+ query?: never;
1780
+ header?: never;
1781
+ path: {
1782
+ /** @description チーム名 */
1783
+ team_name: components["parameters"]["team_name"];
1784
+ };
1785
+ cookie?: never;
1786
+ };
1787
+ requestBody: {
1788
+ content: {
1789
+ "application/json": components["schemas"]["EmailInvitationInput"];
1790
+ };
1791
+ };
1792
+ responses: {
1793
+ /** @description 招待送信成功 */
1794
+ 201: {
1795
+ headers: {
1796
+ [name: string]: unknown;
1797
+ };
1798
+ content: {
1799
+ "application/json": components["schemas"]["EmailInvitationList"];
1800
+ };
1801
+ };
1802
+ 400: components["responses"]["BadRequestError"];
1803
+ 401: components["responses"]["UnauthorizedError"];
1804
+ 402: components["responses"]["PaymentRequiredError"];
1805
+ 403: components["responses"]["ForbiddenError"];
1806
+ 405: components["responses"]["MethodNotAllowedError"];
1807
+ 406: components["responses"]["NotAcceptableError"];
1808
+ 429: components["responses"]["TooManyRequestsError"];
1809
+ 500: components["responses"]["InternalServerError"];
1810
+ };
1811
+ };
1812
+ delete?: never;
1813
+ options?: never;
1814
+ head?: never;
1815
+ patch?: never;
1816
+ trace?: never;
1817
+ };
1818
+ "/v1/teams/{team_name}/invitations/{code}": {
1819
+ parameters: {
1820
+ query?: never;
1821
+ header?: never;
1822
+ path?: never;
1823
+ cookie?: never;
1824
+ };
1825
+ get?: never;
1826
+ put?: never;
1827
+ post?: never;
1828
+ /**
1829
+ * Email招待削除
1830
+ * @description 招待中のメンバーの招待を削除します(owner権限必要)
1831
+ */
1832
+ delete: {
1833
+ parameters: {
1834
+ query?: never;
1835
+ header?: never;
1836
+ path: {
1837
+ /** @description チーム名 */
1838
+ team_name: components["parameters"]["team_name"];
1839
+ /** @description 招待コード */
1840
+ code: string;
1841
+ };
1842
+ cookie?: never;
1843
+ };
1844
+ requestBody?: never;
1845
+ responses: {
1846
+ /** @description 削除成功 */
1847
+ 204: {
1848
+ headers: {
1849
+ [name: string]: unknown;
1850
+ };
1851
+ content?: never;
1852
+ };
1853
+ 400: components["responses"]["BadRequestError"];
1854
+ 401: components["responses"]["UnauthorizedError"];
1855
+ 402: components["responses"]["PaymentRequiredError"];
1856
+ 403: components["responses"]["ForbiddenError"];
1857
+ 404: components["responses"]["NotFoundError"];
1858
+ 405: components["responses"]["MethodNotAllowedError"];
1859
+ 406: components["responses"]["NotAcceptableError"];
1860
+ 429: components["responses"]["TooManyRequestsError"];
1861
+ 500: components["responses"]["InternalServerError"];
1862
+ };
1863
+ };
1864
+ options?: never;
1865
+ head?: never;
1866
+ patch?: never;
1867
+ trace?: never;
1868
+ };
1869
+ "/v1/teams/{team_name}/emojis": {
1870
+ parameters: {
1871
+ query?: never;
1872
+ header?: never;
1873
+ path?: never;
1874
+ cookie?: never;
1875
+ };
1876
+ /**
1877
+ * 絵文字一覧取得
1878
+ * @description チームで利用可能な絵文字を取得します
1879
+ */
1880
+ get: {
1881
+ parameters: {
1882
+ query?: {
1883
+ /** @description all を指定するとすべての絵文字を返します */
1884
+ include?: "all";
1885
+ };
1886
+ header?: never;
1887
+ path: {
1888
+ /** @description チーム名 */
1889
+ team_name: components["parameters"]["team_name"];
1890
+ };
1891
+ cookie?: never;
1892
+ };
1893
+ requestBody?: never;
1894
+ responses: {
1895
+ /** @description 成功 */
1896
+ 200: {
1897
+ headers: {
1898
+ [name: string]: unknown;
1899
+ };
1900
+ content: {
1901
+ "application/json": components["schemas"]["EmojiList"];
1902
+ };
1903
+ };
1904
+ 400: components["responses"]["BadRequestError"];
1905
+ 401: components["responses"]["UnauthorizedError"];
1906
+ 402: components["responses"]["PaymentRequiredError"];
1907
+ 403: components["responses"]["ForbiddenError"];
1908
+ 404: components["responses"]["NotFoundError"];
1909
+ 405: components["responses"]["MethodNotAllowedError"];
1910
+ 406: components["responses"]["NotAcceptableError"];
1911
+ 429: components["responses"]["TooManyRequestsError"];
1912
+ 500: components["responses"]["InternalServerError"];
1913
+ };
1914
+ };
1915
+ put?: never;
1916
+ /**
1917
+ * 絵文字登録
1918
+ * @description 新しい絵文字を登録します
1919
+ */
1920
+ post: {
1921
+ parameters: {
1922
+ query?: never;
1923
+ header?: never;
1924
+ path: {
1925
+ /** @description チーム名 */
1926
+ team_name: components["parameters"]["team_name"];
1927
+ };
1928
+ cookie?: never;
1929
+ };
1930
+ requestBody: {
1931
+ content: {
1932
+ "application/json": {
1933
+ emoji: components["schemas"]["EmojiInput"];
1934
+ };
1935
+ "multipart/form-data": {
1936
+ /** @description 絵文字のコード */
1937
+ "emoji[code]": string;
1938
+ /**
1939
+ * Format: binary
1940
+ * @description 画像ファイル
1941
+ */
1942
+ "emoji[image]": string;
1943
+ };
1944
+ };
1945
+ };
1946
+ responses: {
1947
+ /** @description 登録成功 */
1948
+ 201: {
1949
+ headers: {
1950
+ [name: string]: unknown;
1951
+ };
1952
+ content: {
1953
+ "application/json": components["schemas"]["EmojiResult"];
1954
+ };
1955
+ };
1956
+ 400: components["responses"]["BadRequestError"];
1957
+ 401: components["responses"]["UnauthorizedError"];
1958
+ 402: components["responses"]["PaymentRequiredError"];
1959
+ 403: components["responses"]["ForbiddenError"];
1960
+ 405: components["responses"]["MethodNotAllowedError"];
1961
+ 406: components["responses"]["NotAcceptableError"];
1962
+ 429: components["responses"]["TooManyRequestsError"];
1963
+ 500: components["responses"]["InternalServerError"];
1964
+ };
1965
+ };
1966
+ delete?: never;
1967
+ options?: never;
1968
+ head?: never;
1969
+ patch?: never;
1970
+ trace?: never;
1971
+ };
1972
+ "/v1/teams/{team_name}/emojis/{code}": {
1973
+ parameters: {
1974
+ query?: never;
1975
+ header?: never;
1976
+ path?: never;
1977
+ cookie?: never;
1978
+ };
1979
+ get?: never;
1980
+ put?: never;
1981
+ post?: never;
1982
+ /**
1983
+ * 絵文字削除
1984
+ * @description 登録したチーム固有の絵文字を削除します
1985
+ */
1986
+ delete: {
1987
+ parameters: {
1988
+ query?: never;
1989
+ header?: never;
1990
+ path: {
1991
+ /** @description チーム名 */
1992
+ team_name: components["parameters"]["team_name"];
1993
+ /** @description 絵文字のコード */
1994
+ code: string;
1995
+ };
1996
+ cookie?: never;
1997
+ };
1998
+ requestBody?: never;
1999
+ responses: {
2000
+ /** @description 削除成功 */
2001
+ 204: {
2002
+ headers: {
2003
+ [name: string]: unknown;
2004
+ };
2005
+ content?: never;
2006
+ };
2007
+ 400: components["responses"]["BadRequestError"];
2008
+ 401: components["responses"]["UnauthorizedError"];
2009
+ 402: components["responses"]["PaymentRequiredError"];
2010
+ 403: components["responses"]["ForbiddenError"];
2011
+ 404: components["responses"]["NotFoundError"];
2012
+ 405: components["responses"]["MethodNotAllowedError"];
2013
+ 406: components["responses"]["NotAcceptableError"];
2014
+ 429: components["responses"]["TooManyRequestsError"];
2015
+ 500: components["responses"]["InternalServerError"];
2016
+ };
2017
+ };
2018
+ options?: never;
2019
+ head?: never;
2020
+ patch?: never;
2021
+ trace?: never;
2022
+ };
2023
+ "/v1/user": {
2024
+ parameters: {
2025
+ query?: never;
2026
+ header?: never;
2027
+ path?: never;
2028
+ cookie?: never;
2029
+ };
2030
+ /**
2031
+ * 認証中ユーザー情報取得
2032
+ * @description 現在のアクセストークンで認証中のユーザーの情報を取得します
2033
+ */
2034
+ get: {
2035
+ parameters: {
2036
+ query?: {
2037
+ /** @description teams を指定すると所属チーム一覧を含みます */
2038
+ include?: "teams";
2039
+ };
2040
+ header?: never;
2041
+ path?: never;
2042
+ cookie?: never;
2043
+ };
2044
+ requestBody?: never;
2045
+ responses: {
2046
+ /** @description 成功 */
2047
+ 200: {
2048
+ headers: {
2049
+ [name: string]: unknown;
2050
+ };
2051
+ content: {
2052
+ "application/json": components["schemas"]["CurrentUser"];
2053
+ };
2054
+ };
2055
+ 400: components["responses"]["BadRequestError"];
2056
+ 401: components["responses"]["UnauthorizedError"];
2057
+ 402: components["responses"]["PaymentRequiredError"];
2058
+ 403: components["responses"]["ForbiddenError"];
2059
+ 405: components["responses"]["MethodNotAllowedError"];
2060
+ 406: components["responses"]["NotAcceptableError"];
2061
+ 429: components["responses"]["TooManyRequestsError"];
2062
+ 500: components["responses"]["InternalServerError"];
2063
+ };
2064
+ };
2065
+ put?: never;
2066
+ post?: never;
2067
+ delete?: never;
2068
+ options?: never;
2069
+ head?: never;
2070
+ patch?: never;
2071
+ trace?: never;
2072
+ };
2073
+ }
2074
+ export type webhooks = Record<string, never>;
2075
+ export interface components {
2076
+ schemas: {
2077
+ Error: {
2078
+ /** @description エラーコード */
2079
+ error: string;
2080
+ /** @description エラーメッセージ */
2081
+ message: string;
2082
+ };
2083
+ Pagination: {
2084
+ /** @description 前のページ番号 */
2085
+ prev_page?: number | null;
2086
+ /** @description 次のページ番号 */
2087
+ next_page?: number | null;
2088
+ /** @description 総数 */
2089
+ total_count?: number;
2090
+ /** @description 現在のページ番号 */
2091
+ page?: number;
2092
+ /** @description 1ページあたりの要素数 */
2093
+ per_page?: number;
2094
+ /** @description per_pageの最大値 */
2095
+ max_per_page?: number;
2096
+ };
2097
+ User: {
2098
+ /** @description 自分自身かどうか */
2099
+ myself: boolean;
2100
+ /** @description ユーザー名 */
2101
+ name: string;
2102
+ /** @description スクリーンネーム */
2103
+ screen_name: string;
2104
+ /**
2105
+ * Format: uri
2106
+ * @description アイコンのURL
2107
+ */
2108
+ icon: string;
2109
+ };
2110
+ Team: {
2111
+ /**
2112
+ * @description チーム名
2113
+ * @example docs
2114
+ */
2115
+ name: string;
2116
+ /**
2117
+ * @description チームの公開範囲
2118
+ * @enum {string}
2119
+ */
2120
+ privacy: "closed" | "open";
2121
+ /** @description チームの説明 */
2122
+ description: string;
2123
+ /**
2124
+ * Format: uri
2125
+ * @description チームのアイコンURL
2126
+ */
2127
+ icon: string;
2128
+ /**
2129
+ * Format: uri
2130
+ * @description チームのURL
2131
+ */
2132
+ url: string;
2133
+ };
2134
+ TeamList: components["schemas"]["Pagination"] & {
2135
+ teams: components["schemas"]["Team"][];
2136
+ };
2137
+ TeamStats: {
2138
+ /** @description チーム内のメンバーの総数 */
2139
+ members: number;
2140
+ /** @description チーム内の記事の総数 */
2141
+ posts: number;
2142
+ /** @description チーム内の記事(wip)の総数 */
2143
+ posts_wip: number;
2144
+ /** @description チーム内の記事(shipped)の総数 */
2145
+ posts_shipped: number;
2146
+ /** @description チーム内のコメントの総数 */
2147
+ comments: number;
2148
+ /** @description チーム内のスターの総数 */
2149
+ stars: number;
2150
+ /** @description 過去24時間以内の活動ユーザー数 */
2151
+ daily_active_users: number;
2152
+ /** @description 過去7日間以内の活動ユーザー数 */
2153
+ weekly_active_users: number;
2154
+ /** @description 過去30日間以内の活動ユーザー数 */
2155
+ monthly_active_users: number;
2156
+ };
2157
+ Member: components["schemas"]["User"] & {
2158
+ /**
2159
+ * Format: email
2160
+ * @description メンバーのemail
2161
+ */
2162
+ email: string;
2163
+ /**
2164
+ * @description メンバーのロール
2165
+ * @enum {string}
2166
+ */
2167
+ role: "owner" | "member";
2168
+ /** @description チーム内での記事作成数 */
2169
+ posts_count: number;
2170
+ /**
2171
+ * Format: date-time
2172
+ * @description チームに参加した日時
2173
+ */
2174
+ joined_at: string;
2175
+ /**
2176
+ * Format: date-time
2177
+ * @description 最終アクセス日時
2178
+ */
2179
+ last_accessed_at: string;
2180
+ };
2181
+ MemberList: components["schemas"]["Pagination"] & {
2182
+ members: components["schemas"]["Member"][];
2183
+ };
2184
+ Post: {
2185
+ /** @description 記事番号 */
2186
+ number: number;
2187
+ /** @description 記事名 */
2188
+ name: string;
2189
+ /** @description タグ */
2190
+ tags: string[];
2191
+ /** @description カテゴリ */
2192
+ category: string | null;
2193
+ /** @description カテゴリとタグを含む記事名 */
2194
+ full_name: string;
2195
+ /** @description WIP状態かどうか */
2196
+ wip: boolean;
2197
+ /** @description Markdownの本文 */
2198
+ body_md: string;
2199
+ /** @description HTMLの本文 */
2200
+ body_html: string;
2201
+ /**
2202
+ * Format: date-time
2203
+ * @description 作成日時
2204
+ */
2205
+ created_at: string;
2206
+ /**
2207
+ * Format: date-time
2208
+ * @description 更新日時
2209
+ */
2210
+ updated_at: string;
2211
+ /** @description 更新メッセージ */
2212
+ message?: string;
2213
+ /**
2214
+ * Format: uri
2215
+ * @description 記事のURL
2216
+ */
2217
+ url: string;
2218
+ /** @description リビジョン番号 */
2219
+ revision_number: number;
2220
+ created_by: components["schemas"]["User"];
2221
+ updated_by: components["schemas"]["User"];
2222
+ /**
2223
+ * @description 記事の種別
2224
+ * @enum {string}
2225
+ */
2226
+ kind?: "stock" | "flow";
2227
+ /** @description コメント数 */
2228
+ comments_count?: number;
2229
+ /** @description タスクの総数 */
2230
+ tasks_count?: number;
2231
+ /** @description 完了済みタスクの総数 */
2232
+ done_tasks_count?: number;
2233
+ /** @description スターの数 */
2234
+ stargazers_count?: number;
2235
+ /** @description ウォッチャーの数 */
2236
+ watchers_count?: number;
2237
+ /** @description 自分がスターしているかどうか */
2238
+ star?: boolean;
2239
+ /** @description 自分がウォッチしているかどうか */
2240
+ watch?: boolean;
2241
+ /** @description 3-way mergeでコンフリクトが起きたかどうか */
2242
+ overlapped?: boolean;
2243
+ /** @description コメント一覧(include=comments) */
2244
+ comments?: components["schemas"]["Comment"][];
2245
+ /** @description スターしたメンバー一覧(include=stargazers) */
2246
+ stargazers?: (components["schemas"]["Star"] &
2247
+ components["schemas"]["Member"])[];
2248
+ };
2249
+ PostList: components["schemas"]["Pagination"] & {
2250
+ posts: components["schemas"]["Post"][];
2251
+ };
2252
+ PostNew: {
2253
+ /** @description デフォルトの記事名 */
2254
+ name: string;
2255
+ /** @description デフォルトの本文 */
2256
+ body_md: string;
2257
+ };
2258
+ PostCreateInput: {
2259
+ /** @description 記事名 */
2260
+ name: string;
2261
+ /** @description Markdownの本文 */
2262
+ body_md?: string;
2263
+ /** @description タグ */
2264
+ tags?: string[];
2265
+ /** @description カテゴリ */
2266
+ category?: string;
2267
+ /**
2268
+ * @description WIP状態かどうか
2269
+ * @default true
2270
+ */
2271
+ wip: boolean;
2272
+ /** @description 更新メッセージ */
2273
+ message?: string;
2274
+ /** @description 記事投稿者のscreen_name(owner権限必要) */
2275
+ user?: string;
2276
+ /** @description テンプレート記事のID */
2277
+ template_post_id?: number;
2278
+ /** @description 作成者のscreen_name(owner権限必要) */
2279
+ created_by?: string;
2280
+ /** @description 更新者のscreen_name(owner権限必要) */
2281
+ updated_by?: string;
2282
+ };
2283
+ PostUpdateInput: {
2284
+ /** @description 記事名 */
2285
+ name?: string;
2286
+ /** @description Markdownの本文 */
2287
+ body_md?: string;
2288
+ /** @description タグ */
2289
+ tags?: string[];
2290
+ /** @description カテゴリ */
2291
+ category?: string;
2292
+ /** @description WIP状態かどうか */
2293
+ wip?: boolean;
2294
+ /** @description 更新メッセージ */
2295
+ message?: string;
2296
+ /** @description 記事投稿者のscreen_name(owner権限必要) */
2297
+ user?: string;
2298
+ /** @description テンプレート記事のID */
2299
+ template_post_id?: number;
2300
+ /** @description 作成者のscreen_name(owner権限必要) */
2301
+ created_by?: string;
2302
+ /** @description 更新者のscreen_name(owner権限必要) */
2303
+ updated_by?: string;
2304
+ original_revision?: {
2305
+ /** @description 変更前の本文 */
2306
+ body_md?: string;
2307
+ /** @description 変更前のrevision_number */
2308
+ number?: number;
2309
+ /** @description 変更前の最終更新者のscreen_name */
2310
+ user?: string;
2311
+ };
2312
+ };
2313
+ Comment: {
2314
+ /** @description コメントID */
2315
+ id: number;
2316
+ /** @description Markdownのコメント本文 */
2317
+ body_md: string;
2318
+ /** @description HTMLのコメント本文 */
2319
+ body_html: string;
2320
+ /**
2321
+ * Format: date-time
2322
+ * @description 作成日時
2323
+ */
2324
+ created_at: string;
2325
+ /**
2326
+ * Format: date-time
2327
+ * @description 更新日時
2328
+ */
2329
+ updated_at: string;
2330
+ /** @description 記事番号 */
2331
+ post_number: number;
2332
+ /**
2333
+ * Format: uri
2334
+ * @description コメントのURL
2335
+ */
2336
+ url: string;
2337
+ created_by: components["schemas"]["User"];
2338
+ /** @description スターの数 */
2339
+ stargazers_count: number;
2340
+ /** @description 自分がスターしているかどうか */
2341
+ star: boolean;
2342
+ /** @description スターしたメンバー一覧(include=stargazers or include=comments.stargazers) */
2343
+ stargazers?: (components["schemas"]["Star"] &
2344
+ components["schemas"]["Member"])[];
2345
+ };
2346
+ CommentList: components["schemas"]["Pagination"] & {
2347
+ comments: components["schemas"]["Comment"][];
2348
+ };
2349
+ CommentInput: {
2350
+ /** @description Markdownのコメント本文 */
2351
+ body_md: string;
2352
+ /** @description コメント投稿者のscreen_name(owner権限必要) */
2353
+ user?: string;
2354
+ };
2355
+ Star: {
2356
+ /**
2357
+ * Format: date-time
2358
+ * @description スターした日時
2359
+ */
2360
+ created_at: string;
2361
+ /** @description 引用スターの本文 */
2362
+ body: string | null;
2363
+ user: components["schemas"]["User"];
2364
+ };
2365
+ StarList: components["schemas"]["Pagination"] & {
2366
+ stargazers: components["schemas"]["Star"][];
2367
+ };
2368
+ StarInput: {
2369
+ /** @description 引用スターの本文 */
2370
+ body?: string;
2371
+ };
2372
+ Watcher: {
2373
+ /**
2374
+ * Format: date-time
2375
+ * @description ウォッチした日時
2376
+ */
2377
+ created_at: string;
2378
+ user: components["schemas"]["User"];
2379
+ };
2380
+ WatcherList: components["schemas"]["Pagination"] & {
2381
+ watchers: components["schemas"]["Watcher"][];
2382
+ };
2383
+ Tag: {
2384
+ /** @description タグ名 */
2385
+ name: string;
2386
+ /** @description タグ付けされた記事数 */
2387
+ posts_count: number;
2388
+ };
2389
+ TagList: components["schemas"]["Pagination"] & {
2390
+ tags: components["schemas"]["Tag"][];
2391
+ };
2392
+ BatchMoveInput: {
2393
+ /** @description 変更元のカテゴリ */
2394
+ from: string;
2395
+ /** @description 変更先のカテゴリ */
2396
+ to: string;
2397
+ };
2398
+ BatchMoveResult: {
2399
+ /** @description 変更されたカテゴリの数 */
2400
+ count: number;
2401
+ /** @description 変更元のカテゴリ */
2402
+ from: string;
2403
+ /** @description 変更先のカテゴリ */
2404
+ to: string;
2405
+ };
2406
+ Invitation: {
2407
+ /**
2408
+ * Format: uri
2409
+ * @description 招待URL
2410
+ */
2411
+ url: string;
2412
+ };
2413
+ EmailInvitation: {
2414
+ /**
2415
+ * Format: email
2416
+ * @description 招待されたメールアドレス
2417
+ */
2418
+ email: string;
2419
+ /** @description 招待コード */
2420
+ code: string;
2421
+ /**
2422
+ * Format: date-time
2423
+ * @description 有効期限
2424
+ */
2425
+ expires_at: string;
2426
+ /**
2427
+ * Format: uri
2428
+ * @description 招待URL
2429
+ */
2430
+ url: string;
2431
+ };
2432
+ EmailInvitationList: components["schemas"]["Pagination"] & {
2433
+ invitations: components["schemas"]["EmailInvitation"][];
2434
+ /** @description 拒否されたメールアドレス */
2435
+ rejected_emails?: string[];
2436
+ };
2437
+ EmailInvitationInput: {
2438
+ member: {
2439
+ /** @description 招待するメールアドレス */
2440
+ emails: string[];
2441
+ };
2442
+ /** @description ドメイン制限を強制的に無視する */
2443
+ force?: boolean;
2444
+ };
2445
+ Emoji: {
2446
+ /** @description 絵文字のコード */
2447
+ code: string;
2448
+ /** @description エイリアス */
2449
+ aliases: string[];
2450
+ /** @description カテゴリ */
2451
+ category: string;
2452
+ /** @description Unicode文字 */
2453
+ raw: string | null;
2454
+ /**
2455
+ * Format: uri
2456
+ * @description 絵文字の画像URL
2457
+ */
2458
+ url: string;
2459
+ };
2460
+ EmojiList: {
2461
+ emojis: components["schemas"]["Emoji"][];
2462
+ };
2463
+ EmojiInput: {
2464
+ /** @description 絵文字のコード */
2465
+ code: string;
2466
+ /** @description エイリアス作成時の元コード */
2467
+ origin_code?: string;
2468
+ /** @description BASE64エンコードした画像データ */
2469
+ image?: string;
2470
+ };
2471
+ EmojiResult: {
2472
+ /** @description 作成された絵文字のコード */
2473
+ code: string;
2474
+ };
2475
+ Category: {
2476
+ /** @description カテゴリ名 */
2477
+ name: string;
2478
+ /** @description フルパスのカテゴリ名 */
2479
+ full_name?: string;
2480
+ /** @description カテゴリ内の記事数 */
2481
+ count: number;
2482
+ /** @description 子カテゴリが存在するか */
2483
+ has_child?: boolean;
2484
+ /** @description 祖先カテゴリとして選択されているか(parent_categories内でのみ使用) */
2485
+ selected?: boolean;
2486
+ };
2487
+ CategoryList: components["schemas"]["Pagination"] & {
2488
+ /** @description 現在のカテゴリパス */
2489
+ current_category: string;
2490
+ /** @description カテゴリ一覧 */
2491
+ categories: components["schemas"]["Category"][];
2492
+ /** @description 親カテゴリ一覧(include=parent_categoriesの場合) */
2493
+ parent_categories?: {
2494
+ /** @description 階層のカテゴリパス */
2495
+ current_category: string;
2496
+ categories: components["schemas"]["Category"][];
2497
+ }[];
2498
+ /** @description READMEの記事情報 */
2499
+ readme?: components["schemas"]["Post"];
2500
+ /** @description カテゴリなし記事の情報(topカテゴリの場合) */
2501
+ no_category?: components["schemas"]["Category"];
2502
+ /** @description 子孫記事を含むかどうか */
2503
+ descendant_posts?: boolean;
2504
+ /** @description カテゴリ内の記事一覧(include=postsの場合) */
2505
+ posts?: components["schemas"]["Post"][];
2506
+ };
2507
+ CurrentUser: {
2508
+ /** @description ユーザーID */
2509
+ id: number;
2510
+ /** @description ユーザー名 */
2511
+ name: string;
2512
+ /** @description スクリーンネーム */
2513
+ screen_name: string;
2514
+ /**
2515
+ * Format: date-time
2516
+ * @description 作成日時
2517
+ */
2518
+ created_at: string;
2519
+ /**
2520
+ * Format: date-time
2521
+ * @description 更新日時
2522
+ */
2523
+ updated_at: string;
2524
+ /**
2525
+ * Format: uri
2526
+ * @description アイコンのURL
2527
+ */
2528
+ icon: string;
2529
+ /**
2530
+ * Format: email
2531
+ * @description メールアドレス
2532
+ */
2533
+ email: string;
2534
+ /** @description 所属チーム一覧(include=teamsの場合) */
2535
+ teams?: components["schemas"]["Team"][];
2536
+ };
2537
+ };
2538
+ responses: {
2539
+ /** @description リクエストの構文が不正なため処理できません */
2540
+ BadRequestError: {
2541
+ headers: {
2542
+ [name: string]: unknown;
2543
+ };
2544
+ content: {
2545
+ /** @example {
2546
+ * "error": "Bad Request",
2547
+ * "message": "Invalid request parameters"
2548
+ * } */
2549
+ "application/json": components["schemas"]["Error"];
2550
+ };
2551
+ };
2552
+ /** @description 認証が必要です */
2553
+ UnauthorizedError: {
2554
+ headers: {
2555
+ [name: string]: unknown;
2556
+ };
2557
+ content: {
2558
+ /** @example {
2559
+ * "error": "Unauthorized",
2560
+ * "message": "Invalid or expired token"
2561
+ * } */
2562
+ "application/json": components["schemas"]["Error"];
2563
+ };
2564
+ };
2565
+ /** @description 支払いが完了するまでリクエストを処理できません */
2566
+ PaymentRequiredError: {
2567
+ headers: {
2568
+ [name: string]: unknown;
2569
+ };
2570
+ content: {
2571
+ /** @example {
2572
+ * "error": "Payment Required",
2573
+ * "message": "Payment required to access this resource"
2574
+ * } */
2575
+ "application/json": components["schemas"]["Error"];
2576
+ };
2577
+ };
2578
+ /** @description このリソースへのアクセス権限がありません */
2579
+ ForbiddenError: {
2580
+ headers: {
2581
+ [name: string]: unknown;
2582
+ };
2583
+ content: {
2584
+ /** @example {
2585
+ * "error": "Forbidden",
2586
+ * "message": "Insufficient permissions"
2587
+ * } */
2588
+ "application/json": components["schemas"]["Error"];
2589
+ };
2590
+ };
2591
+ /** @description 指定されたリソースが見つかりません */
2592
+ NotFoundError: {
2593
+ headers: {
2594
+ [name: string]: unknown;
2595
+ };
2596
+ content: {
2597
+ /** @example {
2598
+ * "error": "Not Found",
2599
+ * "message": "Resource not found"
2600
+ * } */
2601
+ "application/json": components["schemas"]["Error"];
2602
+ };
2603
+ };
2604
+ /** @description このリソースでは指定されたHTTPメソッドがサポートされていません */
2605
+ MethodNotAllowedError: {
2606
+ headers: {
2607
+ [name: string]: unknown;
2608
+ };
2609
+ content: {
2610
+ /** @example {
2611
+ * "error": "Method Not Allowed",
2612
+ * "message": "HTTP method not allowed for this endpoint"
2613
+ * } */
2614
+ "application/json": components["schemas"]["Error"];
2615
+ };
2616
+ };
2617
+ /** @description リクエストで指定された形式でのレスポンス生成ができません */
2618
+ NotAcceptableError: {
2619
+ headers: {
2620
+ [name: string]: unknown;
2621
+ };
2622
+ content: {
2623
+ /** @example {
2624
+ * "error": "Not Acceptable",
2625
+ * "message": "Requested format not supported"
2626
+ * } */
2627
+ "application/json": components["schemas"]["Error"];
2628
+ };
2629
+ };
2630
+ /** @description リクエストが現在のリソースの状態と競合しています */
2631
+ ConflictError: {
2632
+ headers: {
2633
+ [name: string]: unknown;
2634
+ };
2635
+ content: {
2636
+ /** @example {
2637
+ * "error": "Conflict",
2638
+ * "message": "Resource conflict detected"
2639
+ * } */
2640
+ "application/json": components["schemas"]["Error"];
2641
+ };
2642
+ };
2643
+ /** @description リクエスト数が制限を超えています */
2644
+ TooManyRequestsError: {
2645
+ headers: {
2646
+ /** @description 再試行可能になるまでの秒数 */
2647
+ "Retry-After"?: number;
2648
+ [name: string]: unknown;
2649
+ };
2650
+ content: {
2651
+ /** @example {
2652
+ * "error": "Too Many Requests",
2653
+ * "message": "Rate limit exceeded"
2654
+ * } */
2655
+ "application/json": components["schemas"]["Error"];
2656
+ };
2657
+ };
2658
+ /** @description サーバー内部エラーが発生しました */
2659
+ InternalServerError: {
2660
+ headers: {
2661
+ [name: string]: unknown;
2662
+ };
2663
+ content: {
2664
+ /** @example {
2665
+ * "error": "Internal Server Error",
2666
+ * "message": "An unexpected error occurred"
2667
+ * } */
2668
+ "application/json": components["schemas"]["Error"];
2669
+ };
2670
+ };
2671
+ };
2672
+ parameters: {
2673
+ /** @description ページ番号(1から開始) */
2674
+ page: number;
2675
+ /** @description 1ページあたりの要素数 */
2676
+ per_page: number;
2677
+ /** @description チーム名 */
2678
+ team_name: string;
2679
+ /** @description 記事番号 */
2680
+ post_number: number;
2681
+ /** @description コメントID */
2682
+ comment_id: number;
2683
+ /** @description 追加で含める情報(カンマ区切り) */
2684
+ include: "comments" | "stargazers" | "comments.stargazers";
2685
+ };
2686
+ requestBodies: never;
2687
+ headers: never;
2688
+ pathItems: never;
2689
+ }
2690
+ export type $defs = Record<string, never>;
2691
+ export type operations = Record<string, never>;