@37signals/basecamp 0.20.0 → 0.22.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 (179) hide show
  1. package/README.md +1 -0
  2. package/dist/client.d.ts +5 -2
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +5 -2
  5. package/dist/client.js.map +1 -1
  6. package/dist/generated/metadata.d.ts.map +1 -1
  7. package/dist/generated/metadata.js +176 -2
  8. package/dist/generated/metadata.js.map +1 -1
  9. package/dist/generated/metadata.ts +176 -2
  10. package/dist/generated/openapi-stripped.json +2882 -1276
  11. package/dist/generated/path-mapping.d.ts.map +1 -1
  12. package/dist/generated/path-mapping.js +15 -1
  13. package/dist/generated/path-mapping.js.map +1 -1
  14. package/dist/generated/path-mapping.ts +15 -1
  15. package/dist/generated/person-id-sites.d.ts.map +1 -1
  16. package/dist/generated/person-id-sites.js +61 -2
  17. package/dist/generated/person-id-sites.js.map +1 -1
  18. package/dist/generated/person-id-sites.ts +61 -2
  19. package/dist/generated/schema.d.ts +1406 -92
  20. package/dist/generated/services/bookmarks.d.ts +1 -1
  21. package/dist/generated/services/bookmarks.js +1 -1
  22. package/dist/generated/services/bookmarks.ts +1 -1
  23. package/dist/generated/services/boosts.d.ts +2 -2
  24. package/dist/generated/services/boosts.js +2 -2
  25. package/dist/generated/services/boosts.ts +2 -2
  26. package/dist/generated/services/campfires.d.ts +4 -4
  27. package/dist/generated/services/campfires.js +4 -4
  28. package/dist/generated/services/campfires.ts +4 -4
  29. package/dist/generated/services/card-steps.d.ts +15 -11
  30. package/dist/generated/services/card-steps.d.ts.map +1 -1
  31. package/dist/generated/services/card-steps.js +4 -4
  32. package/dist/generated/services/card-steps.js.map +1 -1
  33. package/dist/generated/services/card-steps.ts +15 -11
  34. package/dist/generated/services/cards.d.ts +1 -1
  35. package/dist/generated/services/cards.js +1 -1
  36. package/dist/generated/services/cards.ts +1 -1
  37. package/dist/generated/services/checkins.d.ts +9 -8
  38. package/dist/generated/services/checkins.d.ts.map +1 -1
  39. package/dist/generated/services/checkins.js +6 -6
  40. package/dist/generated/services/checkins.js.map +1 -1
  41. package/dist/generated/services/checkins.ts +11 -10
  42. package/dist/generated/services/client-approvals.d.ts +1 -1
  43. package/dist/generated/services/client-approvals.js +1 -1
  44. package/dist/generated/services/client-approvals.ts +1 -1
  45. package/dist/generated/services/client-correspondences.d.ts +1 -1
  46. package/dist/generated/services/client-correspondences.js +1 -1
  47. package/dist/generated/services/client-correspondences.ts +1 -1
  48. package/dist/generated/services/client-replies.d.ts +1 -1
  49. package/dist/generated/services/client-replies.js +1 -1
  50. package/dist/generated/services/client-replies.ts +1 -1
  51. package/dist/generated/services/comments.d.ts +1 -1
  52. package/dist/generated/services/comments.js +1 -1
  53. package/dist/generated/services/comments.ts +1 -1
  54. package/dist/generated/services/documents.d.ts +1 -1
  55. package/dist/generated/services/documents.js +1 -1
  56. package/dist/generated/services/documents.ts +1 -1
  57. package/dist/generated/services/drafts.d.ts +1 -1
  58. package/dist/generated/services/drafts.js +1 -1
  59. package/dist/generated/services/drafts.ts +1 -1
  60. package/dist/generated/services/events.d.ts +1 -1
  61. package/dist/generated/services/events.js +1 -1
  62. package/dist/generated/services/events.ts +1 -1
  63. package/dist/generated/services/everything.d.ts +14 -14
  64. package/dist/generated/services/everything.js +14 -14
  65. package/dist/generated/services/everything.ts +14 -14
  66. package/dist/generated/services/forwards.d.ts +2 -2
  67. package/dist/generated/services/forwards.js +2 -2
  68. package/dist/generated/services/forwards.ts +2 -2
  69. package/dist/generated/services/index.d.ts +2 -1
  70. package/dist/generated/services/index.d.ts.map +1 -1
  71. package/dist/generated/services/index.js +2 -1
  72. package/dist/generated/services/index.js.map +1 -1
  73. package/dist/generated/services/index.ts +2 -1
  74. package/dist/generated/services/message-types.d.ts +1 -1
  75. package/dist/generated/services/message-types.js +1 -1
  76. package/dist/generated/services/message-types.ts +1 -1
  77. package/dist/generated/services/messages.d.ts +1 -1
  78. package/dist/generated/services/messages.js +1 -1
  79. package/dist/generated/services/messages.ts +1 -1
  80. package/dist/generated/services/my-notifications.d.ts +3 -2
  81. package/dist/generated/services/my-notifications.d.ts.map +1 -1
  82. package/dist/generated/services/my-notifications.js +1 -1
  83. package/dist/generated/services/my-notifications.js.map +1 -1
  84. package/dist/generated/services/my-notifications.ts +3 -2
  85. package/dist/generated/services/people.d.ts +3 -3
  86. package/dist/generated/services/people.js +3 -3
  87. package/dist/generated/services/people.ts +3 -3
  88. package/dist/generated/services/projects.d.ts +1 -1
  89. package/dist/generated/services/projects.js +1 -1
  90. package/dist/generated/services/projects.ts +1 -1
  91. package/dist/generated/services/recordings.d.ts +27 -3
  92. package/dist/generated/services/recordings.d.ts.map +1 -1
  93. package/dist/generated/services/recordings.js +32 -3
  94. package/dist/generated/services/recordings.js.map +1 -1
  95. package/dist/generated/services/recordings.ts +49 -3
  96. package/dist/generated/services/reports.d.ts +1 -1
  97. package/dist/generated/services/reports.js +1 -1
  98. package/dist/generated/services/reports.ts +1 -1
  99. package/dist/generated/services/schedules.d.ts +1 -1
  100. package/dist/generated/services/schedules.js +1 -1
  101. package/dist/generated/services/schedules.ts +1 -1
  102. package/dist/generated/services/subtasks.d.ts +157 -0
  103. package/dist/generated/services/subtasks.d.ts.map +1 -0
  104. package/dist/generated/services/subtasks.js +240 -0
  105. package/dist/generated/services/subtasks.js.map +1 -0
  106. package/dist/generated/services/subtasks.ts +336 -0
  107. package/dist/generated/services/templates.d.ts +114 -10
  108. package/dist/generated/services/templates.d.ts.map +1 -1
  109. package/dist/generated/services/templates.js +147 -10
  110. package/dist/generated/services/templates.js.map +1 -1
  111. package/dist/generated/services/templates.ts +220 -13
  112. package/dist/generated/services/timeline.d.ts +1 -1
  113. package/dist/generated/services/timeline.js +1 -1
  114. package/dist/generated/services/timeline.ts +1 -1
  115. package/dist/generated/services/timesheets.d.ts +3 -3
  116. package/dist/generated/services/timesheets.js +3 -3
  117. package/dist/generated/services/timesheets.ts +3 -3
  118. package/dist/generated/services/todolist-groups.d.ts +1 -1
  119. package/dist/generated/services/todolist-groups.js +1 -1
  120. package/dist/generated/services/todolist-groups.ts +1 -1
  121. package/dist/generated/services/todolists.d.ts +1 -1
  122. package/dist/generated/services/todolists.js +1 -1
  123. package/dist/generated/services/todolists.ts +1 -1
  124. package/dist/generated/services/todos.d.ts +1 -1
  125. package/dist/generated/services/todos.js +1 -1
  126. package/dist/generated/services/todos.ts +1 -1
  127. package/dist/generated/services/uploads.d.ts +2 -2
  128. package/dist/generated/services/uploads.js +2 -2
  129. package/dist/generated/services/uploads.ts +2 -2
  130. package/dist/generated/services/vaults.d.ts +1 -1
  131. package/dist/generated/services/vaults.js +1 -1
  132. package/dist/generated/services/vaults.ts +1 -1
  133. package/dist/generated/services/webhooks.d.ts +1 -1
  134. package/dist/generated/services/webhooks.js +1 -1
  135. package/dist/generated/services/webhooks.ts +1 -1
  136. package/dist/index.d.ts +3 -2
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +3 -0
  139. package/dist/index.js.map +1 -1
  140. package/package.json +3 -3
  141. package/src/generated/metadata.ts +176 -2
  142. package/src/generated/openapi-stripped.json +2882 -1276
  143. package/src/generated/path-mapping.ts +15 -1
  144. package/src/generated/person-id-sites.ts +61 -2
  145. package/src/generated/schema.d.ts +1406 -92
  146. package/src/generated/services/bookmarks.ts +1 -1
  147. package/src/generated/services/boosts.ts +2 -2
  148. package/src/generated/services/campfires.ts +4 -4
  149. package/src/generated/services/card-steps.ts +15 -11
  150. package/src/generated/services/cards.ts +1 -1
  151. package/src/generated/services/checkins.ts +11 -10
  152. package/src/generated/services/client-approvals.ts +1 -1
  153. package/src/generated/services/client-correspondences.ts +1 -1
  154. package/src/generated/services/client-replies.ts +1 -1
  155. package/src/generated/services/comments.ts +1 -1
  156. package/src/generated/services/documents.ts +1 -1
  157. package/src/generated/services/drafts.ts +1 -1
  158. package/src/generated/services/events.ts +1 -1
  159. package/src/generated/services/everything.ts +14 -14
  160. package/src/generated/services/forwards.ts +2 -2
  161. package/src/generated/services/index.ts +2 -1
  162. package/src/generated/services/message-types.ts +1 -1
  163. package/src/generated/services/messages.ts +1 -1
  164. package/src/generated/services/my-notifications.ts +3 -2
  165. package/src/generated/services/people.ts +3 -3
  166. package/src/generated/services/projects.ts +1 -1
  167. package/src/generated/services/recordings.ts +49 -3
  168. package/src/generated/services/reports.ts +1 -1
  169. package/src/generated/services/schedules.ts +1 -1
  170. package/src/generated/services/subtasks.ts +336 -0
  171. package/src/generated/services/templates.ts +220 -13
  172. package/src/generated/services/timeline.ts +1 -1
  173. package/src/generated/services/timesheets.ts +3 -3
  174. package/src/generated/services/todolist-groups.ts +1 -1
  175. package/src/generated/services/todolists.ts +1 -1
  176. package/src/generated/services/todos.ts +1 -1
  177. package/src/generated/services/uploads.ts +2 -2
  178. package/src/generated/services/vaults.ts +1 -1
  179. package/src/generated/services/webhooks.ts +1 -1
