@37signals/basecamp 0.19.0 → 0.21.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 (187) hide show
  1. package/README.md +1 -0
  2. package/dist/client.d.ts +5 -5
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +5 -4
  5. package/dist/client.js.map +1 -1
  6. package/dist/generated/metadata.d.ts.map +1 -1
  7. package/dist/generated/metadata.js +165 -2
  8. package/dist/generated/metadata.js.map +1 -1
  9. package/dist/generated/metadata.ts +165 -2
  10. package/dist/generated/openapi-stripped.json +1931 -443
  11. package/dist/generated/path-mapping.d.ts.map +1 -1
  12. package/dist/generated/path-mapping.js +14 -1
  13. package/dist/generated/path-mapping.js.map +1 -1
  14. package/dist/generated/path-mapping.ts +14 -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 +1312 -129
  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 +4 -4
  38. package/dist/generated/services/checkins.js +4 -4
  39. package/dist/generated/services/checkins.ts +4 -4
  40. package/dist/generated/services/client-approvals.d.ts +1 -1
  41. package/dist/generated/services/client-approvals.js +1 -1
  42. package/dist/generated/services/client-approvals.ts +1 -1
  43. package/dist/generated/services/client-correspondences.d.ts +1 -1
  44. package/dist/generated/services/client-correspondences.js +1 -1
  45. package/dist/generated/services/client-correspondences.ts +1 -1
  46. package/dist/generated/services/client-replies.d.ts +1 -1
  47. package/dist/generated/services/client-replies.js +1 -1
  48. package/dist/generated/services/client-replies.ts +1 -1
  49. package/dist/generated/services/comments.d.ts +1 -1
  50. package/dist/generated/services/comments.js +1 -1
  51. package/dist/generated/services/comments.ts +1 -1
  52. package/dist/generated/services/documents.d.ts +1 -1
  53. package/dist/generated/services/documents.js +1 -1
  54. package/dist/generated/services/documents.ts +1 -1
  55. package/dist/generated/services/drafts.d.ts +1 -1
  56. package/dist/generated/services/drafts.js +1 -1
  57. package/dist/generated/services/drafts.ts +1 -1
  58. package/dist/generated/services/events.d.ts +1 -1
  59. package/dist/generated/services/events.js +1 -1
  60. package/dist/generated/services/events.ts +1 -1
  61. package/dist/generated/services/everything.d.ts +14 -14
  62. package/dist/generated/services/everything.js +14 -14
  63. package/dist/generated/services/everything.ts +14 -14
  64. package/dist/generated/services/forwards.d.ts +2 -2
  65. package/dist/generated/services/forwards.js +2 -2
  66. package/dist/generated/services/forwards.ts +2 -2
  67. package/dist/generated/services/index.d.ts +2 -2
  68. package/dist/generated/services/index.d.ts.map +1 -1
  69. package/dist/generated/services/index.js +2 -2
  70. package/dist/generated/services/index.js.map +1 -1
  71. package/dist/generated/services/index.ts +2 -2
  72. package/dist/generated/services/lineup.d.ts +13 -0
  73. package/dist/generated/services/lineup.d.ts.map +1 -1
  74. package/dist/generated/services/lineup.js +18 -0
  75. package/dist/generated/services/lineup.js.map +1 -1
  76. package/dist/generated/services/lineup.ts +26 -0
  77. package/dist/generated/services/message-types.d.ts +1 -1
  78. package/dist/generated/services/message-types.js +1 -1
  79. package/dist/generated/services/message-types.ts +1 -1
  80. package/dist/generated/services/messages.d.ts +1 -1
  81. package/dist/generated/services/messages.js +1 -1
  82. package/dist/generated/services/messages.ts +1 -1
  83. package/dist/generated/services/my-notifications.d.ts +3 -2
  84. package/dist/generated/services/my-notifications.d.ts.map +1 -1
  85. package/dist/generated/services/my-notifications.js +1 -1
  86. package/dist/generated/services/my-notifications.js.map +1 -1
  87. package/dist/generated/services/my-notifications.ts +3 -2
  88. package/dist/generated/services/people.d.ts +3 -3
  89. package/dist/generated/services/people.js +3 -3
  90. package/dist/generated/services/people.ts +3 -3
  91. package/dist/generated/services/projects.d.ts +1 -1
  92. package/dist/generated/services/projects.js +1 -1
  93. package/dist/generated/services/projects.ts +1 -1
  94. package/dist/generated/services/recordings.d.ts +3 -3
  95. package/dist/generated/services/recordings.js +3 -3
  96. package/dist/generated/services/recordings.ts +3 -3
  97. package/dist/generated/services/reports.d.ts +1 -1
  98. package/dist/generated/services/reports.js +1 -1
  99. package/dist/generated/services/reports.ts +1 -1
  100. package/dist/generated/services/schedules.d.ts +1 -1
  101. package/dist/generated/services/schedules.js +1 -1
  102. package/dist/generated/services/schedules.ts +1 -1
  103. package/dist/generated/services/subtasks.d.ts +157 -0
  104. package/dist/generated/services/subtasks.d.ts.map +1 -0
  105. package/dist/generated/services/subtasks.js +240 -0
  106. package/dist/generated/services/subtasks.js.map +1 -0
  107. package/dist/generated/services/subtasks.ts +336 -0
  108. package/dist/generated/services/templates.d.ts +114 -10
  109. package/dist/generated/services/templates.d.ts.map +1 -1
  110. package/dist/generated/services/templates.js +147 -10
  111. package/dist/generated/services/templates.js.map +1 -1
  112. package/dist/generated/services/templates.ts +220 -13
  113. package/dist/generated/services/timeline.d.ts +1 -1
  114. package/dist/generated/services/timeline.js +1 -1
  115. package/dist/generated/services/timeline.ts +1 -1
  116. package/dist/generated/services/timesheets.d.ts +3 -3
  117. package/dist/generated/services/timesheets.js +3 -3
  118. package/dist/generated/services/timesheets.ts +3 -3
  119. package/dist/generated/services/todolist-groups.d.ts +1 -1
  120. package/dist/generated/services/todolist-groups.js +1 -1
  121. package/dist/generated/services/todolist-groups.ts +1 -1
  122. package/dist/generated/services/todolists.d.ts +1 -1
  123. package/dist/generated/services/todolists.js +1 -1
  124. package/dist/generated/services/todolists.ts +1 -1
  125. package/dist/generated/services/todos.d.ts +1 -1
  126. package/dist/generated/services/todos.js +1 -1
  127. package/dist/generated/services/todos.ts +1 -1
  128. package/dist/generated/services/uploads.d.ts +2 -2
  129. package/dist/generated/services/uploads.js +2 -2
  130. package/dist/generated/services/uploads.ts +2 -2
  131. package/dist/generated/services/vaults.d.ts +1 -1
  132. package/dist/generated/services/vaults.js +1 -1
  133. package/dist/generated/services/vaults.ts +1 -1
  134. package/dist/generated/services/webhooks.d.ts +1 -1
  135. package/dist/generated/services/webhooks.js +1 -1
  136. package/dist/generated/services/webhooks.ts +1 -1
  137. package/dist/index.d.ts +3 -3
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +4 -3
  140. package/dist/index.js.map +1 -1
  141. package/package.json +4 -4
  142. package/src/generated/metadata.ts +165 -2
  143. package/src/generated/openapi-stripped.json +1931 -443
  144. package/src/generated/path-mapping.ts +14 -1
  145. package/src/generated/person-id-sites.ts +61 -2
  146. package/src/generated/schema.d.ts +1312 -129
  147. package/src/generated/services/bookmarks.ts +1 -1
  148. package/src/generated/services/boosts.ts +2 -2
  149. package/src/generated/services/campfires.ts +4 -4
  150. package/src/generated/services/card-steps.ts +15 -11
  151. package/src/generated/services/cards.ts +1 -1
  152. package/src/generated/services/checkins.ts +4 -4
  153. package/src/generated/services/client-approvals.ts +1 -1
  154. package/src/generated/services/client-correspondences.ts +1 -1
  155. package/src/generated/services/client-replies.ts +1 -1
  156. package/src/generated/services/comments.ts +1 -1
  157. package/src/generated/services/documents.ts +1 -1
  158. package/src/generated/services/drafts.ts +1 -1
  159. package/src/generated/services/events.ts +1 -1
  160. package/src/generated/services/everything.ts +14 -14
  161. package/src/generated/services/forwards.ts +2 -2
  162. package/src/generated/services/index.ts +2 -2
  163. package/src/generated/services/lineup.ts +26 -0
  164. package/src/generated/services/message-types.ts +1 -1
  165. package/src/generated/services/messages.ts +1 -1
  166. package/src/generated/services/my-notifications.ts +3 -2
  167. package/src/generated/services/people.ts +3 -3
  168. package/src/generated/services/projects.ts +1 -1
  169. package/src/generated/services/recordings.ts +3 -3
  170. package/src/generated/services/reports.ts +1 -1
  171. package/src/generated/services/schedules.ts +1 -1
  172. package/src/generated/services/subtasks.ts +336 -0
  173. package/src/generated/services/templates.ts +220 -13
  174. package/src/generated/services/timeline.ts +1 -1
  175. package/src/generated/services/timesheets.ts +3 -3
  176. package/src/generated/services/todolist-groups.ts +1 -1
  177. package/src/generated/services/todolists.ts +1 -1
  178. package/src/generated/services/todos.ts +1 -1
  179. package/src/generated/services/uploads.ts +2 -2
  180. package/src/generated/services/vaults.ts +1 -1
  181. package/src/generated/services/webhooks.ts +1 -1
  182. package/dist/generated/services/automation.d.ts +0 -25
  183. package/dist/generated/services/automation.d.ts.map +0 -1
  184. package/dist/generated/services/automation.js +0 -33
  185. package/dist/generated/services/automation.js.map +0 -1
  186. package/dist/generated/services/automation.ts +0 -49
  187. package/src/generated/services/automation.ts +0 -49
@@ -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;
@@ -2670,7 +2709,7 @@ export interface paths {
2670
2709
  cookie?: never;
2671
2710
  };
2672
2711
  get?: never;
2673
- /** @description Archive a recording */
2712
+ /** @description Archive a recording; bc3 answers 403 for types it never lets be archived, timesheet entries among them */
2674
2713
  put: operations["ArchiveRecording"];
2675
2714
  post?: never;
2676
2715
  delete?: never;
@@ -2687,7 +2726,7 @@ export interface paths {
2687
2726
  cookie?: never;
2688
2727
  };
2689
2728
  get?: never;
2690
- /** @description Trash a recording */
2729
+ /** @description Trash a recording; bc3 answers 403 for types it never lets be trashed, timesheet entries among them (DestroyTimesheetEntry removes those, permanently) */
2691
2730
  put: operations["TrashRecording"];
2692
2731
  post?: never;
2693
2732
  delete?: never;
@@ -2716,6 +2755,36 @@ export interface paths {
2716
2755
  patch?: never;
2717
2756
  trace?: never;
2718
2757
  };
2758
+ "/recordings/{recordingId}/subtasks.json": {
2759
+ parameters: {
2760
+ query?: never;
2761
+ header?: never;
2762
+ path?: never;
2763
+ cookie?: never;
2764
+ };
2765
+ /**
2766
+ * @description List a recording's subtasks, in position order
2767
+ *
2768
+ * Only to-dos and cards hold subtasks; check for `subtasks_count` and
2769
+ * `subtasks_url` on the parent's JSON.
2770
+ *
2771
+ * **Pagination**: Uses Link header (RFC5988). Follow the `next` rel URL
2772
+ * to fetch additional pages. X-Total-Count header provides total count.
2773
+ */
2774
+ get: operations["ListSubtasks"];
2775
+ put?: never;
2776
+ /**
2777
+ * @description Create a subtask under a to-do or a card
2778
+ *
2779
+ * Any other recording answers `403 Forbidden`.
2780
+ */
2781
+ post: operations["CreateSubtask"];
2782
+ delete?: never;
2783
+ options?: never;
2784
+ head?: never;
2785
+ patch?: never;
2786
+ trace?: never;
2787
+ };
2719
2788
  "/recordings/{recordingId}/timesheet.json": {
2720
2789
  parameters: {
2721
2790
  query?: never;
@@ -3130,16 +3199,67 @@ export interface paths {
3130
3199
  patch?: never;
3131
3200
  trace?: never;
3132
3201
  };
3133
- "/template_library.json": {
3202
+ "/subtasks/{subtaskId}": {
3203
+ parameters: {
3204
+ query?: never;
3205
+ header?: never;
3206
+ path?: never;
3207
+ cookie?: never;
3208
+ };
3209
+ /** @description Get a subtask by ID */
3210
+ get: operations["GetSubtask"];
3211
+ /**
3212
+ * @description Update a subtask
3213
+ *
3214
+ * A partial update: every omitted parameter is left unchanged. Clearing a
3215
+ * value takes an explicit send — `"due_on": null` clears the due date (an
3216
+ * empty string is accepted too, and is what the Ruby, Python and TypeScript
3217
+ * SDKs send, since they drop nil, None and undefined from the body);
3218
+ * `"assignee_ids": []` removes every assignee. Send at least one parameter:
3219
+ * an empty body is refused with `400 Bad Request`.
3220
+ */
3221
+ put: operations["UpdateSubtask"];
3222
+ post?: never;
3223
+ /**
3224
+ * @description Delete a subtask
3225
+ *
3226
+ * On accounts where deleting is limited to admins and the creator, everyone
3227
+ * else gets `403 Forbidden`.
3228
+ */
3229
+ delete: operations["DeleteSubtask"];
3230
+ options?: never;
3231
+ head?: never;
3232
+ patch?: never;
3233
+ trace?: never;
3234
+ };
3235
+ "/subtasks/{subtaskId}/completion.json": {
3134
3236
  parameters: {
3135
3237
  query?: never;
3136
3238
  header?: never;
3137
3239
  path?: never;
3138
3240
  cookie?: never;
3139
3241
  };
3140
- /** @description Get the account's to-do list template library */
3141
- get: operations["GetTemplateLibrary"];
3242
+ get?: never;
3142
3243
  put?: never;
3244
+ /** @description Mark a subtask as completed */
3245
+ post: operations["CompleteSubtask"];
3246
+ /** @description Mark a subtask as not completed */
3247
+ delete: operations["UncompleteSubtask"];
3248
+ options?: never;
3249
+ head?: never;
3250
+ patch?: never;
3251
+ trace?: never;
3252
+ };
3253
+ "/subtasks/{subtaskId}/position.json": {
3254
+ parameters: {
3255
+ query?: never;
3256
+ header?: never;
3257
+ path?: never;
3258
+ cookie?: never;
3259
+ };
3260
+ get?: never;
3261
+ /** @description Move a subtask to a new position among its siblings */
3262
+ put: operations["RepositionSubtask"];
3143
3263
  post?: never;
3144
3264
  delete?: never;
3145
3265
  options?: never;
@@ -3147,6 +3267,24 @@ export interface paths {
3147
3267
  patch?: never;
3148
3268
  trace?: never;
3149
3269
  };
3270
+ "/template_library/card_tables.json": {
3271
+ parameters: {
3272
+ query?: never;
3273
+ header?: never;
3274
+ path?: never;
3275
+ cookie?: never;
3276
+ };
3277
+ /** @description Get the account's card table templates */
3278
+ get: operations["GetTemplateLibraryCardTables"];
3279
+ put?: never;
3280
+ /** @description Create a card table template with the default columns */
3281
+ post: operations["CreateTemplateLibraryCardTable"];
3282
+ delete?: never;
3283
+ options?: never;
3284
+ head?: never;
3285
+ patch?: never;
3286
+ trace?: never;
3287
+ };
3150
3288
  "/template_library/copies.json": {
3151
3289
  parameters: {
3152
3290
  query?: never;
@@ -3156,7 +3294,7 @@ export interface paths {
3156
3294
  };
3157
3295
  get?: never;
3158
3296
  put?: never;
3159
- /** @description Start copying a to-do list template into a project */
3297
+ /** @description Start copying a to-do list or card table template into a project */
3160
3298
  post: operations["CreateTemplateLibraryCopy"];
3161
3299
  delete?: never;
3162
3300
  options?: never;
@@ -3181,6 +3319,24 @@ export interface paths {
3181
3319
  patch?: never;
3182
3320
  trace?: never;
3183
3321
  };
3322
+ "/template_library/todolists.json": {
3323
+ parameters: {
3324
+ query?: never;
3325
+ header?: never;
3326
+ path?: never;
3327
+ cookie?: never;
3328
+ };
3329
+ /** @description Get the account's to-do list templates */
3330
+ get: operations["GetTemplateLibraryTodolists"];
3331
+ put?: never;
3332
+ /** @description Create an empty to-do list template */
3333
+ post: operations["CreateTemplateLibraryTodolist"];
3334
+ delete?: never;
3335
+ options?: never;
3336
+ head?: never;
3337
+ patch?: never;
3338
+ trace?: never;
3339
+ };
3184
3340
  "/templates.json": {
3185
3341
  parameters: {
3186
3342
  query?: never;
@@ -3269,7 +3425,7 @@ export interface paths {
3269
3425
  /** @description Update a timesheet entry */
3270
3426
  put: operations["UpdateTimesheetEntry"];
3271
3427
  post?: never;
3272
- /** @description Permanently delete a timesheet entry; answers 403 when the caller may not archive or trash it. */
3428
+ /** @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
3429
  delete: operations["DestroyTimesheetEntry"];
3274
3430
  options?: never;
3275
3431
  head?: never;
@@ -3984,10 +4140,24 @@ export interface components {
3984
4140
  completer?: components["schemas"]["Person"];
3985
4141
  assignees?: components["schemas"]["Person"][];
3986
4142
  completion_subscribers?: components["schemas"]["Person"][];
3987
- steps?: components["schemas"]["CardStep"][];
4143
+ /**
4144
+ * @description The first 100 subtasks, embedded read-only. A card with more than 100
4145
+ * reports the total in `subtasks_count`; fetch the rest from `subtasks_url`.
4146
+ */
4147
+ steps?: components["schemas"]["Subtask"][];
3988
4148
  /** Format: int32 */
3989
4149
  boosts_count?: number;
3990
4150
  boosts_url?: string;
4151
+ /**
4152
+ * Format: int32
4153
+ * @description Subtask accounting (BC3 #12659). `subtasks_count` is the real total,
4154
+ * `subtasks_completed_count` how many are done, and `subtasks_url` the
4155
+ * paginated listing of all of them (`ListSubtasks`).
4156
+ */
4157
+ subtasks_count?: number;
4158
+ /** Format: int32 */
4159
+ subtasks_completed_count?: number;
4160
+ subtasks_url?: string;
3991
4161
  };
3992
4162
  CardColumn: {
3993
4163
  /** Format: int64 */
@@ -4029,31 +4199,6 @@ export interface components {
4029
4199
  cards_count: number;
4030
4200
  cards_url: string;
4031
4201
  };
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
4202
  CardTable: {
4058
4203
  /** Format: int64 */
4059
4204
  id: number;
@@ -4068,6 +4213,18 @@ export interface components {
4068
4213
  app_url: string;
4069
4214
  bookmark_url?: string;
4070
4215
  subscription_url?: string;
4216
+ /**
4217
+ * Format: int32
4218
+ * @description Position on the project dock. Absent on a card table template, which the
4219
+ * library orders by title instead.
4220
+ */
4221
+ position?: number;
4222
+ parent?: components["schemas"]["RecordingParent"];
4223
+ /**
4224
+ * @description Public sharing URL. Absent for callers who may not share publicly, so the
4225
+ * same card table can carry it for one person and not another.
4226
+ */
4227
+ public_link_url?: string;
4071
4228
  bucket: components["schemas"]["TodoBucket"];
4072
4229
  creator: components["schemas"]["Person"];
4073
4230
  subscribers?: components["schemas"]["Person"][];
@@ -4335,7 +4492,7 @@ export interface components {
4335
4492
  due_on?: string;
4336
4493
  assignee_ids?: number[];
4337
4494
  };
4338
- CreateCardStepResponseContent: components["schemas"]["CardStep"];
4495
+ CreateCardStepResponseContent: components["schemas"]["Subtask"];
4339
4496
  CreateChatbotRequestContent: {
4340
4497
  service_name: string;
4341
4498
  command_url?: string;
@@ -4584,20 +4741,68 @@ export interface components {
4584
4741
  */
4585
4742
  url: string;
4586
4743
  };
4744
+ CreateSubtaskRequestContent: {
4745
+ title: string;
4746
+ due_on?: string;
4747
+ assignee_ids?: number[];
4748
+ };
4749
+ CreateSubtaskResponseContent: components["schemas"]["Subtask"];
4750
+ CreateTemplateLibraryCardTableRequestContent: {
4751
+ /** @description The template's name. Write-only: the response carries it as `title`. */
4752
+ name: string;
4753
+ };
4754
+ CreateTemplateLibraryCardTableResponseContent: components["schemas"]["CardTable"];
4587
4755
  CreateTemplateLibraryCopyRequestContent: {
4588
- /** Format: int64 */
4756
+ /**
4757
+ * Format: int64
4758
+ * @description The to-do list or card table in the library to copy.
4759
+ */
4589
4760
  template_recording_id: number;
4590
- /** Format: int64 */
4591
- destination_parent_id: number;
4761
+ /**
4762
+ * Format: int64
4763
+ * @description The destination project. Basecamp resolves the container from the
4764
+ * template's kind, so a caller naming a project needs to know nothing about
4765
+ * docks or to-do sets. Supply this or destination_parent_id; if both are
4766
+ * sent, destination_parent_id wins.
4767
+ */
4768
+ destination_project_id?: number;
4769
+ /**
4770
+ * Format: int64
4771
+ * @description The container to copy into, for a caller that already holds one: the
4772
+ * project's to-do set for a to-do list template, or its dock for a card
4773
+ * table. A caller who may not edit it gets 404, not 403.
4774
+ */
4775
+ destination_parent_id?: number;
4592
4776
  /** @description Confirm granting destination-project access to people referenced by the template. */
4593
4777
  adding_people_confirmed?: boolean;
4594
4778
  };
4595
4779
  CreateTemplateLibraryCopyResponseContent: components["schemas"]["TemplateLibraryCopy"];
4780
+ CreateTemplateLibraryTodolistRequestContent: {
4781
+ /** @description What to call the template. */
4782
+ name: string;
4783
+ /** @description Rich text describing the template. */
4784
+ description?: string;
4785
+ };
4786
+ CreateTemplateLibraryTodolistResponseContent: components["schemas"]["Todolist"];
4596
4787
  CreateTemplateRequestContent: {
4597
4788
  name: string;
4598
4789
  description?: string;
4599
4790
  };
4600
4791
  CreateTemplateResponseContent: components["schemas"]["Template"];
4792
+ CreateTemplatificationRequestContent: {
4793
+ /** @description What to call the template. Defaults to the source recording's own title. */
4794
+ template_name?: string;
4795
+ /** @description Carry the comments across. */
4796
+ copy_comments?: boolean;
4797
+ /**
4798
+ * @description Carry assignees and the people involved across, adding them to the library
4799
+ * if they are not already there.
4800
+ */
4801
+ copy_assignments?: boolean;
4802
+ /** @description Gather the cards into Triage. Card tables only, and ignored otherwise. */
4803
+ move_cards_to_triage?: boolean;
4804
+ };
4805
+ CreateTemplatificationResponseContent: components["schemas"]["Templatification"];
4601
4806
  CreateTimesheetEntryRequestContent: {
4602
4807
  date: string;
4603
4808
  hours: string;
@@ -5251,7 +5456,7 @@ export interface components {
5251
5456
  GetCampfireResponseContent: components["schemas"]["Campfire"];
5252
5457
  GetCardColumnResponseContent: components["schemas"]["CardColumn"];
5253
5458
  GetCardResponseContent: components["schemas"]["Card"];
5254
- GetCardStepResponseContent: components["schemas"]["CardStep"];
5459
+ GetCardStepResponseContent: components["schemas"]["Subtask"];
5255
5460
  GetCardTableResponseContent: components["schemas"]["CardTable"];
5256
5461
  GetChatbotResponseContent: components["schemas"]["Chatbot"];
5257
5462
  GetClientApprovalResponseContent: components["schemas"]["ClientApproval"];
@@ -5356,9 +5561,12 @@ export interface components {
5356
5561
  GetScheduleResponseContent: components["schemas"]["Schedule"];
5357
5562
  GetSearchMetadataResponseContent: components["schemas"]["SearchMetadata"];
5358
5563
  GetSubscriptionResponseContent: components["schemas"]["Subscription"];
5564
+ GetSubtaskResponseContent: components["schemas"]["Subtask"];
5565
+ GetTemplateLibraryCardTablesResponseContent: components["schemas"]["TemplateLibraryCardTables"];
5359
5566
  GetTemplateLibraryCopyResponseContent: components["schemas"]["TemplateLibraryCopy"];
5360
- GetTemplateLibraryResponseContent: components["schemas"]["TemplateLibrary"];
5567
+ GetTemplateLibraryTodolistsResponseContent: components["schemas"]["TemplateLibraryTodolists"];
5361
5568
  GetTemplateResponseContent: components["schemas"]["Template"];
5569
+ GetTemplatificationResponseContent: components["schemas"]["Templatification"];
5362
5570
  GetTimesheetEntryResponseContent: components["schemas"]["TimesheetEntry"];
5363
5571
  GetTimesheetReportResponseContent: components["schemas"]["TimesheetEntry"][];
5364
5572
  GetTodoResponseContent: components["schemas"]["Todo"];
@@ -5541,6 +5749,7 @@ export interface components {
5541
5749
  ListRecordingBoostsResponseContent: components["schemas"]["Boost"][];
5542
5750
  ListRecordingsResponseContent: components["schemas"]["Recording"][];
5543
5751
  ListScheduleEntriesResponseContent: components["schemas"]["ScheduleEntry"][];
5752
+ ListSubtasksResponseContent: components["schemas"]["Subtask"][];
5544
5753
  ListTemplatesResponseContent: components["schemas"]["Template"][];
5545
5754
  ListTodolistGroupsResponseContent: components["schemas"]["Todolist"][];
5546
5755
  ListTodolistsResponseContent: components["schemas"]["Todolist"][];
@@ -5550,7 +5759,10 @@ export interface components {
5550
5759
  ListVaultsResponseContent: components["schemas"]["Vault"][];
5551
5760
  ListWebhooksResponseContent: components["schemas"]["Webhook"][];
5552
5761
  MarkAsReadRequestContent: {
5553
- /** @description Array of readable_sgid values identifying the items to mark as read */
5762
+ /**
5763
+ * @description Array of readable_sgid values identifying the items to mark as read.
5764
+ * At most 500 per request.
5765
+ */
5554
5766
  readables: string[];
5555
5767
  };
5556
5768
  Message: {
@@ -6150,6 +6362,17 @@ export interface components {
6150
6362
  */
6151
6363
  boosts_count?: number;
6152
6364
  boosts_url?: string;
6365
+ /**
6366
+ * Format: int32
6367
+ * @description Subtask count/URL. Carried on subtaskable recordings — to-dos and cards,
6368
+ * whose type-specific partials render with `subtaskable: true` (BC3
6369
+ * #12659). Optional (absent on every other recording type and on the
6370
+ * base/webhook partial).
6371
+ */
6372
+ subtasks_count?: number;
6373
+ /** Format: int32 */
6374
+ subtasks_completed_count?: number;
6375
+ subtasks_url?: string;
6153
6376
  /**
6154
6377
  * @description Message subject. Present on `Message` recordings — notably the account-wide
6155
6378
  * `/messages.json` aggregate feed, whose message partial renders `subject`.
@@ -6311,7 +6534,16 @@ export interface components {
6311
6534
  source_id: number;
6312
6535
  /**
6313
6536
  * Format: int32
6314
- * @description 0-indexed position
6537
+ * @description The 1-based position to move it to (1 = top), the same `reposition_to`
6538
+ * a to-do uses. bc3's doc said "Zero indexed" until BC3 #12659 corrected
6539
+ * it; the server never was.
6540
+ */
6541
+ position: number;
6542
+ };
6543
+ RepositionSubtaskRequestContent: {
6544
+ /**
6545
+ * Format: int32
6546
+ * @description The 1-based position to move it to
6315
6547
  */
6316
6548
  position: number;
6317
6549
  };
@@ -6790,7 +7022,7 @@ export interface components {
6790
7022
  /** @description Set to "on" to complete the step, "" (empty) to uncomplete */
6791
7023
  completion: string;
6792
7024
  };
6793
- SetCardStepCompletionResponseContent: components["schemas"]["CardStep"];
7025
+ SetCardStepCompletionResponseContent: components["schemas"]["Subtask"];
6794
7026
  SetClientVisibilityRequestContent: {
6795
7027
  visible_to_clients: boolean;
6796
7028
  };
@@ -6815,6 +7047,31 @@ export interface components {
6815
7047
  url: string;
6816
7048
  subscribers?: components["schemas"]["Person"][];
6817
7049
  };
7050
+ Subtask: {
7051
+ /** Format: int64 */
7052
+ id: number;
7053
+ status: string;
7054
+ visible_to_clients: boolean;
7055
+ created_at: string;
7056
+ updated_at: string;
7057
+ title: string;
7058
+ inherits_status: boolean;
7059
+ type: string;
7060
+ url: string;
7061
+ app_url: string;
7062
+ bookmark_url?: string;
7063
+ /** Format: int32 */
7064
+ position?: number;
7065
+ due_on?: string;
7066
+ completed?: boolean;
7067
+ completed_at?: string;
7068
+ parent: components["schemas"]["RecordingParent"];
7069
+ bucket: components["schemas"]["TodoBucket"];
7070
+ creator: components["schemas"]["Person"];
7071
+ completer?: components["schemas"]["Person"];
7072
+ assignees?: components["schemas"]["Person"][];
7073
+ completion_url?: string;
7074
+ };
6818
7075
  Template: {
6819
7076
  /** Format: int64 */
6820
7077
  id: number;
@@ -6827,10 +7084,14 @@ export interface components {
6827
7084
  app_url?: string;
6828
7085
  dock?: components["schemas"]["DockItem"][];
6829
7086
  };
6830
- TemplateLibrary: {
7087
+ TemplateLibraryCardTables: {
6831
7088
  bucket: components["schemas"]["RecordingBucket"];
6832
- todoset: components["schemas"]["RecordingParent"];
6833
- todolists: components["schemas"]["Todolist"][];
7089
+ kanban_boardset: components["schemas"]["RecordingParent"] | null;
7090
+ /**
7091
+ * @description Active templates in title order, as recording projections: read one through
7092
+ * GetCardTable to see its columns.
7093
+ */
7094
+ card_tables: components["schemas"]["Recording"][];
6834
7095
  };
6835
7096
  TemplateLibraryConfirmationPerson: {
6836
7097
  /** Format: int64 */
@@ -6851,6 +7112,27 @@ export interface components {
6851
7112
  destination_parent_id: number;
6852
7113
  url: string;
6853
7114
  destination_todolist?: components["schemas"]["Todolist"];
7115
+ destination_card_table?: components["schemas"]["CardTable"];
7116
+ };
7117
+ TemplateLibraryTodolists: {
7118
+ bucket: components["schemas"]["RecordingBucket"];
7119
+ todoset: components["schemas"]["RecordingParent"];
7120
+ todolists: components["schemas"]["Todolist"][];
7121
+ };
7122
+ /**
7123
+ * @description The record of templatifying a recording into the library. Carries no
7124
+ * destination parent, unlike a copy: the destination is always the library.
7125
+ */
7126
+ Templatification: {
7127
+ /** Format: int64 */
7128
+ id: number;
7129
+ /** @description pending|processing|completed|failed */
7130
+ status: string;
7131
+ /** Format: int64 */
7132
+ source_recording_id: number;
7133
+ url: string;
7134
+ destination_todolist?: components["schemas"]["Todolist"];
7135
+ destination_card_table?: components["schemas"]["CardTable"];
6854
7136
  };
6855
7137
  /**
6856
7138
  * @description A single timeline-event attachment. This is an optional-field superset over
@@ -7072,11 +7354,22 @@ export interface components {
7072
7354
  boosts_count?: number;
7073
7355
  boosts_url?: string;
7074
7356
  /**
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.
7357
+ * Format: int32
7358
+ * @description Subtask accounting (BC3 #12659). `subtasks_count` is the real total,
7359
+ * `subtasks_completed_count` how many are done, and `subtasks_url` the
7360
+ * paginated listing of all of them (`ListSubtasks`).
7361
+ */
7362
+ subtasks_count?: number;
7363
+ /** Format: int32 */
7364
+ subtasks_completed_count?: number;
7365
+ subtasks_url?: string;
7366
+ /**
7367
+ * @description The first 100 subtasks, embedded read-only (BC5 addition). The shared
7368
+ * `subtasks/subtask` jbuilder partial emits the same `Subtask` shape a card
7369
+ * embeds. A to-do with more than 100 reports the total in
7370
+ * `subtasks_count`; fetch the rest from `subtasks_url`.
7078
7371
  */
7079
- steps?: components["schemas"]["CardStep"][];
7372
+ steps?: components["schemas"]["Subtask"][];
7080
7373
  };
7081
7374
  TodoBucket: {
7082
7375
  /** Format: int64 */
@@ -7537,7 +7830,7 @@ export interface components {
7537
7830
  due_on?: string;
7538
7831
  assignee_ids?: number[];
7539
7832
  };
7540
- UpdateCardStepResponseContent: components["schemas"]["CardStep"];
7833
+ UpdateCardStepResponseContent: components["schemas"]["Subtask"];
7541
7834
  UpdateChatbotRequestContent: {
7542
7835
  service_name: string;
7543
7836
  command_url?: string;
@@ -7682,6 +7975,12 @@ export interface components {
7682
7975
  unsubscriptions?: number[];
7683
7976
  };
7684
7977
  UpdateSubscriptionResponseContent: components["schemas"]["Subscription"];
7978
+ UpdateSubtaskRequestContent: {
7979
+ title?: string;
7980
+ due_on?: string;
7981
+ assignee_ids?: number[];
7982
+ };
7983
+ UpdateSubtaskResponseContent: components["schemas"]["Subtask"];
7685
7984
  UpdateTemplateRequestContent: {
7686
7985
  name?: string;
7687
7986
  description?: string;
@@ -7965,6 +8264,11 @@ export interface components {
7965
8264
  */
7966
8265
  destination_url: string | null;
7967
8266
  };
8267
+ /**
8268
+ * @deprecated
8269
+ * @description Deprecated: renamed to Subtask, the same Kanban::Step record.
8270
+ */
8271
+ CardStep: components["schemas"]["Subtask"];
7968
8272
  };
7969
8273
  responses: never;
7970
8274
  parameters: never;
@@ -9797,29 +10101,30 @@ export interface operations {
9797
10101
  };
9798
10102
  };
9799
10103
  };
9800
- CreateTodosetTodo: {
10104
+ CreateTemplatification: {
9801
10105
  parameters: {
9802
10106
  query?: never;
9803
10107
  header?: never;
9804
10108
  path: {
9805
10109
  bucketId: number;
9806
- todosetId: number;
10110
+ /** @description The to-do list or card table to templatify. Anything else is a 403. */
10111
+ recordingId: number;
9807
10112
  };
9808
10113
  cookie?: never;
9809
10114
  };
9810
- requestBody: {
10115
+ requestBody?: {
9811
10116
  content: {
9812
- "application/json": components["schemas"]["CreateTodosetTodoRequestContent"];
10117
+ "application/json": components["schemas"]["CreateTemplatificationRequestContent"];
9813
10118
  };
9814
10119
  };
9815
10120
  responses: {
9816
- /** @description CreateTodosetTodo 201 response */
10121
+ /** @description CreateTemplatification 201 response */
9817
10122
  201: {
9818
10123
  headers: {
9819
10124
  [name: string]: unknown;
9820
10125
  };
9821
10126
  content: {
9822
- "application/json": components["schemas"]["CreateTodosetTodoResponseContent"];
10127
+ "application/json": components["schemas"]["CreateTemplatificationResponseContent"];
9823
10128
  };
9824
10129
  };
9825
10130
  /** @description UnauthorizedError 401 response */
@@ -9840,22 +10145,172 @@ export interface operations {
9840
10145
  "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
9841
10146
  };
9842
10147
  };
9843
- /** @description ValidationError 422 response */
9844
- 422: {
10148
+ /** @description NotFoundError 404 response */
10149
+ 404: {
9845
10150
  headers: {
9846
10151
  [name: string]: unknown;
9847
10152
  };
9848
10153
  content: {
9849
- "application/json": components["schemas"]["ValidationErrorResponseContent"];
10154
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
9850
10155
  };
9851
10156
  };
9852
- /** @description RateLimitError 429 response */
9853
- 429: {
10157
+ /** @description FieldValidationError 422 response */
10158
+ 422: {
9854
10159
  headers: {
9855
10160
  [name: string]: unknown;
9856
10161
  };
9857
10162
  content: {
9858
- "application/json": components["schemas"]["RateLimitErrorResponseContent"];
10163
+ "application/json": components["schemas"]["FieldValidationErrorResponseContent"];
10164
+ };
10165
+ };
10166
+ /** @description RateLimitError 429 response */
10167
+ 429: {
10168
+ headers: {
10169
+ [name: string]: unknown;
10170
+ };
10171
+ content: {
10172
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
10173
+ };
10174
+ };
10175
+ /** @description InternalServerError 500 response */
10176
+ 500: {
10177
+ headers: {
10178
+ [name: string]: unknown;
10179
+ };
10180
+ content: {
10181
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
10182
+ };
10183
+ };
10184
+ };
10185
+ };
10186
+ GetTemplatification: {
10187
+ parameters: {
10188
+ query?: never;
10189
+ header?: never;
10190
+ path: {
10191
+ bucketId: number;
10192
+ recordingId: number;
10193
+ templatificationId: number;
10194
+ };
10195
+ cookie?: never;
10196
+ };
10197
+ requestBody?: never;
10198
+ responses: {
10199
+ /** @description GetTemplatification 200 response */
10200
+ 200: {
10201
+ headers: {
10202
+ [name: string]: unknown;
10203
+ };
10204
+ content: {
10205
+ "application/json": components["schemas"]["GetTemplatificationResponseContent"];
10206
+ };
10207
+ };
10208
+ /** @description UnauthorizedError 401 response */
10209
+ 401: {
10210
+ headers: {
10211
+ [name: string]: unknown;
10212
+ };
10213
+ content: {
10214
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
10215
+ };
10216
+ };
10217
+ /** @description ForbiddenError 403 response */
10218
+ 403: {
10219
+ headers: {
10220
+ [name: string]: unknown;
10221
+ };
10222
+ content: {
10223
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
10224
+ };
10225
+ };
10226
+ /** @description NotFoundError 404 response */
10227
+ 404: {
10228
+ headers: {
10229
+ [name: string]: unknown;
10230
+ };
10231
+ content: {
10232
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
10233
+ };
10234
+ };
10235
+ /** @description RateLimitError 429 response */
10236
+ 429: {
10237
+ headers: {
10238
+ [name: string]: unknown;
10239
+ };
10240
+ content: {
10241
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
10242
+ };
10243
+ };
10244
+ /** @description InternalServerError 500 response */
10245
+ 500: {
10246
+ headers: {
10247
+ [name: string]: unknown;
10248
+ };
10249
+ content: {
10250
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
10251
+ };
10252
+ };
10253
+ };
10254
+ };
10255
+ CreateTodosetTodo: {
10256
+ parameters: {
10257
+ query?: never;
10258
+ header?: never;
10259
+ path: {
10260
+ bucketId: number;
10261
+ todosetId: number;
10262
+ };
10263
+ cookie?: never;
10264
+ };
10265
+ requestBody: {
10266
+ content: {
10267
+ "application/json": components["schemas"]["CreateTodosetTodoRequestContent"];
10268
+ };
10269
+ };
10270
+ responses: {
10271
+ /** @description CreateTodosetTodo 201 response */
10272
+ 201: {
10273
+ headers: {
10274
+ [name: string]: unknown;
10275
+ };
10276
+ content: {
10277
+ "application/json": components["schemas"]["CreateTodosetTodoResponseContent"];
10278
+ };
10279
+ };
10280
+ /** @description UnauthorizedError 401 response */
10281
+ 401: {
10282
+ headers: {
10283
+ [name: string]: unknown;
10284
+ };
10285
+ content: {
10286
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
10287
+ };
10288
+ };
10289
+ /** @description ForbiddenError 403 response */
10290
+ 403: {
10291
+ headers: {
10292
+ [name: string]: unknown;
10293
+ };
10294
+ content: {
10295
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
10296
+ };
10297
+ };
10298
+ /** @description ValidationError 422 response */
10299
+ 422: {
10300
+ headers: {
10301
+ [name: string]: unknown;
10302
+ };
10303
+ content: {
10304
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
10305
+ };
10306
+ };
10307
+ /** @description RateLimitError 429 response */
10308
+ 429: {
10309
+ headers: {
10310
+ [name: string]: unknown;
10311
+ };
10312
+ content: {
10313
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
9859
10314
  };
9860
10315
  };
9861
10316
  /** @description InternalServerError 500 response */
@@ -16042,6 +16497,15 @@ export interface operations {
16042
16497
  "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
16043
16498
  };
16044
16499
  };
16500
+ /** @description ValidationError 422 response */
16501
+ 422: {
16502
+ headers: {
16503
+ [name: string]: unknown;
16504
+ };
16505
+ content: {
16506
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
16507
+ };
16508
+ };
16045
16509
  /** @description RateLimitError 429 response */
16046
16510
  429: {
16047
16511
  headers: {
@@ -20125,12 +20589,9 @@ export interface operations {
20125
20589
  };
20126
20590
  };
20127
20591
  };
20128
- GetRecordingTimesheet: {
20592
+ ListSubtasks: {
20129
20593
  parameters: {
20130
20594
  query?: {
20131
- from?: string;
20132
- to?: string;
20133
- person_id?: number;
20134
20595
  /** @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
20596
  page?: number;
20136
20597
  };
@@ -20142,13 +20603,13 @@ export interface operations {
20142
20603
  };
20143
20604
  requestBody?: never;
20144
20605
  responses: {
20145
- /** @description GetRecordingTimesheet 200 response */
20606
+ /** @description ListSubtasks 200 response */
20146
20607
  200: {
20147
20608
  headers: {
20148
20609
  [name: string]: unknown;
20149
20610
  };
20150
20611
  content: {
20151
- "application/json": components["schemas"]["GetRecordingTimesheetResponseContent"];
20612
+ "application/json": components["schemas"]["ListSubtasksResponseContent"];
20152
20613
  };
20153
20614
  };
20154
20615
  /** @description UnauthorizedError 401 response */
@@ -20178,6 +20639,15 @@ export interface operations {
20178
20639
  "application/json": components["schemas"]["NotFoundErrorResponseContent"];
20179
20640
  };
20180
20641
  };
20642
+ /** @description RateLimitError 429 response */
20643
+ 429: {
20644
+ headers: {
20645
+ [name: string]: unknown;
20646
+ };
20647
+ content: {
20648
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
20649
+ };
20650
+ };
20181
20651
  /** @description InternalServerError 500 response */
20182
20652
  500: {
20183
20653
  headers: {
@@ -20189,7 +20659,7 @@ export interface operations {
20189
20659
  };
20190
20660
  };
20191
20661
  };
20192
- CreateTimesheetEntry: {
20662
+ CreateSubtask: {
20193
20663
  parameters: {
20194
20664
  query?: never;
20195
20665
  header?: never;
@@ -20200,17 +20670,17 @@ export interface operations {
20200
20670
  };
20201
20671
  requestBody: {
20202
20672
  content: {
20203
- "application/json": components["schemas"]["CreateTimesheetEntryRequestContent"];
20673
+ "application/json": components["schemas"]["CreateSubtaskRequestContent"];
20204
20674
  };
20205
20675
  };
20206
20676
  responses: {
20207
- /** @description CreateTimesheetEntry 201 response */
20677
+ /** @description CreateSubtask 201 response */
20208
20678
  201: {
20209
20679
  headers: {
20210
20680
  [name: string]: unknown;
20211
20681
  };
20212
20682
  content: {
20213
- "application/json": components["schemas"]["CreateTimesheetEntryResponseContent"];
20683
+ "application/json": components["schemas"]["CreateSubtaskResponseContent"];
20214
20684
  };
20215
20685
  };
20216
20686
  /** @description UnauthorizedError 401 response */
@@ -20231,6 +20701,15 @@ export interface operations {
20231
20701
  "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
20232
20702
  };
20233
20703
  };
20704
+ /** @description NotFoundError 404 response */
20705
+ 404: {
20706
+ headers: {
20707
+ [name: string]: unknown;
20708
+ };
20709
+ content: {
20710
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
20711
+ };
20712
+ };
20234
20713
  /** @description ValidationError 422 response */
20235
20714
  422: {
20236
20715
  headers: {
@@ -20260,27 +20739,31 @@ export interface operations {
20260
20739
  };
20261
20740
  };
20262
20741
  };
20263
- RepositionTool: {
20742
+ GetRecordingTimesheet: {
20264
20743
  parameters: {
20265
- query?: never;
20744
+ query?: {
20745
+ from?: string;
20746
+ to?: string;
20747
+ person_id?: number;
20748
+ /** @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. */
20749
+ page?: number;
20750
+ };
20266
20751
  header?: never;
20267
20752
  path: {
20268
- toolId: number;
20753
+ recordingId: number;
20269
20754
  };
20270
20755
  cookie?: never;
20271
20756
  };
20272
- requestBody: {
20273
- content: {
20274
- "application/json": components["schemas"]["RepositionToolRequestContent"];
20275
- };
20276
- };
20757
+ requestBody?: never;
20277
20758
  responses: {
20278
- /** @description RepositionTool 200 response */
20759
+ /** @description GetRecordingTimesheet 200 response */
20279
20760
  200: {
20280
20761
  headers: {
20281
20762
  [name: string]: unknown;
20282
20763
  };
20283
- content?: never;
20764
+ content: {
20765
+ "application/json": components["schemas"]["GetRecordingTimesheetResponseContent"];
20766
+ };
20284
20767
  };
20285
20768
  /** @description UnauthorizedError 401 response */
20286
20769
  401: {
@@ -20309,15 +20792,6 @@ export interface operations {
20309
20792
  "application/json": components["schemas"]["NotFoundErrorResponseContent"];
20310
20793
  };
20311
20794
  };
20312
- /** @description ValidationError 422 response */
20313
- 422: {
20314
- headers: {
20315
- [name: string]: unknown;
20316
- };
20317
- content: {
20318
- "application/json": components["schemas"]["ValidationErrorResponseContent"];
20319
- };
20320
- };
20321
20795
  /** @description InternalServerError 500 response */
20322
20796
  500: {
20323
20797
  headers: {
@@ -20329,23 +20803,29 @@ export interface operations {
20329
20803
  };
20330
20804
  };
20331
20805
  };
20332
- EnableTool: {
20806
+ CreateTimesheetEntry: {
20333
20807
  parameters: {
20334
20808
  query?: never;
20335
20809
  header?: never;
20336
20810
  path: {
20337
- toolId: number;
20811
+ recordingId: number;
20338
20812
  };
20339
20813
  cookie?: never;
20340
20814
  };
20341
- requestBody?: never;
20815
+ requestBody: {
20816
+ content: {
20817
+ "application/json": components["schemas"]["CreateTimesheetEntryRequestContent"];
20818
+ };
20819
+ };
20342
20820
  responses: {
20343
- /** @description EnableTool 201 response */
20821
+ /** @description CreateTimesheetEntry 201 response */
20344
20822
  201: {
20345
20823
  headers: {
20346
20824
  [name: string]: unknown;
20347
20825
  };
20348
- content?: never;
20826
+ content: {
20827
+ "application/json": components["schemas"]["CreateTimesheetEntryResponseContent"];
20828
+ };
20349
20829
  };
20350
20830
  /** @description UnauthorizedError 401 response */
20351
20831
  401: {
@@ -20394,7 +20874,7 @@ export interface operations {
20394
20874
  };
20395
20875
  };
20396
20876
  };
20397
- DisableTool: {
20877
+ RepositionTool: {
20398
20878
  parameters: {
20399
20879
  query?: never;
20400
20880
  header?: never;
@@ -20403,10 +20883,14 @@ export interface operations {
20403
20883
  };
20404
20884
  cookie?: never;
20405
20885
  };
20406
- requestBody?: never;
20886
+ requestBody: {
20887
+ content: {
20888
+ "application/json": components["schemas"]["RepositionToolRequestContent"];
20889
+ };
20890
+ };
20407
20891
  responses: {
20408
- /** @description DisableTool 204 response */
20409
- 204: {
20892
+ /** @description RepositionTool 200 response */
20893
+ 200: {
20410
20894
  headers: {
20411
20895
  [name: string]: unknown;
20412
20896
  };
@@ -20439,6 +20923,15 @@ export interface operations {
20439
20923
  "application/json": components["schemas"]["NotFoundErrorResponseContent"];
20440
20924
  };
20441
20925
  };
20926
+ /** @description ValidationError 422 response */
20927
+ 422: {
20928
+ headers: {
20929
+ [name: string]: unknown;
20930
+ };
20931
+ content: {
20932
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
20933
+ };
20934
+ };
20442
20935
  /** @description InternalServerError 500 response */
20443
20936
  500: {
20444
20937
  headers: {
@@ -20450,9 +20943,130 @@ export interface operations {
20450
20943
  };
20451
20944
  };
20452
20945
  };
20453
- ListGauges: {
20946
+ EnableTool: {
20454
20947
  parameters: {
20455
- query?: {
20948
+ query?: never;
20949
+ header?: never;
20950
+ path: {
20951
+ toolId: number;
20952
+ };
20953
+ cookie?: never;
20954
+ };
20955
+ requestBody?: never;
20956
+ responses: {
20957
+ /** @description EnableTool 201 response */
20958
+ 201: {
20959
+ headers: {
20960
+ [name: string]: unknown;
20961
+ };
20962
+ content?: never;
20963
+ };
20964
+ /** @description UnauthorizedError 401 response */
20965
+ 401: {
20966
+ headers: {
20967
+ [name: string]: unknown;
20968
+ };
20969
+ content: {
20970
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
20971
+ };
20972
+ };
20973
+ /** @description ForbiddenError 403 response */
20974
+ 403: {
20975
+ headers: {
20976
+ [name: string]: unknown;
20977
+ };
20978
+ content: {
20979
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
20980
+ };
20981
+ };
20982
+ /** @description ValidationError 422 response */
20983
+ 422: {
20984
+ headers: {
20985
+ [name: string]: unknown;
20986
+ };
20987
+ content: {
20988
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
20989
+ };
20990
+ };
20991
+ /** @description RateLimitError 429 response */
20992
+ 429: {
20993
+ headers: {
20994
+ [name: string]: unknown;
20995
+ };
20996
+ content: {
20997
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
20998
+ };
20999
+ };
21000
+ /** @description InternalServerError 500 response */
21001
+ 500: {
21002
+ headers: {
21003
+ [name: string]: unknown;
21004
+ };
21005
+ content: {
21006
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
21007
+ };
21008
+ };
21009
+ };
21010
+ };
21011
+ DisableTool: {
21012
+ parameters: {
21013
+ query?: never;
21014
+ header?: never;
21015
+ path: {
21016
+ toolId: number;
21017
+ };
21018
+ cookie?: never;
21019
+ };
21020
+ requestBody?: never;
21021
+ responses: {
21022
+ /** @description DisableTool 204 response */
21023
+ 204: {
21024
+ headers: {
21025
+ [name: string]: unknown;
21026
+ };
21027
+ content?: never;
21028
+ };
21029
+ /** @description UnauthorizedError 401 response */
21030
+ 401: {
21031
+ headers: {
21032
+ [name: string]: unknown;
21033
+ };
21034
+ content: {
21035
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
21036
+ };
21037
+ };
21038
+ /** @description ForbiddenError 403 response */
21039
+ 403: {
21040
+ headers: {
21041
+ [name: string]: unknown;
21042
+ };
21043
+ content: {
21044
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
21045
+ };
21046
+ };
21047
+ /** @description NotFoundError 404 response */
21048
+ 404: {
21049
+ headers: {
21050
+ [name: string]: unknown;
21051
+ };
21052
+ content: {
21053
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
21054
+ };
21055
+ };
21056
+ /** @description InternalServerError 500 response */
21057
+ 500: {
21058
+ headers: {
21059
+ [name: string]: unknown;
21060
+ };
21061
+ content: {
21062
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
21063
+ };
21064
+ };
21065
+ };
21066
+ };
21067
+ ListGauges: {
21068
+ parameters: {
21069
+ query?: {
20456
21070
  /**
20457
21071
  * @description Comma-separated list of project IDs. When provided, results are returned
20458
21072
  * in the order specified instead of by risk level.
@@ -21885,22 +22499,24 @@ export interface operations {
21885
22499
  };
21886
22500
  };
21887
22501
  };
21888
- GetTemplateLibrary: {
22502
+ GetSubtask: {
21889
22503
  parameters: {
21890
22504
  query?: never;
21891
22505
  header?: never;
21892
- path?: never;
22506
+ path: {
22507
+ subtaskId: number;
22508
+ };
21893
22509
  cookie?: never;
21894
22510
  };
21895
22511
  requestBody?: never;
21896
22512
  responses: {
21897
- /** @description GetTemplateLibrary 200 response */
22513
+ /** @description GetSubtask 200 response */
21898
22514
  200: {
21899
22515
  headers: {
21900
22516
  [name: string]: unknown;
21901
22517
  };
21902
22518
  content: {
21903
- "application/json": components["schemas"]["GetTemplateLibraryResponseContent"];
22519
+ "application/json": components["schemas"]["GetSubtaskResponseContent"];
21904
22520
  };
21905
22521
  };
21906
22522
  /** @description UnauthorizedError 401 response */
@@ -21921,13 +22537,13 @@ export interface operations {
21921
22537
  "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
21922
22538
  };
21923
22539
  };
21924
- /** @description RateLimitError 429 response */
21925
- 429: {
22540
+ /** @description NotFoundError 404 response */
22541
+ 404: {
21926
22542
  headers: {
21927
22543
  [name: string]: unknown;
21928
22544
  };
21929
22545
  content: {
21930
- "application/json": components["schemas"]["RateLimitErrorResponseContent"];
22546
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
21931
22547
  };
21932
22548
  };
21933
22549
  /** @description InternalServerError 500 response */
@@ -21941,26 +22557,28 @@ export interface operations {
21941
22557
  };
21942
22558
  };
21943
22559
  };
21944
- CreateTemplateLibraryCopy: {
22560
+ UpdateSubtask: {
21945
22561
  parameters: {
21946
22562
  query?: never;
21947
22563
  header?: never;
21948
- path?: never;
22564
+ path: {
22565
+ subtaskId: number;
22566
+ };
21949
22567
  cookie?: never;
21950
22568
  };
21951
- requestBody: {
22569
+ requestBody?: {
21952
22570
  content: {
21953
- "application/json": components["schemas"]["CreateTemplateLibraryCopyRequestContent"];
22571
+ "application/json": components["schemas"]["UpdateSubtaskRequestContent"];
21954
22572
  };
21955
22573
  };
21956
22574
  responses: {
21957
- /** @description CreateTemplateLibraryCopy 201 response */
21958
- 201: {
22575
+ /** @description UpdateSubtask 200 response */
22576
+ 200: {
21959
22577
  headers: {
21960
22578
  [name: string]: unknown;
21961
22579
  };
21962
22580
  content: {
21963
- "application/json": components["schemas"]["CreateTemplateLibraryCopyResponseContent"];
22581
+ "application/json": components["schemas"]["UpdateSubtaskResponseContent"];
21964
22582
  };
21965
22583
  };
21966
22584
  /** @description UnauthorizedError 401 response */
@@ -21990,22 +22608,69 @@ export interface operations {
21990
22608
  "application/json": components["schemas"]["NotFoundErrorResponseContent"];
21991
22609
  };
21992
22610
  };
21993
- /** @description PeopleConfirmationRequiredError 422 response */
22611
+ /** @description ValidationError 422 response */
21994
22612
  422: {
21995
22613
  headers: {
21996
22614
  [name: string]: unknown;
21997
22615
  };
21998
22616
  content: {
21999
- "application/json": components["schemas"]["PeopleConfirmationRequiredErrorResponseContent"];
22617
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
22000
22618
  };
22001
22619
  };
22002
- /** @description RateLimitError 429 response */
22003
- 429: {
22620
+ /** @description InternalServerError 500 response */
22621
+ 500: {
22004
22622
  headers: {
22005
22623
  [name: string]: unknown;
22006
22624
  };
22007
22625
  content: {
22008
- "application/json": components["schemas"]["RateLimitErrorResponseContent"];
22626
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
22627
+ };
22628
+ };
22629
+ };
22630
+ };
22631
+ DeleteSubtask: {
22632
+ parameters: {
22633
+ query?: never;
22634
+ header?: never;
22635
+ path: {
22636
+ subtaskId: number;
22637
+ };
22638
+ cookie?: never;
22639
+ };
22640
+ requestBody?: never;
22641
+ responses: {
22642
+ /** @description DeleteSubtask 204 response */
22643
+ 204: {
22644
+ headers: {
22645
+ [name: string]: unknown;
22646
+ };
22647
+ content?: never;
22648
+ };
22649
+ /** @description UnauthorizedError 401 response */
22650
+ 401: {
22651
+ headers: {
22652
+ [name: string]: unknown;
22653
+ };
22654
+ content: {
22655
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
22656
+ };
22657
+ };
22658
+ /** @description ForbiddenError 403 response */
22659
+ 403: {
22660
+ headers: {
22661
+ [name: string]: unknown;
22662
+ };
22663
+ content: {
22664
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
22665
+ };
22666
+ };
22667
+ /** @description NotFoundError 404 response */
22668
+ 404: {
22669
+ headers: {
22670
+ [name: string]: unknown;
22671
+ };
22672
+ content: {
22673
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
22009
22674
  };
22010
22675
  };
22011
22676
  /** @description InternalServerError 500 response */
@@ -22019,25 +22684,23 @@ export interface operations {
22019
22684
  };
22020
22685
  };
22021
22686
  };
22022
- GetTemplateLibraryCopy: {
22687
+ CompleteSubtask: {
22023
22688
  parameters: {
22024
22689
  query?: never;
22025
22690
  header?: never;
22026
22691
  path: {
22027
- copyId: number;
22692
+ subtaskId: number;
22028
22693
  };
22029
22694
  cookie?: never;
22030
22695
  };
22031
22696
  requestBody?: never;
22032
22697
  responses: {
22033
- /** @description GetTemplateLibraryCopy 200 response */
22034
- 200: {
22698
+ /** @description CompleteSubtask 204 response */
22699
+ 204: {
22035
22700
  headers: {
22036
22701
  [name: string]: unknown;
22037
22702
  };
22038
- content: {
22039
- "application/json": components["schemas"]["GetTemplateLibraryCopyResponseContent"];
22040
- };
22703
+ content?: never;
22041
22704
  };
22042
22705
  /** @description UnauthorizedError 401 response */
22043
22706
  401: {
@@ -22086,6 +22749,526 @@ export interface operations {
22086
22749
  };
22087
22750
  };
22088
22751
  };
22752
+ UncompleteSubtask: {
22753
+ parameters: {
22754
+ query?: never;
22755
+ header?: never;
22756
+ path: {
22757
+ subtaskId: number;
22758
+ };
22759
+ cookie?: never;
22760
+ };
22761
+ requestBody?: never;
22762
+ responses: {
22763
+ /** @description UncompleteSubtask 204 response */
22764
+ 204: {
22765
+ headers: {
22766
+ [name: string]: unknown;
22767
+ };
22768
+ content?: never;
22769
+ };
22770
+ /** @description UnauthorizedError 401 response */
22771
+ 401: {
22772
+ headers: {
22773
+ [name: string]: unknown;
22774
+ };
22775
+ content: {
22776
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
22777
+ };
22778
+ };
22779
+ /** @description ForbiddenError 403 response */
22780
+ 403: {
22781
+ headers: {
22782
+ [name: string]: unknown;
22783
+ };
22784
+ content: {
22785
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
22786
+ };
22787
+ };
22788
+ /** @description NotFoundError 404 response */
22789
+ 404: {
22790
+ headers: {
22791
+ [name: string]: unknown;
22792
+ };
22793
+ content: {
22794
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
22795
+ };
22796
+ };
22797
+ /** @description InternalServerError 500 response */
22798
+ 500: {
22799
+ headers: {
22800
+ [name: string]: unknown;
22801
+ };
22802
+ content: {
22803
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
22804
+ };
22805
+ };
22806
+ };
22807
+ };
22808
+ RepositionSubtask: {
22809
+ parameters: {
22810
+ query?: never;
22811
+ header?: never;
22812
+ path: {
22813
+ subtaskId: number;
22814
+ };
22815
+ cookie?: never;
22816
+ };
22817
+ requestBody: {
22818
+ content: {
22819
+ "application/json": components["schemas"]["RepositionSubtaskRequestContent"];
22820
+ };
22821
+ };
22822
+ responses: {
22823
+ /** @description RepositionSubtask 204 response */
22824
+ 204: {
22825
+ headers: {
22826
+ [name: string]: unknown;
22827
+ };
22828
+ content?: never;
22829
+ };
22830
+ /** @description UnauthorizedError 401 response */
22831
+ 401: {
22832
+ headers: {
22833
+ [name: string]: unknown;
22834
+ };
22835
+ content: {
22836
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
22837
+ };
22838
+ };
22839
+ /** @description ForbiddenError 403 response */
22840
+ 403: {
22841
+ headers: {
22842
+ [name: string]: unknown;
22843
+ };
22844
+ content: {
22845
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
22846
+ };
22847
+ };
22848
+ /** @description NotFoundError 404 response */
22849
+ 404: {
22850
+ headers: {
22851
+ [name: string]: unknown;
22852
+ };
22853
+ content: {
22854
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
22855
+ };
22856
+ };
22857
+ /** @description ValidationError 422 response */
22858
+ 422: {
22859
+ headers: {
22860
+ [name: string]: unknown;
22861
+ };
22862
+ content: {
22863
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
22864
+ };
22865
+ };
22866
+ /** @description InternalServerError 500 response */
22867
+ 500: {
22868
+ headers: {
22869
+ [name: string]: unknown;
22870
+ };
22871
+ content: {
22872
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
22873
+ };
22874
+ };
22875
+ };
22876
+ };
22877
+ GetTemplateLibraryCardTables: {
22878
+ parameters: {
22879
+ query?: never;
22880
+ header?: never;
22881
+ path?: never;
22882
+ cookie?: never;
22883
+ };
22884
+ requestBody?: never;
22885
+ responses: {
22886
+ /** @description GetTemplateLibraryCardTables 200 response */
22887
+ 200: {
22888
+ headers: {
22889
+ [name: string]: unknown;
22890
+ };
22891
+ content: {
22892
+ "application/json": components["schemas"]["GetTemplateLibraryCardTablesResponseContent"];
22893
+ };
22894
+ };
22895
+ /** @description UnauthorizedError 401 response */
22896
+ 401: {
22897
+ headers: {
22898
+ [name: string]: unknown;
22899
+ };
22900
+ content: {
22901
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
22902
+ };
22903
+ };
22904
+ /** @description ForbiddenError 403 response */
22905
+ 403: {
22906
+ headers: {
22907
+ [name: string]: unknown;
22908
+ };
22909
+ content: {
22910
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
22911
+ };
22912
+ };
22913
+ /** @description RateLimitError 429 response */
22914
+ 429: {
22915
+ headers: {
22916
+ [name: string]: unknown;
22917
+ };
22918
+ content: {
22919
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
22920
+ };
22921
+ };
22922
+ /** @description InternalServerError 500 response */
22923
+ 500: {
22924
+ headers: {
22925
+ [name: string]: unknown;
22926
+ };
22927
+ content: {
22928
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
22929
+ };
22930
+ };
22931
+ };
22932
+ };
22933
+ CreateTemplateLibraryCardTable: {
22934
+ parameters: {
22935
+ query?: never;
22936
+ header?: never;
22937
+ path?: never;
22938
+ cookie?: never;
22939
+ };
22940
+ requestBody: {
22941
+ content: {
22942
+ "application/json": components["schemas"]["CreateTemplateLibraryCardTableRequestContent"];
22943
+ };
22944
+ };
22945
+ responses: {
22946
+ /** @description CreateTemplateLibraryCardTable 201 response */
22947
+ 201: {
22948
+ headers: {
22949
+ [name: string]: unknown;
22950
+ };
22951
+ content: {
22952
+ "application/json": components["schemas"]["CreateTemplateLibraryCardTableResponseContent"];
22953
+ };
22954
+ };
22955
+ /** @description UnauthorizedError 401 response */
22956
+ 401: {
22957
+ headers: {
22958
+ [name: string]: unknown;
22959
+ };
22960
+ content: {
22961
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
22962
+ };
22963
+ };
22964
+ /** @description ForbiddenError 403 response */
22965
+ 403: {
22966
+ headers: {
22967
+ [name: string]: unknown;
22968
+ };
22969
+ content: {
22970
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
22971
+ };
22972
+ };
22973
+ /** @description ValidationError 422 response */
22974
+ 422: {
22975
+ headers: {
22976
+ [name: string]: unknown;
22977
+ };
22978
+ content: {
22979
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
22980
+ };
22981
+ };
22982
+ /** @description RateLimitError 429 response */
22983
+ 429: {
22984
+ headers: {
22985
+ [name: string]: unknown;
22986
+ };
22987
+ content: {
22988
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
22989
+ };
22990
+ };
22991
+ /** @description InternalServerError 500 response */
22992
+ 500: {
22993
+ headers: {
22994
+ [name: string]: unknown;
22995
+ };
22996
+ content: {
22997
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
22998
+ };
22999
+ };
23000
+ };
23001
+ };
23002
+ CreateTemplateLibraryCopy: {
23003
+ parameters: {
23004
+ query?: never;
23005
+ header?: never;
23006
+ path?: never;
23007
+ cookie?: never;
23008
+ };
23009
+ requestBody: {
23010
+ content: {
23011
+ "application/json": components["schemas"]["CreateTemplateLibraryCopyRequestContent"];
23012
+ };
23013
+ };
23014
+ responses: {
23015
+ /** @description CreateTemplateLibraryCopy 201 response */
23016
+ 201: {
23017
+ headers: {
23018
+ [name: string]: unknown;
23019
+ };
23020
+ content: {
23021
+ "application/json": components["schemas"]["CreateTemplateLibraryCopyResponseContent"];
23022
+ };
23023
+ };
23024
+ /** @description UnauthorizedError 401 response */
23025
+ 401: {
23026
+ headers: {
23027
+ [name: string]: unknown;
23028
+ };
23029
+ content: {
23030
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
23031
+ };
23032
+ };
23033
+ /** @description ForbiddenError 403 response */
23034
+ 403: {
23035
+ headers: {
23036
+ [name: string]: unknown;
23037
+ };
23038
+ content: {
23039
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
23040
+ };
23041
+ };
23042
+ /** @description NotFoundError 404 response */
23043
+ 404: {
23044
+ headers: {
23045
+ [name: string]: unknown;
23046
+ };
23047
+ content: {
23048
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
23049
+ };
23050
+ };
23051
+ /** @description PeopleConfirmationRequiredError 422 response */
23052
+ 422: {
23053
+ headers: {
23054
+ [name: string]: unknown;
23055
+ };
23056
+ content: {
23057
+ "application/json": components["schemas"]["PeopleConfirmationRequiredErrorResponseContent"];
23058
+ };
23059
+ };
23060
+ /** @description RateLimitError 429 response */
23061
+ 429: {
23062
+ headers: {
23063
+ [name: string]: unknown;
23064
+ };
23065
+ content: {
23066
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
23067
+ };
23068
+ };
23069
+ /** @description InternalServerError 500 response */
23070
+ 500: {
23071
+ headers: {
23072
+ [name: string]: unknown;
23073
+ };
23074
+ content: {
23075
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
23076
+ };
23077
+ };
23078
+ };
23079
+ };
23080
+ GetTemplateLibraryCopy: {
23081
+ parameters: {
23082
+ query?: never;
23083
+ header?: never;
23084
+ path: {
23085
+ copyId: number;
23086
+ };
23087
+ cookie?: never;
23088
+ };
23089
+ requestBody?: never;
23090
+ responses: {
23091
+ /** @description GetTemplateLibraryCopy 200 response */
23092
+ 200: {
23093
+ headers: {
23094
+ [name: string]: unknown;
23095
+ };
23096
+ content: {
23097
+ "application/json": components["schemas"]["GetTemplateLibraryCopyResponseContent"];
23098
+ };
23099
+ };
23100
+ /** @description UnauthorizedError 401 response */
23101
+ 401: {
23102
+ headers: {
23103
+ [name: string]: unknown;
23104
+ };
23105
+ content: {
23106
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
23107
+ };
23108
+ };
23109
+ /** @description ForbiddenError 403 response */
23110
+ 403: {
23111
+ headers: {
23112
+ [name: string]: unknown;
23113
+ };
23114
+ content: {
23115
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
23116
+ };
23117
+ };
23118
+ /** @description NotFoundError 404 response */
23119
+ 404: {
23120
+ headers: {
23121
+ [name: string]: unknown;
23122
+ };
23123
+ content: {
23124
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
23125
+ };
23126
+ };
23127
+ /** @description RateLimitError 429 response */
23128
+ 429: {
23129
+ headers: {
23130
+ [name: string]: unknown;
23131
+ };
23132
+ content: {
23133
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
23134
+ };
23135
+ };
23136
+ /** @description InternalServerError 500 response */
23137
+ 500: {
23138
+ headers: {
23139
+ [name: string]: unknown;
23140
+ };
23141
+ content: {
23142
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
23143
+ };
23144
+ };
23145
+ };
23146
+ };
23147
+ GetTemplateLibraryTodolists: {
23148
+ parameters: {
23149
+ query?: never;
23150
+ header?: never;
23151
+ path?: never;
23152
+ cookie?: never;
23153
+ };
23154
+ requestBody?: never;
23155
+ responses: {
23156
+ /** @description GetTemplateLibraryTodolists 200 response */
23157
+ 200: {
23158
+ headers: {
23159
+ [name: string]: unknown;
23160
+ };
23161
+ content: {
23162
+ "application/json": components["schemas"]["GetTemplateLibraryTodolistsResponseContent"];
23163
+ };
23164
+ };
23165
+ /** @description UnauthorizedError 401 response */
23166
+ 401: {
23167
+ headers: {
23168
+ [name: string]: unknown;
23169
+ };
23170
+ content: {
23171
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
23172
+ };
23173
+ };
23174
+ /** @description ForbiddenError 403 response */
23175
+ 403: {
23176
+ headers: {
23177
+ [name: string]: unknown;
23178
+ };
23179
+ content: {
23180
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
23181
+ };
23182
+ };
23183
+ /** @description RateLimitError 429 response */
23184
+ 429: {
23185
+ headers: {
23186
+ [name: string]: unknown;
23187
+ };
23188
+ content: {
23189
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
23190
+ };
23191
+ };
23192
+ /** @description InternalServerError 500 response */
23193
+ 500: {
23194
+ headers: {
23195
+ [name: string]: unknown;
23196
+ };
23197
+ content: {
23198
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
23199
+ };
23200
+ };
23201
+ };
23202
+ };
23203
+ CreateTemplateLibraryTodolist: {
23204
+ parameters: {
23205
+ query?: never;
23206
+ header?: never;
23207
+ path?: never;
23208
+ cookie?: never;
23209
+ };
23210
+ requestBody: {
23211
+ content: {
23212
+ "application/json": components["schemas"]["CreateTemplateLibraryTodolistRequestContent"];
23213
+ };
23214
+ };
23215
+ responses: {
23216
+ /** @description CreateTemplateLibraryTodolist 201 response */
23217
+ 201: {
23218
+ headers: {
23219
+ [name: string]: unknown;
23220
+ };
23221
+ content: {
23222
+ "application/json": components["schemas"]["CreateTemplateLibraryTodolistResponseContent"];
23223
+ };
23224
+ };
23225
+ /** @description UnauthorizedError 401 response */
23226
+ 401: {
23227
+ headers: {
23228
+ [name: string]: unknown;
23229
+ };
23230
+ content: {
23231
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
23232
+ };
23233
+ };
23234
+ /** @description ForbiddenError 403 response */
23235
+ 403: {
23236
+ headers: {
23237
+ [name: string]: unknown;
23238
+ };
23239
+ content: {
23240
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
23241
+ };
23242
+ };
23243
+ /** @description ValidationError 422 response */
23244
+ 422: {
23245
+ headers: {
23246
+ [name: string]: unknown;
23247
+ };
23248
+ content: {
23249
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
23250
+ };
23251
+ };
23252
+ /** @description RateLimitError 429 response */
23253
+ 429: {
23254
+ headers: {
23255
+ [name: string]: unknown;
23256
+ };
23257
+ content: {
23258
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
23259
+ };
23260
+ };
23261
+ /** @description InternalServerError 500 response */
23262
+ 500: {
23263
+ headers: {
23264
+ [name: string]: unknown;
23265
+ };
23266
+ content: {
23267
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
23268
+ };
23269
+ };
23270
+ };
23271
+ };
22089
23272
  ListTemplates: {
22090
23273
  parameters: {
22091
23274
  query?: {