@@ -355,6 +355,40 @@ export interface paths {
355
355
  patch?: never;
356
356
  trace?: never;
357
357
  };
358
+ "/buckets/{bucketId}/recordings/{recordingId}/templatifications.json": {
359
+ parameters: {
360
+ query?: never;
361
+ header?: never;
362
+ path?: never;
363
+ cookie?: never;
364
+ };
365
+ get?: never;
366
+ put?: never;
367
+ /** @description Templatify a to-do list or card table */
368
+ post: operations["CreateTemplatification"];
369
+ delete?: never;
370
+ options?: never;
371
+ head?: never;
372
+ patch?: never;
373
+ trace?: never;
374
+ };
375
+ "/buckets/{bucketId}/recordings/{recordingId}/templatifications/{templatificationId}": {
376
+ parameters: {
377
+ query?: never;
378
+ header?: never;
379
+ path?: never;
380
+ cookie?: never;
381
+ };
382
+ /** @description Get a templatification */
383
+ get: operations["GetTemplatification"];
384
+ put?: never;
385
+ post?: never;
386
+ delete?: never;
387
+ options?: never;
388
+ head?: never;
389
+ patch?: never;
390
+ trace?: never;
391
+ };
358
392
  "/buckets/{bucketId}/todosets/{todosetId}/todos.json": {
359
393
  parameters: {
360
394
  query?: never;
@@ -1882,7 +1916,12 @@ export interface paths {
1882
1916
  cookie?: never;
1883
1917
  };
1884
1918
  get?: never;
1885
- /** @description Mark specified items as read */
1919
+ /**
1920
+ * @description Mark specified items as read
1921
+ *
1922
+ * A batch is capped at 500 readables; a larger one is refused with 422
1923
+ * before any per-item work (bc3 `f3437f5c732`).
1924
+ */
1886
1925
  put: operations["MarkAsRead"];
1887
1926
  post?: never;
1888
1927
  delete?: never;
@@ -2621,6 +2660,37 @@ export interface paths {
2621
2660
  patch?: never;
2622
2661
  trace?: never;
2623
2662
  };
2663
+ "/recordings/{recordingId}/filing.json": {
2664
+ parameters: {
2665
+ query?: never;
2666
+ header?: never;
2667
+ path?: never;
2668
+ cookie?: never;
2669
+ };
2670
+ get?: never;
2671
+ put?: never;
2672
+ /**
2673
+ * @description Move a document, upload or vault into another vault in its project, or reorder it in its own vault.
2674
+ *
2675
+ * Passing the vault it is already in changes only its position. The
2676
+ * recording moves in place: its id, comments, bookmarks and history stay with
2677
+ * it, and a vault takes everything inside it along. A destination in another
2678
+ * project is 404; moves to another project are not this operation. 404, 403 and
2679
+ * some 422s carry no body.
2680
+ *
2681
+ * 403 when the caller may not move the recording (an account can restrict moves
2682
+ * to admins and creators). 422 when position is not a positive whole number, the
2683
+ * destination is not a vault or is not active, the recording is not active, or a
2684
+ * vault would move into one of its own vaults; only the position and vault-cycle
2685
+ * refusals carry an `error` message.
2686
+ */
2687
+ post: operations["MoveRecordingToVault"];
2688
+ delete?: never;
2689
+ options?: never;
2690
+ head?: never;
2691
+ patch?: never;
2692
+ trace?: never;
2693
+ };
2624
2694
  "/recordings/{recordingId}/spotlight.json": {
2625
2695
  parameters: {
2626
2696
  query?: never;
@@ -2670,7 +2740,7 @@ export interface paths {
2670
2740
  cookie?: never;
2671
2741
  };
2672
2742
  get?: never;
2673
- /** @description Archive a recording */
2743
+ /** @description Archive a recording; bc3 answers 403 for types it never lets be archived, timesheet entries among them */
2674
2744
  put: operations["ArchiveRecording"];
2675
2745
  post?: never;
2676
2746
  delete?: never;
@@ -2687,7 +2757,7 @@ export interface paths {
2687
2757
  cookie?: never;
2688
2758
  };
2689
2759
  get?: never;
2690
- /** @description Trash a recording */
2760
+ /** @description Trash a recording; bc3 answers 403 for types it never lets be trashed, timesheet entries among them (DestroyTimesheetEntry removes those, permanently) */
2691
2761
  put: operations["TrashRecording"];
2692
2762
  post?: never;
2693
2763
  delete?: never;
@@ -2716,6 +2786,36 @@ export interface paths {
2716
2786
  patch?: never;
2717
2787
  trace?: never;
2718
2788
  };
2789
+ "/recordings/{recordingId}/subtasks.json": {
2790
+ parameters: {
2791
+ query?: never;
2792
+ header?: never;
2793
+ path?: never;
2794
+ cookie?: never;
2795
+ };
2796
+ /**
2797
+ * @description List a recording's subtasks, in position order
2798
+ *
2799
+ * Only to-dos and cards hold subtasks; check for `subtasks_count` and
2800
+ * `subtasks_url` on the parent's JSON.
2801
+ *
2802
+ * **Pagination**: Uses Link header (RFC5988). Follow the `next` rel URL
2803
+ * to fetch additional pages. X-Total-Count header provides total count.
2804
+ */
2805
+ get: operations["ListSubtasks"];
2806
+ put?: never;
2807
+ /**
2808
+ * @description Create a subtask under a to-do or a card
2809
+ *
2810
+ * Any other recording answers `403 Forbidden`.
2811
+ */
2812
+ post: operations["CreateSubtask"];
2813
+ delete?: never;
2814
+ options?: never;
2815
+ head?: never;
2816
+ patch?: never;
2817
+ trace?: never;
2818
+ };
2719
2819
  "/recordings/{recordingId}/timesheet.json": {
2720
2820
  parameters: {
2721
2821
  query?: never;
@@ -3130,16 +3230,67 @@ export interface paths {
3130
3230
  patch?: never;
3131
3231
  trace?: never;
3132
3232
  };
3133
- "/template_library.json": {
3233
+ "/subtasks/{subtaskId}": {
3234
+ parameters: {
3235
+ query?: never;
3236
+ header?: never;
3237
+ path?: never;
3238
+ cookie?: never;
3239
+ };
3240
+ /** @description Get a subtask by ID */
3241
+ get: operations["GetSubtask"];
3242
+ /**
3243
+ * @description Update a subtask
3244
+ *
3245
+ * A partial update: every omitted parameter is left unchanged. Clearing a
3246
+ * value takes an explicit send — `"due_on": null` clears the due date (an
3247
+ * empty string is accepted too, and is what the Ruby, Python and TypeScript
3248
+ * SDKs send, since they drop nil, None and undefined from the body);
3249
+ * `"assignee_ids": []` removes every assignee. Send at least one parameter:
3250
+ * an empty body is refused with `400 Bad Request`.
3251
+ */
3252
+ put: operations["UpdateSubtask"];
3253
+ post?: never;
3254
+ /**
3255
+ * @description Delete a subtask
3256
+ *
3257
+ * On accounts where deleting is limited to admins and the creator, everyone
3258
+ * else gets `403 Forbidden`.
3259
+ */
3260
+ delete: operations["DeleteSubtask"];
3261
+ options?: never;
3262
+ head?: never;
3263
+ patch?: never;
3264
+ trace?: never;
3265
+ };
3266
+ "/subtasks/{subtaskId}/completion.json": {
3134
3267
  parameters: {
3135
3268
  query?: never;
3136
3269
  header?: never;
3137
3270
  path?: never;
3138
3271
  cookie?: never;
3139
3272
  };
3140
- /** @description Get the account's to-do list template library */
3141
- get: operations["GetTemplateLibrary"];
3273
+ get?: never;
3142
3274
  put?: never;
3275
+ /** @description Mark a subtask as completed */
3276
+ post: operations["CompleteSubtask"];
3277
+ /** @description Mark a subtask as not completed */
3278
+ delete: operations["UncompleteSubtask"];
3279
+ options?: never;
3280
+ head?: never;
3281
+ patch?: never;
3282
+ trace?: never;
3283
+ };
3284
+ "/subtasks/{subtaskId}/position.json": {
3285
+ parameters: {
3286
+ query?: never;
3287
+ header?: never;
3288
+ path?: never;
3289
+ cookie?: never;
3290
+ };
3291
+ get?: never;
3292
+ /** @description Move a subtask to a new position among its siblings */
3293
+ put: operations["RepositionSubtask"];
3143
3294
  post?: never;
3144
3295
  delete?: never;
3145
3296
  options?: never;
@@ -3147,6 +3298,24 @@ export interface paths {
3147
3298
  patch?: never;
3148
3299
  trace?: never;
3149
3300
  };
3301
+ "/template_library/card_tables.json": {
3302
+ parameters: {
3303
+ query?: never;
3304
+ header?: never;
3305
+ path?: never;
3306
+ cookie?: never;
3307
+ };
3308
+ /** @description Get the account's card table templates */
3309
+ get: operations["GetTemplateLibraryCardTables"];
3310
+ put?: never;
3311
+ /** @description Create a card table template with the default columns */
3312
+ post: operations["CreateTemplateLibraryCardTable"];
3313
+ delete?: never;
3314
+ options?: never;
3315
+ head?: never;
3316
+ patch?: never;
3317
+ trace?: never;
3318
+ };
3150
3319
  "/template_library/copies.json": {
3151
3320
  parameters: {
3152
3321
  query?: never;
@@ -3156,7 +3325,7 @@ export interface paths {
3156
3325
  };
3157
3326
  get?: never;
3158
3327
  put?: never;
3159
- /** @description Start copying a to-do list template into a project */
3328
+ /** @description Start copying a to-do list or card table template into a project */
3160
3329
  post: operations["CreateTemplateLibraryCopy"];
3161
3330
  delete?: never;
3162
3331
  options?: never;
@@ -3181,6 +3350,24 @@ export interface paths {
3181
3350
  patch?: never;
3182
3351
  trace?: never;
3183
3352
  };
3353
+ "/template_library/todolists.json": {
3354
+ parameters: {
3355
+ query?: never;
3356
+ header?: never;
3357
+ path?: never;
3358
+ cookie?: never;
3359
+ };
3360
+ /** @description Get the account's to-do list templates */
3361
+ get: operations["GetTemplateLibraryTodolists"];
3362
+ put?: never;
3363
+ /** @description Create an empty to-do list template */
3364
+ post: operations["CreateTemplateLibraryTodolist"];
3365
+ delete?: never;
3366
+ options?: never;
3367
+ head?: never;
3368
+ patch?: never;
3369
+ trace?: never;
3370
+ };
3184
3371
  "/templates.json": {
3185
3372
  parameters: {
3186
3373
  query?: never;
@@ -3269,7 +3456,7 @@ export interface paths {
3269
3456
  /** @description Update a timesheet entry */
3270
3457
  put: operations["UpdateTimesheetEntry"];
3271
3458
  post?: never;
3272
- /** @description Permanently delete a timesheet entry; answers 403 when the caller may not archive or trash it. */
3459
+ /** @description Permanently delete a timesheet entry, which never appears in the trash and cannot be restored; this is the only way to remove one, since bc3 answers 403 to TrashRecording and ArchiveRecording for every timesheet entry, and it answers 403 when the caller may not remove the entry. */
3273
3460
  delete: operations["DestroyTimesheetEntry"];
3274
3461
  options?: never;
3275
3462
  head?: never;
@@ -3984,10 +4171,24 @@ export interface components {
3984
4171
  completer?: components["schemas"]["Person"];
3985
4172
  assignees?: components["schemas"]["Person"][];
3986
4173
  completion_subscribers?: components["schemas"]["Person"][];
3987
- steps?: components["schemas"]["CardStep"][];
4174
+ /**
4175
+ * @description The first 100 subtasks, embedded read-only. A card with more than 100
4176
+ * reports the total in `subtasks_count`; fetch the rest from `subtasks_url`.
4177
+ */
4178
+ steps?: components["schemas"]["Subtask"][];
3988
4179
  /** Format: int32 */
3989
4180
  boosts_count?: number;
3990
4181
  boosts_url?: string;
4182
+ /**
4183
+ * Format: int32
4184
+ * @description Subtask accounting (BC3 #12659). `subtasks_count` is the real total,
4185
+ * `subtasks_completed_count` how many are done, and `subtasks_url` the
4186
+ * paginated listing of all of them (`ListSubtasks`).
4187
+ */
4188
+ subtasks_count?: number;
4189
+ /** Format: int32 */
4190
+ subtasks_completed_count?: number;
4191
+ subtasks_url?: string;
3991
4192
  };
3992
4193
  CardColumn: {
3993
4194
  /** Format: int64 */
@@ -4029,31 +4230,6 @@ export interface components {
4029
4230
  cards_count: number;
4030
4231
  cards_url: string;
4031
4232
  };
4032
- CardStep: {
4033
- /** Format: int64 */
4034
- id: number;
4035
- status: string;
4036
- visible_to_clients: boolean;
4037
- created_at: string;
4038
- updated_at: string;
4039
- title: string;
4040
- inherits_status: boolean;
4041
- type: string;
4042
- url: string;
4043
- app_url: string;
4044
- bookmark_url?: string;
4045
- /** Format: int32 */
4046
- position?: number;
4047
- due_on?: string;
4048
- completed?: boolean;
4049
- completed_at?: string;
4050
- parent: components["schemas"]["RecordingParent"];
4051
- bucket: components["schemas"]["TodoBucket"];
4052
- creator: components["schemas"]["Person"];
4053
- completer?: components["schemas"]["Person"];
4054
- assignees?: components["schemas"]["Person"][];
4055
- completion_url?: string;
4056
- };
4057
4233
  CardTable: {
4058
4234
  /** Format: int64 */
4059
4235
  id: number;
@@ -4068,6 +4244,18 @@ export interface components {
4068
4244
  app_url: string;
4069
4245
  bookmark_url?: string;
4070
4246
  subscription_url?: string;
4247
+ /**
4248
+ * Format: int32
4249
+ * @description Position on the project dock. Absent on a card table template, which the
4250
+ * library orders by title instead.
4251
+ */
4252
+ position?: number;
4253
+ parent?: components["schemas"]["RecordingParent"];
4254
+ /**
4255
+ * @description Public sharing URL. Absent for callers who may not share publicly, so the
4256
+ * same card table can carry it for one person and not another.
4257
+ */
4258
+ public_link_url?: string;
4071
4259
  bucket: components["schemas"]["TodoBucket"];
4072
4260
  creator: components["schemas"]["Person"];
4073
4261
  subscribers?: components["schemas"]["Person"][];
@@ -4335,7 +4523,7 @@ export interface components {
4335
4523
  due_on?: string;
4336
4524
  assignee_ids?: number[];
4337
4525
  };
4338
- CreateCardStepResponseContent: components["schemas"]["CardStep"];
4526
+ CreateCardStepResponseContent: components["schemas"]["Subtask"];
4339
4527
  CreateChatbotRequestContent: {
4340
4528
  service_name: string;
4341
4529
  command_url?: string;
@@ -4584,20 +4772,68 @@ export interface components {
4584
4772
  */
4585
4773
  url: string;
4586
4774
  };
4775
+ CreateSubtaskRequestContent: {
4776
+ title: string;
4777
+ due_on?: string;
4778
+ assignee_ids?: number[];
4779
+ };
4780
+ CreateSubtaskResponseContent: components["schemas"]["Subtask"];
4781
+ CreateTemplateLibraryCardTableRequestContent: {
4782
+ /** @description The template's name. Write-only: the response carries it as `title`. */
4783
+ name: string;
4784
+ };
4785
+ CreateTemplateLibraryCardTableResponseContent: components["schemas"]["CardTable"];
4587
4786
  CreateTemplateLibraryCopyRequestContent: {
4588
- /** Format: int64 */
4787
+ /**
4788
+ * Format: int64
4789
+ * @description The to-do list or card table in the library to copy.
4790
+ */
4589
4791
  template_recording_id: number;
4590
- /** Format: int64 */
4591
- destination_parent_id: number;
4792
+ /**
4793
+ * Format: int64
4794
+ * @description The destination project. Basecamp resolves the container from the
4795
+ * template's kind, so a caller naming a project needs to know nothing about
4796
+ * docks or to-do sets. Supply this or destination_parent_id; if both are
4797
+ * sent, destination_parent_id wins.
4798
+ */
4799
+ destination_project_id?: number;
4800
+ /**
4801
+ * Format: int64
4802
+ * @description The container to copy into, for a caller that already holds one: the
4803
+ * project's to-do set for a to-do list template, or its dock for a card
4804
+ * table. A caller who may not edit it gets 404, not 403.
4805
+ */
4806
+ destination_parent_id?: number;
4592
4807
  /** @description Confirm granting destination-project access to people referenced by the template. */
4593
4808
  adding_people_confirmed?: boolean;
4594
4809
  };
4595
4810
  CreateTemplateLibraryCopyResponseContent: components["schemas"]["TemplateLibraryCopy"];
4811
+ CreateTemplateLibraryTodolistRequestContent: {
4812
+ /** @description What to call the template. */
4813
+ name: string;
4814
+ /** @description Rich text describing the template. */
4815
+ description?: string;
4816
+ };
4817
+ CreateTemplateLibraryTodolistResponseContent: components["schemas"]["Todolist"];
4596
4818
  CreateTemplateRequestContent: {
4597
4819
  name: string;
4598
4820
  description?: string;
4599
4821
  };
4600
4822
  CreateTemplateResponseContent: components["schemas"]["Template"];
4823
+ CreateTemplatificationRequestContent: {
4824
+ /** @description What to call the template. Defaults to the source recording's own title. */
4825
+ template_name?: string;
4826
+ /** @description Carry the comments across. */
4827
+ copy_comments?: boolean;
4828
+ /**
4829
+ * @description Carry assignees and the people involved across, adding them to the library
4830
+ * if they are not already there.
4831
+ */
4832
+ copy_assignments?: boolean;
4833
+ /** @description Gather the cards into Triage. Card tables only, and ignored otherwise. */
4834
+ move_cards_to_triage?: boolean;
4835
+ };
4836
+ CreateTemplatificationResponseContent: components["schemas"]["Templatification"];
4601
4837
  CreateTimesheetEntryRequestContent: {
4602
4838
  date: string;
4603
4839
  hours: string;
@@ -5251,7 +5487,7 @@ export interface components {
5251
5487
  GetCampfireResponseContent: components["schemas"]["Campfire"];
5252
5488
  GetCardColumnResponseContent: components["schemas"]["CardColumn"];
5253
5489
  GetCardResponseContent: components["schemas"]["Card"];
5254
- GetCardStepResponseContent: components["schemas"]["CardStep"];
5490
+ GetCardStepResponseContent: components["schemas"]["Subtask"];
5255
5491
  GetCardTableResponseContent: components["schemas"]["CardTable"];
5256
5492
  GetChatbotResponseContent: components["schemas"]["Chatbot"];
5257
5493
  GetClientApprovalResponseContent: components["schemas"]["ClientApproval"];
@@ -5356,9 +5592,12 @@ export interface components {
5356
5592
  GetScheduleResponseContent: components["schemas"]["Schedule"];
5357
5593
  GetSearchMetadataResponseContent: components["schemas"]["SearchMetadata"];
5358
5594
  GetSubscriptionResponseContent: components["schemas"]["Subscription"];
5595
+ GetSubtaskResponseContent: components["schemas"]["Subtask"];
5596
+ GetTemplateLibraryCardTablesResponseContent: components["schemas"]["TemplateLibraryCardTables"];
5359
5597
  GetTemplateLibraryCopyResponseContent: components["schemas"]["TemplateLibraryCopy"];
5360
- GetTemplateLibraryResponseContent: components["schemas"]["TemplateLibrary"];
5598
+ GetTemplateLibraryTodolistsResponseContent: components["schemas"]["TemplateLibraryTodolists"];
5361
5599
  GetTemplateResponseContent: components["schemas"]["Template"];
5600
+ GetTemplatificationResponseContent: components["schemas"]["Templatification"];
5362
5601
  GetTimesheetEntryResponseContent: components["schemas"]["TimesheetEntry"];
5363
5602
  GetTimesheetReportResponseContent: components["schemas"]["TimesheetEntry"][];
5364
5603
  GetTodoResponseContent: components["schemas"]["Todo"];
@@ -5541,6 +5780,7 @@ export interface components {
5541
5780
  ListRecordingBoostsResponseContent: components["schemas"]["Boost"][];
5542
5781
  ListRecordingsResponseContent: components["schemas"]["Recording"][];
5543
5782
  ListScheduleEntriesResponseContent: components["schemas"]["ScheduleEntry"][];
5783
+ ListSubtasksResponseContent: components["schemas"]["Subtask"][];
5544
5784
  ListTemplatesResponseContent: components["schemas"]["Template"][];
5545
5785
  ListTodolistGroupsResponseContent: components["schemas"]["Todolist"][];
5546
5786
  ListTodolistsResponseContent: components["schemas"]["Todolist"][];
@@ -5550,7 +5790,10 @@ export interface components {
5550
5790
  ListVaultsResponseContent: components["schemas"]["Vault"][];
5551
5791
  ListWebhooksResponseContent: components["schemas"]["Webhook"][];
5552
5792
  MarkAsReadRequestContent: {
5553
- /** @description Array of readable_sgid values identifying the items to mark as read */
5793
+ /**
5794
+ * @description Array of readable_sgid values identifying the items to mark as read.
5795
+ * At most 500 per request.
5796
+ */
5554
5797
  readables: string[];
5555
5798
  };
5556
5799
  Message: {
@@ -5628,6 +5871,20 @@ export interface components {
5628
5871
  */
5629
5872
  position?: number;
5630
5873
  };
5874
+ MoveRecordingToVaultRequestContent: {
5875
+ /**
5876
+ * Format: int64
5877
+ * @description The destination vault. The recording's current vault keeps it where it is
5878
+ * and changes only its position.
5879
+ */
5880
+ parent_id: number;
5881
+ /**
5882
+ * Format: int32
5883
+ * @description 1-indexed position within the destination vault. Defaults to 1 (first); a
5884
+ * position past the end places it last.
5885
+ */
5886
+ position?: number;
5887
+ };
5631
5888
  MyAssignment: {
5632
5889
  /** Format: int64 */
5633
5890
  id: number;
@@ -6150,6 +6407,17 @@ export interface components {
6150
6407
  */
6151
6408
  boosts_count?: number;
6152
6409
  boosts_url?: string;
6410
+ /**
6411
+ * Format: int32
6412
+ * @description Subtask count/URL. Carried on subtaskable recordings — to-dos and cards,
6413
+ * whose type-specific partials render with `subtaskable: true` (BC3
6414
+ * #12659). Optional (absent on every other recording type and on the
6415
+ * base/webhook partial).
6416
+ */
6417
+ subtasks_count?: number;
6418
+ /** Format: int32 */
6419
+ subtasks_completed_count?: number;
6420
+ subtasks_url?: string;
6153
6421
  /**
6154
6422
  * @description Message subject. Present on `Message` recordings — notably the account-wide
6155
6423
  * `/messages.json` aggregate feed, whose message partial renders `subject`.
@@ -6311,7 +6579,16 @@ export interface components {
6311
6579
  source_id: number;
6312
6580
  /**
6313
6581
  * Format: int32
6314
- * @description 0-indexed position
6582
+ * @description The 1-based position to move it to (1 = top), the same `reposition_to`
6583
+ * a to-do uses. bc3's doc said "Zero indexed" until BC3 #12659 corrected
6584
+ * it; the server never was.
6585
+ */
6586
+ position: number;
6587
+ };
6588
+ RepositionSubtaskRequestContent: {
6589
+ /**
6590
+ * Format: int32
6591
+ * @description The 1-based position to move it to
6315
6592
  */
6316
6593
  position: number;
6317
6594
  };
@@ -6790,7 +7067,7 @@ export interface components {
6790
7067
  /** @description Set to "on" to complete the step, "" (empty) to uncomplete */
6791
7068
  completion: string;
6792
7069
  };
6793
- SetCardStepCompletionResponseContent: components["schemas"]["CardStep"];
7070
+ SetCardStepCompletionResponseContent: components["schemas"]["Subtask"];
6794
7071
  SetClientVisibilityRequestContent: {
6795
7072
  visible_to_clients: boolean;
6796
7073
  };
@@ -6815,6 +7092,31 @@ export interface components {
6815
7092
  url: string;
6816
7093
  subscribers?: components["schemas"]["Person"][];
6817
7094
  };
7095
+ Subtask: {
7096
+ /** Format: int64 */
7097
+ id: number;
7098
+ status: string;
7099
+ visible_to_clients: boolean;
7100
+ created_at: string;
7101
+ updated_at: string;
7102
+ title: string;
7103
+ inherits_status: boolean;
7104
+ type: string;
7105
+ url: string;
7106
+ app_url: string;
7107
+ bookmark_url?: string;
7108
+ /** Format: int32 */
7109
+ position?: number;
7110
+ due_on?: string;
7111
+ completed?: boolean;
7112
+ completed_at?: string;
7113
+ parent: components["schemas"]["RecordingParent"];
7114
+ bucket: components["schemas"]["TodoBucket"];
7115
+ creator: components["schemas"]["Person"];
7116
+ completer?: components["schemas"]["Person"];
7117
+ assignees?: components["schemas"]["Person"][];
7118
+ completion_url?: string;
7119
+ };
6818
7120
  Template: {
6819
7121
  /** Format: int64 */
6820
7122
  id: number;
@@ -6827,10 +7129,14 @@ export interface components {
6827
7129
  app_url?: string;
6828
7130
  dock?: components["schemas"]["DockItem"][];
6829
7131
  };
6830
- TemplateLibrary: {
7132
+ TemplateLibraryCardTables: {
6831
7133
  bucket: components["schemas"]["RecordingBucket"];
6832
- todoset: components["schemas"]["RecordingParent"];
6833
- todolists: components["schemas"]["Todolist"][];
7134
+ kanban_boardset: components["schemas"]["RecordingParent"] | null;
7135
+ /**
7136
+ * @description Active templates in title order, as recording projections: read one through
7137
+ * GetCardTable to see its columns.
7138
+ */
7139
+ card_tables: components["schemas"]["Recording"][];
6834
7140
  };
6835
7141
  TemplateLibraryConfirmationPerson: {
6836
7142
  /** Format: int64 */
@@ -6851,6 +7157,27 @@ export interface components {
6851
7157
  destination_parent_id: number;
6852
7158
  url: string;
6853
7159
  destination_todolist?: components["schemas"]["Todolist"];
7160
+ destination_card_table?: components["schemas"]["CardTable"];
7161
+ };
7162
+ TemplateLibraryTodolists: {
7163
+ bucket: components["schemas"]["RecordingBucket"];
7164
+ todoset: components["schemas"]["RecordingParent"];
7165
+ todolists: components["schemas"]["Todolist"][];
7166
+ };
7167
+ /**
7168
+ * @description The record of templatifying a recording into the library. Carries no
7169
+ * destination parent, unlike a copy: the destination is always the library.
7170
+ */
7171
+ Templatification: {
7172
+ /** Format: int64 */
7173
+ id: number;
7174
+ /** @description pending|processing|completed|failed */
7175
+ status: string;
7176
+ /** Format: int64 */
7177
+ source_recording_id: number;
7178
+ url: string;
7179
+ destination_todolist?: components["schemas"]["Todolist"];
7180
+ destination_card_table?: components["schemas"]["CardTable"];
6854
7181
  };
6855
7182
  /**
6856
7183
  * @description A single timeline-event attachment. This is an optional-field superset over
@@ -7072,11 +7399,22 @@ export interface components {
7072
7399
  boosts_count?: number;
7073
7400
  boosts_url?: string;
7074
7401
  /**
7075
- * @description Steps embedded in the Todo response (BC5 addition). The shared
7076
- * `steps/step` jbuilder partial emits the same shape as `CardStep`,
7077
- * so the existing `CardStepList` is reused.
7402
+ * Format: int32
7403
+ * @description Subtask accounting (BC3 #12659). `subtasks_count` is the real total,
7404
+ * `subtasks_completed_count` how many are done, and `subtasks_url` the
7405
+ * paginated listing of all of them (`ListSubtasks`).
7406
+ */
7407
+ subtasks_count?: number;
7408
+ /** Format: int32 */
7409
+ subtasks_completed_count?: number;
7410
+ subtasks_url?: string;
7411
+ /**
7412
+ * @description The first 100 subtasks, embedded read-only (BC5 addition). The shared
7413
+ * `subtasks/subtask` jbuilder partial emits the same `Subtask` shape a card
7414
+ * embeds. A to-do with more than 100 reports the total in
7415
+ * `subtasks_count`; fetch the rest from `subtasks_url`.
7078
7416
  */
7079
- steps?: components["schemas"]["CardStep"][];
7417
+ steps?: components["schemas"]["Subtask"][];
7080
7418
  };
7081
7419
  TodoBucket: {
7082
7420
  /** Format: int64 */
@@ -7537,7 +7875,7 @@ export interface components {
7537
7875
  due_on?: string;
7538
7876
  assignee_ids?: number[];
7539
7877
  };
7540
- UpdateCardStepResponseContent: components["schemas"]["CardStep"];
7878
+ UpdateCardStepResponseContent: components["schemas"]["Subtask"];
7541
7879
  UpdateChatbotRequestContent: {
7542
7880
  service_name: string;
7543
7881
  command_url?: string;
@@ -7658,11 +7996,14 @@ export interface components {
7658
7996
  };
7659
7997
  UpdateProjectResponseContent: components["schemas"]["Project"];
7660
7998
  UpdateQuestionNotificationSettingsRequestContent: {
7661
- /** @description Notify when someone answers */
7662
- notify_on_answer?: boolean;
7663
- /** @description Include unanswered in digest */
7664
- digest_include_unanswered?: boolean;
7665
- };
7999
+ /**
8000
+ * @description Whether the authenticated user is asked this question. Omit to leave it unchanged.
8001
+ * Turning it on also subscribes the user unless `subscribed: false` is sent with it.
8002
+ */
8003
+ responding?: boolean;
8004
+ /** @description Whether the authenticated user is notified when someone answers. Omit to leave it unchanged. */
8005
+ subscribed?: boolean;
8006
+ };
7666
8007
  UpdateQuestionNotificationSettingsResponseContent: {
7667
8008
  responding?: boolean;
7668
8009
  subscribed?: boolean;
@@ -7682,6 +8023,12 @@ export interface components {
7682
8023
  unsubscriptions?: number[];
7683
8024
  };
7684
8025
  UpdateSubscriptionResponseContent: components["schemas"]["Subscription"];
8026
+ UpdateSubtaskRequestContent: {
8027
+ title?: string;
8028
+ due_on?: string;
8029
+ assignee_ids?: number[];
8030
+ };
8031
+ UpdateSubtaskResponseContent: components["schemas"]["Subtask"];
7685
8032
  UpdateTemplateRequestContent: {
7686
8033
  name?: string;
7687
8034
  description?: string;
@@ -7965,6 +8312,11 @@ export interface components {
7965
8312
  */
7966
8313
  destination_url: string | null;
7967
8314
  };
8315
+ /**
8316
+ * @deprecated
8317
+ * @description Deprecated: renamed to Subtask, the same Kanban::Step record.
8318
+ */
8319
+ CardStep: components["schemas"]["Subtask"];
7968
8320
  };
7969
8321
  responses: never;
7970
8322
  parameters: never;
@@ -9797,6 +10149,157 @@ export interface operations {
9797
10149
  };
9798
10150
  };
9799
10151
  };
10152
+ CreateTemplatification: {
10153
+ parameters: {
10154
+ query?: never;
10155
+ header?: never;
10156
+ path: {
10157
+ bucketId: number;
10158
+ /** @description The to-do list or card table to templatify. Anything else is a 403. */
10159
+ recordingId: number;
10160
+ };
10161
+ cookie?: never;
10162
+ };
10163
+ requestBody?: {
10164
+ content: {
10165
+ "application/json": components["schemas"]["CreateTemplatificationRequestContent"];
10166
+ };
10167
+ };
10168
+ responses: {
10169
+ /** @description CreateTemplatification 201 response */
10170
+ 201: {
10171
+ headers: {
10172
+ [name: string]: unknown;
10173
+ };
10174
+ content: {
10175
+ "application/json": components["schemas"]["CreateTemplatificationResponseContent"];
10176
+ };
10177
+ };
10178
+ /** @description UnauthorizedError 401 response */
10179
+ 401: {
10180
+ headers: {
10181
+ [name: string]: unknown;
10182
+ };
10183
+ content: {
10184
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
10185
+ };
10186
+ };
10187
+ /** @description ForbiddenError 403 response */
10188
+ 403: {
10189
+ headers: {
10190
+ [name: string]: unknown;
10191
+ };
10192
+ content: {
10193
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
10194
+ };
10195
+ };
10196
+ /** @description NotFoundError 404 response */
10197
+ 404: {
10198
+ headers: {
10199
+ [name: string]: unknown;
10200
+ };
10201
+ content: {
10202
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
10203
+ };
10204
+ };
10205
+ /** @description FieldValidationError 422 response */
10206
+ 422: {
10207
+ headers: {
10208
+ [name: string]: unknown;
10209
+ };
10210
+ content: {
10211
+ "application/json": components["schemas"]["FieldValidationErrorResponseContent"];
10212
+ };
10213
+ };
10214
+ /** @description RateLimitError 429 response */
10215
+ 429: {
10216
+ headers: {
10217
+ [name: string]: unknown;
10218
+ };
10219
+ content: {
10220
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
10221
+ };
10222
+ };
10223
+ /** @description InternalServerError 500 response */
10224
+ 500: {
10225
+ headers: {
10226
+ [name: string]: unknown;
10227
+ };
10228
+ content: {
10229
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
10230
+ };
10231
+ };
10232
+ };
10233
+ };
10234
+ GetTemplatification: {
10235
+ parameters: {
10236
+ query?: never;
10237
+ header?: never;
10238
+ path: {
10239
+ bucketId: number;
10240
+ recordingId: number;
10241
+ templatificationId: number;
10242
+ };
10243
+ cookie?: never;
10244
+ };
10245
+ requestBody?: never;
10246
+ responses: {
10247
+ /** @description GetTemplatification 200 response */
10248
+ 200: {
10249
+ headers: {
10250
+ [name: string]: unknown;
10251
+ };
10252
+ content: {
10253
+ "application/json": components["schemas"]["GetTemplatificationResponseContent"];
10254
+ };
10255
+ };
10256
+ /** @description UnauthorizedError 401 response */
10257
+ 401: {
10258
+ headers: {
10259
+ [name: string]: unknown;
10260
+ };
10261
+ content: {
10262
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
10263
+ };
10264
+ };
10265
+ /** @description ForbiddenError 403 response */
10266
+ 403: {
10267
+ headers: {
10268
+ [name: string]: unknown;
10269
+ };
10270
+ content: {
10271
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
10272
+ };
10273
+ };
10274
+ /** @description NotFoundError 404 response */
10275
+ 404: {
10276
+ headers: {
10277
+ [name: string]: unknown;
10278
+ };
10279
+ content: {
10280
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
10281
+ };
10282
+ };
10283
+ /** @description RateLimitError 429 response */
10284
+ 429: {
10285
+ headers: {
10286
+ [name: string]: unknown;
10287
+ };
10288
+ content: {
10289
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
10290
+ };
10291
+ };
10292
+ /** @description InternalServerError 500 response */
10293
+ 500: {
10294
+ headers: {
10295
+ [name: string]: unknown;
10296
+ };
10297
+ content: {
10298
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
10299
+ };
10300
+ };
10301
+ };
10302
+ };
9800
10303
  CreateTodosetTodo: {
9801
10304
  parameters: {
9802
10305
  query?: never;
@@ -16042,6 +16545,15 @@ export interface operations {
16042
16545
  "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
16043
16546
  };
16044
16547
  };
16548
+ /** @description ValidationError 422 response */
16549
+ 422: {
16550
+ headers: {
16551
+ [name: string]: unknown;
16552
+ };
16553
+ content: {
16554
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
16555
+ };
16556
+ };
16045
16557
  /** @description RateLimitError 429 response */
16046
16558
  429: {
16047
16559
  headers: {
@@ -19537,6 +20049,89 @@ export interface operations {
19537
20049
  };
19538
20050
  };
19539
20051
  };
20052
+ MoveRecordingToVault: {
20053
+ parameters: {
20054
+ query?: never;
20055
+ header?: never;
20056
+ path: {
20057
+ recordingId: number;
20058
+ };
20059
+ cookie?: never;
20060
+ };
20061
+ requestBody: {
20062
+ content: {
20063
+ "application/json": components["schemas"]["MoveRecordingToVaultRequestContent"];
20064
+ };
20065
+ };
20066
+ responses: {
20067
+ /** @description MoveRecordingToVault 204 response */
20068
+ 204: {
20069
+ headers: {
20070
+ [name: string]: unknown;
20071
+ };
20072
+ content?: never;
20073
+ };
20074
+ /** @description BadRequestError 400 response */
20075
+ 400: {
20076
+ headers: {
20077
+ [name: string]: unknown;
20078
+ };
20079
+ content: {
20080
+ "application/json": components["schemas"]["BadRequestErrorResponseContent"];
20081
+ };
20082
+ };
20083
+ /** @description UnauthorizedError 401 response */
20084
+ 401: {
20085
+ headers: {
20086
+ [name: string]: unknown;
20087
+ };
20088
+ content: {
20089
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
20090
+ };
20091
+ };
20092
+ /** @description BareForbiddenError 403 response */
20093
+ 403: {
20094
+ headers: {
20095
+ [name: string]: unknown;
20096
+ };
20097
+ content?: never;
20098
+ };
20099
+ /** @description BareNotFoundError 404 response */
20100
+ 404: {
20101
+ headers: {
20102
+ [name: string]: unknown;
20103
+ };
20104
+ content?: never;
20105
+ };
20106
+ /** @description ValidationError 422 response */
20107
+ 422: {
20108
+ headers: {
20109
+ [name: string]: unknown;
20110
+ };
20111
+ content: {
20112
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
20113
+ };
20114
+ };
20115
+ /** @description RateLimitError 429 response */
20116
+ 429: {
20117
+ headers: {
20118
+ [name: string]: unknown;
20119
+ };
20120
+ content: {
20121
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
20122
+ };
20123
+ };
20124
+ /** @description InternalServerError 500 response */
20125
+ 500: {
20126
+ headers: {
20127
+ [name: string]: unknown;
20128
+ };
20129
+ content: {
20130
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
20131
+ };
20132
+ };
20133
+ };
20134
+ };
19540
20135
  SpotlightRecording: {
19541
20136
  parameters: {
19542
20137
  query?: never;
@@ -20125,12 +20720,9 @@ export interface operations {
20125
20720
  };
20126
20721
  };
20127
20722
  };
20128
- GetRecordingTimesheet: {
20723
+ ListSubtasks: {
20129
20724
  parameters: {
20130
20725
  query?: {
20131
- from?: string;
20132
- to?: string;
20133
- person_id?: number;
20134
20726
  /** @description Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
20135
20727
  page?: number;
20136
20728
  };
@@ -20142,13 +20734,13 @@ export interface operations {
20142
20734
  };
20143
20735
  requestBody?: never;
20144
20736
  responses: {
20145
- /** @description GetRecordingTimesheet 200 response */
20737
+ /** @description ListSubtasks 200 response */
20146
20738
  200: {
20147
20739
  headers: {
20148
20740
  [name: string]: unknown;
20149
20741
  };
20150
20742
  content: {
20151
- "application/json": components["schemas"]["GetRecordingTimesheetResponseContent"];
20743
+ "application/json": components["schemas"]["ListSubtasksResponseContent"];
20152
20744
  };
20153
20745
  };
20154
20746
  /** @description UnauthorizedError 401 response */
@@ -20178,16 +20770,169 @@ export interface operations {
20178
20770
  "application/json": components["schemas"]["NotFoundErrorResponseContent"];
20179
20771
  };
20180
20772
  };
20181
- /** @description InternalServerError 500 response */
20182
- 500: {
20773
+ /** @description RateLimitError 429 response */
20774
+ 429: {
20183
20775
  headers: {
20184
20776
  [name: string]: unknown;
20185
20777
  };
20186
20778
  content: {
20187
- "application/json": components["schemas"]["InternalServerErrorResponseContent"];
20779
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
20188
20780
  };
20189
20781
  };
20190
- };
20782
+ /** @description InternalServerError 500 response */
20783
+ 500: {
20784
+ headers: {
20785
+ [name: string]: unknown;
20786
+ };
20787
+ content: {
20788
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
20789
+ };
20790
+ };
20791
+ };
20792
+ };
20793
+ CreateSubtask: {
20794
+ parameters: {
20795
+ query?: never;
20796
+ header?: never;
20797
+ path: {
20798
+ recordingId: number;
20799
+ };
20800
+ cookie?: never;
20801
+ };
20802
+ requestBody: {
20803
+ content: {
20804
+ "application/json": components["schemas"]["CreateSubtaskRequestContent"];
20805
+ };
20806
+ };
20807
+ responses: {
20808
+ /** @description CreateSubtask 201 response */
20809
+ 201: {
20810
+ headers: {
20811
+ [name: string]: unknown;
20812
+ };
20813
+ content: {
20814
+ "application/json": components["schemas"]["CreateSubtaskResponseContent"];
20815
+ };
20816
+ };
20817
+ /** @description UnauthorizedError 401 response */
20818
+ 401: {
20819
+ headers: {
20820
+ [name: string]: unknown;
20821
+ };
20822
+ content: {
20823
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
20824
+ };
20825
+ };
20826
+ /** @description ForbiddenError 403 response */
20827
+ 403: {
20828
+ headers: {
20829
+ [name: string]: unknown;
20830
+ };
20831
+ content: {
20832
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
20833
+ };
20834
+ };
20835
+ /** @description NotFoundError 404 response */
20836
+ 404: {
20837
+ headers: {
20838
+ [name: string]: unknown;
20839
+ };
20840
+ content: {
20841
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
20842
+ };
20843
+ };
20844
+ /** @description ValidationError 422 response */
20845
+ 422: {
20846
+ headers: {
20847
+ [name: string]: unknown;
20848
+ };
20849
+ content: {
20850
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
20851
+ };
20852
+ };
20853
+ /** @description RateLimitError 429 response */
20854
+ 429: {
20855
+ headers: {
20856
+ [name: string]: unknown;
20857
+ };
20858
+ content: {
20859
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
20860
+ };
20861
+ };
20862
+ /** @description InternalServerError 500 response */
20863
+ 500: {
20864
+ headers: {
20865
+ [name: string]: unknown;
20866
+ };
20867
+ content: {
20868
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
20869
+ };
20870
+ };
20871
+ };
20872
+ };
20873
+ GetRecordingTimesheet: {
20874
+ parameters: {
20875
+ query?: {
20876
+ from?: string;
20877
+ to?: string;
20878
+ person_id?: number;
20879
+ /** @description Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
20880
+ page?: number;
20881
+ };
20882
+ header?: never;
20883
+ path: {
20884
+ recordingId: number;
20885
+ };
20886
+ cookie?: never;
20887
+ };
20888
+ requestBody?: never;
20889
+ responses: {
20890
+ /** @description GetRecordingTimesheet 200 response */
20891
+ 200: {
20892
+ headers: {
20893
+ [name: string]: unknown;
20894
+ };
20895
+ content: {
20896
+ "application/json": components["schemas"]["GetRecordingTimesheetResponseContent"];
20897
+ };
20898
+ };
20899
+ /** @description UnauthorizedError 401 response */
20900
+ 401: {
20901
+ headers: {
20902
+ [name: string]: unknown;
20903
+ };
20904
+ content: {
20905
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
20906
+ };
20907
+ };
20908
+ /** @description ForbiddenError 403 response */
20909
+ 403: {
20910
+ headers: {
20911
+ [name: string]: unknown;
20912
+ };
20913
+ content: {
20914
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
20915
+ };
20916
+ };
20917
+ /** @description NotFoundError 404 response */
20918
+ 404: {
20919
+ headers: {
20920
+ [name: string]: unknown;
20921
+ };
20922
+ content: {
20923
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
20924
+ };
20925
+ };
20926
+ /** @description InternalServerError 500 response */
20927
+ 500: {
20928
+ headers: {
20929
+ [name: string]: unknown;
20930
+ };
20931
+ content: {
20932
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
20933
+ };
20934
+ };
20935
+ };
20191
20936
  };
20192
20937
  CreateTimesheetEntry: {
20193
20938
  parameters: {
@@ -21885,22 +22630,24 @@ export interface operations {
21885
22630
  };
21886
22631
  };
21887
22632
  };
21888
- GetTemplateLibrary: {
22633
+ GetSubtask: {
21889
22634
  parameters: {
21890
22635
  query?: never;
21891
22636
  header?: never;
21892
- path?: never;
22637
+ path: {
22638
+ subtaskId: number;
22639
+ };
21893
22640
  cookie?: never;
21894
22641
  };
21895
22642
  requestBody?: never;
21896
22643
  responses: {
21897
- /** @description GetTemplateLibrary 200 response */
22644
+ /** @description GetSubtask 200 response */
21898
22645
  200: {
21899
22646
  headers: {
21900
22647
  [name: string]: unknown;
21901
22648
  };
21902
22649
  content: {
21903
- "application/json": components["schemas"]["GetTemplateLibraryResponseContent"];
22650
+ "application/json": components["schemas"]["GetSubtaskResponseContent"];
21904
22651
  };
21905
22652
  };
21906
22653
  /** @description UnauthorizedError 401 response */
@@ -21921,13 +22668,13 @@ export interface operations {
21921
22668
  "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
21922
22669
  };
21923
22670
  };
21924
- /** @description RateLimitError 429 response */
21925
- 429: {
22671
+ /** @description NotFoundError 404 response */
22672
+ 404: {
21926
22673
  headers: {
21927
22674
  [name: string]: unknown;
21928
22675
  };
21929
22676
  content: {
21930
- "application/json": components["schemas"]["RateLimitErrorResponseContent"];
22677
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
21931
22678
  };
21932
22679
  };
21933
22680
  /** @description InternalServerError 500 response */
@@ -21941,26 +22688,28 @@ export interface operations {
21941
22688
  };
21942
22689
  };
21943
22690
  };
21944
- CreateTemplateLibraryCopy: {
22691
+ UpdateSubtask: {
21945
22692
  parameters: {
21946
22693
  query?: never;
21947
22694
  header?: never;
21948
- path?: never;
22695
+ path: {
22696
+ subtaskId: number;
22697
+ };
21949
22698
  cookie?: never;
21950
22699
  };
21951
- requestBody: {
22700
+ requestBody?: {
21952
22701
  content: {
21953
- "application/json": components["schemas"]["CreateTemplateLibraryCopyRequestContent"];
22702
+ "application/json": components["schemas"]["UpdateSubtaskRequestContent"];
21954
22703
  };
21955
22704
  };
21956
22705
  responses: {
21957
- /** @description CreateTemplateLibraryCopy 201 response */
21958
- 201: {
22706
+ /** @description UpdateSubtask 200 response */
22707
+ 200: {
21959
22708
  headers: {
21960
22709
  [name: string]: unknown;
21961
22710
  };
21962
22711
  content: {
21963
- "application/json": components["schemas"]["CreateTemplateLibraryCopyResponseContent"];
22712
+ "application/json": components["schemas"]["UpdateSubtaskResponseContent"];
21964
22713
  };
21965
22714
  };
21966
22715
  /** @description UnauthorizedError 401 response */
@@ -21990,22 +22739,69 @@ export interface operations {
21990
22739
  "application/json": components["schemas"]["NotFoundErrorResponseContent"];
21991
22740
  };
21992
22741
  };
21993
- /** @description PeopleConfirmationRequiredError 422 response */
22742
+ /** @description ValidationError 422 response */
21994
22743
  422: {
21995
22744
  headers: {
21996
22745
  [name: string]: unknown;
21997
22746
  };
21998
22747
  content: {
21999
- "application/json": components["schemas"]["PeopleConfirmationRequiredErrorResponseContent"];
22748
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
22000
22749
  };
22001
22750
  };
22002
- /** @description RateLimitError 429 response */
22003
- 429: {
22751
+ /** @description InternalServerError 500 response */
22752
+ 500: {
22004
22753
  headers: {
22005
22754
  [name: string]: unknown;
22006
22755
  };
22007
22756
  content: {
22008
- "application/json": components["schemas"]["RateLimitErrorResponseContent"];
22757
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
22758
+ };
22759
+ };
22760
+ };
22761
+ };
22762
+ DeleteSubtask: {
22763
+ parameters: {
22764
+ query?: never;
22765
+ header?: never;
22766
+ path: {
22767
+ subtaskId: number;
22768
+ };
22769
+ cookie?: never;
22770
+ };
22771
+ requestBody?: never;
22772
+ responses: {
22773
+ /** @description DeleteSubtask 204 response */
22774
+ 204: {
22775
+ headers: {
22776
+ [name: string]: unknown;
22777
+ };
22778
+ content?: never;
22779
+ };
22780
+ /** @description UnauthorizedError 401 response */
22781
+ 401: {
22782
+ headers: {
22783
+ [name: string]: unknown;
22784
+ };
22785
+ content: {
22786
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
22787
+ };
22788
+ };
22789
+ /** @description ForbiddenError 403 response */
22790
+ 403: {
22791
+ headers: {
22792
+ [name: string]: unknown;
22793
+ };
22794
+ content: {
22795
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
22796
+ };
22797
+ };
22798
+ /** @description NotFoundError 404 response */
22799
+ 404: {
22800
+ headers: {
22801
+ [name: string]: unknown;
22802
+ };
22803
+ content: {
22804
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
22009
22805
  };
22010
22806
  };
22011
22807
  /** @description InternalServerError 500 response */
@@ -22019,25 +22815,23 @@ export interface operations {
22019
22815
  };
22020
22816
  };
22021
22817
  };
22022
- GetTemplateLibraryCopy: {
22818
+ CompleteSubtask: {
22023
22819
  parameters: {
22024
22820
  query?: never;
22025
22821
  header?: never;
22026
22822
  path: {
22027
- copyId: number;
22823
+ subtaskId: number;
22028
22824
  };
22029
22825
  cookie?: never;
22030
22826
  };
22031
22827
  requestBody?: never;
22032
22828
  responses: {
22033
- /** @description GetTemplateLibraryCopy 200 response */
22034
- 200: {
22829
+ /** @description CompleteSubtask 204 response */
22830
+ 204: {
22035
22831
  headers: {
22036
22832
  [name: string]: unknown;
22037
22833
  };
22038
- content: {
22039
- "application/json": components["schemas"]["GetTemplateLibraryCopyResponseContent"];
22040
- };
22834
+ content?: never;
22041
22835
  };
22042
22836
  /** @description UnauthorizedError 401 response */
22043
22837
  401: {
@@ -22086,6 +22880,526 @@ export interface operations {
22086
22880
  };
22087
22881
  };
22088
22882
  };
22883
+ UncompleteSubtask: {
22884
+ parameters: {
22885
+ query?: never;
22886
+ header?: never;
22887
+ path: {
22888
+ subtaskId: number;
22889
+ };
22890
+ cookie?: never;
22891
+ };
22892
+ requestBody?: never;
22893
+ responses: {
22894
+ /** @description UncompleteSubtask 204 response */
22895
+ 204: {
22896
+ headers: {
22897
+ [name: string]: unknown;
22898
+ };
22899
+ content?: never;
22900
+ };
22901
+ /** @description UnauthorizedError 401 response */
22902
+ 401: {
22903
+ headers: {
22904
+ [name: string]: unknown;
22905
+ };
22906
+ content: {
22907
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
22908
+ };
22909
+ };
22910
+ /** @description ForbiddenError 403 response */
22911
+ 403: {
22912
+ headers: {
22913
+ [name: string]: unknown;
22914
+ };
22915
+ content: {
22916
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
22917
+ };
22918
+ };
22919
+ /** @description NotFoundError 404 response */
22920
+ 404: {
22921
+ headers: {
22922
+ [name: string]: unknown;
22923
+ };
22924
+ content: {
22925
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
22926
+ };
22927
+ };
22928
+ /** @description InternalServerError 500 response */
22929
+ 500: {
22930
+ headers: {
22931
+ [name: string]: unknown;
22932
+ };
22933
+ content: {
22934
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
22935
+ };
22936
+ };
22937
+ };
22938
+ };
22939
+ RepositionSubtask: {
22940
+ parameters: {
22941
+ query?: never;
22942
+ header?: never;
22943
+ path: {
22944
+ subtaskId: number;
22945
+ };
22946
+ cookie?: never;
22947
+ };
22948
+ requestBody: {
22949
+ content: {
22950
+ "application/json": components["schemas"]["RepositionSubtaskRequestContent"];
22951
+ };
22952
+ };
22953
+ responses: {
22954
+ /** @description RepositionSubtask 204 response */
22955
+ 204: {
22956
+ headers: {
22957
+ [name: string]: unknown;
22958
+ };
22959
+ content?: never;
22960
+ };
22961
+ /** @description UnauthorizedError 401 response */
22962
+ 401: {
22963
+ headers: {
22964
+ [name: string]: unknown;
22965
+ };
22966
+ content: {
22967
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
22968
+ };
22969
+ };
22970
+ /** @description ForbiddenError 403 response */
22971
+ 403: {
22972
+ headers: {
22973
+ [name: string]: unknown;
22974
+ };
22975
+ content: {
22976
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
22977
+ };
22978
+ };
22979
+ /** @description NotFoundError 404 response */
22980
+ 404: {
22981
+ headers: {
22982
+ [name: string]: unknown;
22983
+ };
22984
+ content: {
22985
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
22986
+ };
22987
+ };
22988
+ /** @description ValidationError 422 response */
22989
+ 422: {
22990
+ headers: {
22991
+ [name: string]: unknown;
22992
+ };
22993
+ content: {
22994
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
22995
+ };
22996
+ };
22997
+ /** @description InternalServerError 500 response */
22998
+ 500: {
22999
+ headers: {
23000
+ [name: string]: unknown;
23001
+ };
23002
+ content: {
23003
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
23004
+ };
23005
+ };
23006
+ };
23007
+ };
23008
+ GetTemplateLibraryCardTables: {
23009
+ parameters: {
23010
+ query?: never;
23011
+ header?: never;
23012
+ path?: never;
23013
+ cookie?: never;
23014
+ };
23015
+ requestBody?: never;
23016
+ responses: {
23017
+ /** @description GetTemplateLibraryCardTables 200 response */
23018
+ 200: {
23019
+ headers: {
23020
+ [name: string]: unknown;
23021
+ };
23022
+ content: {
23023
+ "application/json": components["schemas"]["GetTemplateLibraryCardTablesResponseContent"];
23024
+ };
23025
+ };
23026
+ /** @description UnauthorizedError 401 response */
23027
+ 401: {
23028
+ headers: {
23029
+ [name: string]: unknown;
23030
+ };
23031
+ content: {
23032
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
23033
+ };
23034
+ };
23035
+ /** @description ForbiddenError 403 response */
23036
+ 403: {
23037
+ headers: {
23038
+ [name: string]: unknown;
23039
+ };
23040
+ content: {
23041
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
23042
+ };
23043
+ };
23044
+ /** @description RateLimitError 429 response */
23045
+ 429: {
23046
+ headers: {
23047
+ [name: string]: unknown;
23048
+ };
23049
+ content: {
23050
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
23051
+ };
23052
+ };
23053
+ /** @description InternalServerError 500 response */
23054
+ 500: {
23055
+ headers: {
23056
+ [name: string]: unknown;
23057
+ };
23058
+ content: {
23059
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
23060
+ };
23061
+ };
23062
+ };
23063
+ };
23064
+ CreateTemplateLibraryCardTable: {
23065
+ parameters: {
23066
+ query?: never;
23067
+ header?: never;
23068
+ path?: never;
23069
+ cookie?: never;
23070
+ };
23071
+ requestBody: {
23072
+ content: {
23073
+ "application/json": components["schemas"]["CreateTemplateLibraryCardTableRequestContent"];
23074
+ };
23075
+ };
23076
+ responses: {
23077
+ /** @description CreateTemplateLibraryCardTable 201 response */
23078
+ 201: {
23079
+ headers: {
23080
+ [name: string]: unknown;
23081
+ };
23082
+ content: {
23083
+ "application/json": components["schemas"]["CreateTemplateLibraryCardTableResponseContent"];
23084
+ };
23085
+ };
23086
+ /** @description UnauthorizedError 401 response */
23087
+ 401: {
23088
+ headers: {
23089
+ [name: string]: unknown;
23090
+ };
23091
+ content: {
23092
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
23093
+ };
23094
+ };
23095
+ /** @description ForbiddenError 403 response */
23096
+ 403: {
23097
+ headers: {
23098
+ [name: string]: unknown;
23099
+ };
23100
+ content: {
23101
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
23102
+ };
23103
+ };
23104
+ /** @description ValidationError 422 response */
23105
+ 422: {
23106
+ headers: {
23107
+ [name: string]: unknown;
23108
+ };
23109
+ content: {
23110
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
23111
+ };
23112
+ };
23113
+ /** @description RateLimitError 429 response */
23114
+ 429: {
23115
+ headers: {
23116
+ [name: string]: unknown;
23117
+ };
23118
+ content: {
23119
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
23120
+ };
23121
+ };
23122
+ /** @description InternalServerError 500 response */
23123
+ 500: {
23124
+ headers: {
23125
+ [name: string]: unknown;
23126
+ };
23127
+ content: {
23128
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
23129
+ };
23130
+ };
23131
+ };
23132
+ };
23133
+ CreateTemplateLibraryCopy: {
23134
+ parameters: {
23135
+ query?: never;
23136
+ header?: never;
23137
+ path?: never;
23138
+ cookie?: never;
23139
+ };
23140
+ requestBody: {
23141
+ content: {
23142
+ "application/json": components["schemas"]["CreateTemplateLibraryCopyRequestContent"];
23143
+ };
23144
+ };
23145
+ responses: {
23146
+ /** @description CreateTemplateLibraryCopy 201 response */
23147
+ 201: {
23148
+ headers: {
23149
+ [name: string]: unknown;
23150
+ };
23151
+ content: {
23152
+ "application/json": components["schemas"]["CreateTemplateLibraryCopyResponseContent"];
23153
+ };
23154
+ };
23155
+ /** @description UnauthorizedError 401 response */
23156
+ 401: {
23157
+ headers: {
23158
+ [name: string]: unknown;
23159
+ };
23160
+ content: {
23161
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
23162
+ };
23163
+ };
23164
+ /** @description ForbiddenError 403 response */
23165
+ 403: {
23166
+ headers: {
23167
+ [name: string]: unknown;
23168
+ };
23169
+ content: {
23170
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
23171
+ };
23172
+ };
23173
+ /** @description NotFoundError 404 response */
23174
+ 404: {
23175
+ headers: {
23176
+ [name: string]: unknown;
23177
+ };
23178
+ content: {
23179
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
23180
+ };
23181
+ };
23182
+ /** @description PeopleConfirmationRequiredError 422 response */
23183
+ 422: {
23184
+ headers: {
23185
+ [name: string]: unknown;
23186
+ };
23187
+ content: {
23188
+ "application/json": components["schemas"]["PeopleConfirmationRequiredErrorResponseContent"];
23189
+ };
23190
+ };
23191
+ /** @description RateLimitError 429 response */
23192
+ 429: {
23193
+ headers: {
23194
+ [name: string]: unknown;
23195
+ };
23196
+ content: {
23197
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
23198
+ };
23199
+ };
23200
+ /** @description InternalServerError 500 response */
23201
+ 500: {
23202
+ headers: {
23203
+ [name: string]: unknown;
23204
+ };
23205
+ content: {
23206
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
23207
+ };
23208
+ };
23209
+ };
23210
+ };
23211
+ GetTemplateLibraryCopy: {
23212
+ parameters: {
23213
+ query?: never;
23214
+ header?: never;
23215
+ path: {
23216
+ copyId: number;
23217
+ };
23218
+ cookie?: never;
23219
+ };
23220
+ requestBody?: never;
23221
+ responses: {
23222
+ /** @description GetTemplateLibraryCopy 200 response */
23223
+ 200: {
23224
+ headers: {
23225
+ [name: string]: unknown;
23226
+ };
23227
+ content: {
23228
+ "application/json": components["schemas"]["GetTemplateLibraryCopyResponseContent"];
23229
+ };
23230
+ };
23231
+ /** @description UnauthorizedError 401 response */
23232
+ 401: {
23233
+ headers: {
23234
+ [name: string]: unknown;
23235
+ };
23236
+ content: {
23237
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
23238
+ };
23239
+ };
23240
+ /** @description ForbiddenError 403 response */
23241
+ 403: {
23242
+ headers: {
23243
+ [name: string]: unknown;
23244
+ };
23245
+ content: {
23246
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
23247
+ };
23248
+ };
23249
+ /** @description NotFoundError 404 response */
23250
+ 404: {
23251
+ headers: {
23252
+ [name: string]: unknown;
23253
+ };
23254
+ content: {
23255
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
23256
+ };
23257
+ };
23258
+ /** @description RateLimitError 429 response */
23259
+ 429: {
23260
+ headers: {
23261
+ [name: string]: unknown;
23262
+ };
23263
+ content: {
23264
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
23265
+ };
23266
+ };
23267
+ /** @description InternalServerError 500 response */
23268
+ 500: {
23269
+ headers: {
23270
+ [name: string]: unknown;
23271
+ };
23272
+ content: {
23273
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
23274
+ };
23275
+ };
23276
+ };
23277
+ };
23278
+ GetTemplateLibraryTodolists: {
23279
+ parameters: {
23280
+ query?: never;
23281
+ header?: never;
23282
+ path?: never;
23283
+ cookie?: never;
23284
+ };
23285
+ requestBody?: never;
23286
+ responses: {
23287
+ /** @description GetTemplateLibraryTodolists 200 response */
23288
+ 200: {
23289
+ headers: {
23290
+ [name: string]: unknown;
23291
+ };
23292
+ content: {
23293
+ "application/json": components["schemas"]["GetTemplateLibraryTodolistsResponseContent"];
23294
+ };
23295
+ };
23296
+ /** @description UnauthorizedError 401 response */
23297
+ 401: {
23298
+ headers: {
23299
+ [name: string]: unknown;
23300
+ };
23301
+ content: {
23302
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
23303
+ };
23304
+ };
23305
+ /** @description ForbiddenError 403 response */
23306
+ 403: {
23307
+ headers: {
23308
+ [name: string]: unknown;
23309
+ };
23310
+ content: {
23311
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
23312
+ };
23313
+ };
23314
+ /** @description RateLimitError 429 response */
23315
+ 429: {
23316
+ headers: {
23317
+ [name: string]: unknown;
23318
+ };
23319
+ content: {
23320
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
23321
+ };
23322
+ };
23323
+ /** @description InternalServerError 500 response */
23324
+ 500: {
23325
+ headers: {
23326
+ [name: string]: unknown;
23327
+ };
23328
+ content: {
23329
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
23330
+ };
23331
+ };
23332
+ };
23333
+ };
23334
+ CreateTemplateLibraryTodolist: {
23335
+ parameters: {
23336
+ query?: never;
23337
+ header?: never;
23338
+ path?: never;
23339
+ cookie?: never;
23340
+ };
23341
+ requestBody: {
23342
+ content: {
23343
+ "application/json": components["schemas"]["CreateTemplateLibraryTodolistRequestContent"];
23344
+ };
23345
+ };
23346
+ responses: {
23347
+ /** @description CreateTemplateLibraryTodolist 201 response */
23348
+ 201: {
23349
+ headers: {
23350
+ [name: string]: unknown;
23351
+ };
23352
+ content: {
23353
+ "application/json": components["schemas"]["CreateTemplateLibraryTodolistResponseContent"];
23354
+ };
23355
+ };
23356
+ /** @description UnauthorizedError 401 response */
23357
+ 401: {
23358
+ headers: {
23359
+ [name: string]: unknown;
23360
+ };
23361
+ content: {
23362
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
23363
+ };
23364
+ };
23365
+ /** @description ForbiddenError 403 response */
23366
+ 403: {
23367
+ headers: {
23368
+ [name: string]: unknown;
23369
+ };
23370
+ content: {
23371
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
23372
+ };
23373
+ };
23374
+ /** @description ValidationError 422 response */
23375
+ 422: {
23376
+ headers: {
23377
+ [name: string]: unknown;
23378
+ };
23379
+ content: {
23380
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
23381
+ };
23382
+ };
23383
+ /** @description RateLimitError 429 response */
23384
+ 429: {
23385
+ headers: {
23386
+ [name: string]: unknown;
23387
+ };
23388
+ content: {
23389
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
23390
+ };
23391
+ };
23392
+ /** @description InternalServerError 500 response */
23393
+ 500: {
23394
+ headers: {
23395
+ [name: string]: unknown;
23396
+ };
23397
+ content: {
23398
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
23399
+ };
23400
+ };
23401
+ };
23402
+ };
22089
23403
  ListTemplates: {
22090
23404
  parameters: {
22091
23405
  query?: {