@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
@@ -39,7 +39,7 @@ export class BookmarksService extends BaseService {
39
39
  /**
40
40
  * List the current user's bookmarks, most recently bookmarked first (paginated).
41
41
  * @param options - Optional query parameters
42
- * @returns All Bookmark across all pages, with .meta.totalCount
42
+ * @returns Every Bookmark across all pages, with .meta.totalCount
43
43
  *
44
44
  * @example
45
45
  * ```ts
@@ -122,7 +122,7 @@ export class BoostsService extends BaseService {
122
122
  * List boosts on a recording
123
123
  * @param recordingId - The recording ID
124
124
  * @param options - Optional query parameters
125
- * @returns All Boost across all pages, with .meta.totalCount
125
+ * @returns Every Boost across all pages, with .meta.totalCount
126
126
  *
127
127
  * @example
128
128
  * ```ts
@@ -194,7 +194,7 @@ export class BoostsService extends BaseService {
194
194
  * @param recordingId - The recording ID
195
195
  * @param eventId - The event ID
196
196
  * @param options - Optional query parameters
197
- * @returns All Boost across all pages, with .meta.totalCount
197
+ * @returns Every Boost across all pages, with .meta.totalCount
198
198
  *
199
199
  * @example
200
200
  * ```ts
@@ -112,7 +112,7 @@ export class CampfiresService extends BaseService {
112
112
  * @param bucketId - The bucket ID
113
113
  * @param campfireId - The campfire ID
114
114
  * @param options - Optional query parameters
115
- * @returns All Chatbot across all pages, with .meta.totalCount
115
+ * @returns Every Chatbot across all pages, with .meta.totalCount
116
116
  *
117
117
  * @example
118
118
  * ```ts
@@ -288,7 +288,7 @@ export class CampfiresService extends BaseService {
288
288
  /**
289
289
  * List all campfires across the account
290
290
  * @param options - Optional query parameters
291
- * @returns All Campfire across all pages, with .meta.totalCount
291
+ * @returns Every Campfire across all pages, with .meta.totalCount
292
292
  *
293
293
  * @example
294
294
  * ```ts
@@ -350,7 +350,7 @@ export class CampfiresService extends BaseService {
350
350
  * List all lines (messages) in a campfire
351
351
  * @param campfireId - The campfire ID
352
352
  * @param options - Optional query parameters
353
- * @returns All CampfireLine across all pages, with .meta.totalCount
353
+ * @returns Every CampfireLine across all pages, with .meta.totalCount
354
354
  *
355
355
  * @example
356
356
  * ```ts
@@ -520,7 +520,7 @@ export class CampfiresService extends BaseService {
520
520
  * List uploaded files in a campfire
521
521
  * @param campfireId - The campfire ID
522
522
  * @param options - Optional query parameters
523
- * @returns All CampfireLine across all pages, with .meta.totalCount
523
+ * @returns Every CampfireLine across all pages, with .meta.totalCount
524
524
  *
525
525
  * @example
526
526
  * ```ts
@@ -12,8 +12,10 @@ import { Errors } from "../../errors.js";
12
12
  // Types
13
13
  // =============================================================================
14
14
 
15
- /** CardStep entity from the Basecamp API. */
16
- export type CardStep = components["schemas"]["CardStep"];
15
+ /** Subtask entity from the Basecamp API. */
16
+ export type Subtask = components["schemas"]["Subtask"];
17
+ /** @deprecated renamed to Subtask, the same Kanban::Step record. */
18
+ export type CardStep = Subtask;
17
19
 
18
20
  /**
19
21
  * Request parameters for reposition.
@@ -21,7 +23,9 @@ export type CardStep = components["schemas"]["CardStep"];
21
23
  export interface RepositionCardStepRequest {
22
24
  /** Source id */
23
25
  sourceId: number;
24
- /** 0-indexed position */
26
+ /** The 1-based position to move it to (1 = top), the same `reposition_to`
27
+ a to-do uses. bc3's doc said "Zero indexed" until BC3 #12659 corrected
28
+ it; the server never was. */
25
29
  position: number;
26
30
  }
27
31
 
@@ -105,7 +109,7 @@ export class CardStepsService extends BaseService {
105
109
  * Create a step on a card
106
110
  * @param cardId - The card ID
107
111
  * @param req - Card_step creation parameters
108
- * @returns The CardStep
112
+ * @returns The Subtask
109
113
  * @throws {BasecampError} If required fields are missing or invalid
110
114
  *
111
115
  * @example
@@ -113,7 +117,7 @@ export class CardStepsService extends BaseService {
113
117
  * const result = await client.cardSteps.create(123, { title: "example" });
114
118
  * ```
115
119
  */
116
- async create(cardId: number, req: CreateCardStepRequest): Promise<CardStep> {
120
+ async create(cardId: number, req: CreateCardStepRequest): Promise<Subtask> {
117
121
  if (!req.title) {
118
122
  throw Errors.validation("Title is required");
119
123
  }
@@ -146,7 +150,7 @@ export class CardStepsService extends BaseService {
146
150
  /**
147
151
  * Get a step by ID
148
152
  * @param stepId - The step ID
149
- * @returns The CardStep
153
+ * @returns The Subtask
150
154
  * @throws {BasecampError} If the resource is not found
151
155
  *
152
156
  * @example
@@ -154,7 +158,7 @@ export class CardStepsService extends BaseService {
154
158
  * const result = await client.cardSteps.get(123);
155
159
  * ```
156
160
  */
157
- async get(stepId: number): Promise<CardStep> {
161
+ async get(stepId: number): Promise<Subtask> {
158
162
  const response = await this.request(
159
163
  {
160
164
  service: "CardSteps",
@@ -177,7 +181,7 @@ export class CardStepsService extends BaseService {
177
181
  * Update an existing step
178
182
  * @param stepId - The step ID
179
183
  * @param req - Card_step update parameters
180
- * @returns The CardStep
184
+ * @returns The Subtask
181
185
  * @throws {BasecampError} If the resource is not found or fields are invalid
182
186
  *
183
187
  * @example
@@ -185,7 +189,7 @@ export class CardStepsService extends BaseService {
185
189
  * const result = await client.cardSteps.update(123, { });
186
190
  * ```
187
191
  */
188
- async update(stepId: number, req: UpdateCardStepRequest): Promise<CardStep> {
192
+ async update(stepId: number, req: UpdateCardStepRequest): Promise<Subtask> {
189
193
  if (req.dueOn && !/^\d{4}-\d{2}-\d{2}$/.test(req.dueOn)) {
190
194
  throw Errors.validation("Due on must be in YYYY-MM-DD format");
191
195
  }
@@ -216,7 +220,7 @@ export class CardStepsService extends BaseService {
216
220
  * Set card step completion status (PUT with completion: "on" to complete, "" to uncomplete)
217
221
  * @param stepId - The step ID
218
222
  * @param req - Card_step_completion request parameters
219
- * @returns The CardStep
223
+ * @returns The Subtask
220
224
  * @throws {BasecampError} If the request fails
221
225
  *
222
226
  * @example
@@ -224,7 +228,7 @@ export class CardStepsService extends BaseService {
224
228
  * const result = await client.cardSteps.setCompletion(123, { completion: "example" });
225
229
  * ```
226
230
  */
227
- async setCompletion(stepId: number, req: SetCompletionCardStepRequest): Promise<CardStep> {
231
+ async setCompletion(stepId: number, req: SetCompletionCardStepRequest): Promise<Subtask> {
228
232
  if (!req.completion) {
229
233
  throw Errors.validation("Completion is required");
230
234
  }
@@ -181,7 +181,7 @@ export class CardsService extends BaseService {
181
181
  * List cards in a column
182
182
  * @param columnId - The column ID
183
183
  * @param options - Optional query parameters
184
- * @returns All Card across all pages, with .meta.totalCount
184
+ * @returns Every Card across all pages, with .meta.totalCount
185
185
  *
186
186
  * @example
187
187
  * ```ts
@@ -109,10 +109,11 @@ export interface ByPersonCheckinOptions extends PaginationOptions {
109
109
  * Request parameters for updateNotificationSettings.
110
110
  */
111
111
  export interface UpdateNotificationSettingsCheckinRequest {
112
- /** Notify when someone answers */
113
- notifyOnAnswer?: boolean;
114
- /** Include unanswered in digest */
115
- digestIncludeUnanswered?: boolean;
112
+ /** Whether the authenticated user is asked this question. Omit to leave it unchanged.
113
+ Turning it on also subscribes the user unless `subscribed: false` is sent with it. */
114
+ responding?: boolean;
115
+ /** Whether the authenticated user is notified when someone answers. Omit to leave it unchanged. */
116
+ subscribed?: boolean;
116
117
  }
117
118
 
118
119
 
@@ -257,7 +258,7 @@ export class CheckinsService extends BaseService {
257
258
  * List all questions in a questionnaire
258
259
  * @param questionnaireId - The questionnaire ID
259
260
  * @param options - Optional query parameters
260
- * @returns All Question across all pages, with .meta.totalCount
261
+ * @returns Every Question across all pages, with .meta.totalCount
261
262
  *
262
263
  * @example
263
264
  * ```ts
@@ -399,7 +400,7 @@ export class CheckinsService extends BaseService {
399
400
  * List all answers for a question
400
401
  * @param questionId - The question ID
401
402
  * @param options - Optional query parameters
402
- * @returns All Answer across all pages, with .meta.totalCount
403
+ * @returns Every Answer across all pages, with .meta.totalCount
403
404
  *
404
405
  * @example
405
406
  * ```ts
@@ -474,7 +475,7 @@ export class CheckinsService extends BaseService {
474
475
  * List all people who have answered a question (answerers)
475
476
  * @param questionId - The question ID
476
477
  * @param options - Optional query parameters
477
- * @returns All Person across all pages, with .meta.totalCount
478
+ * @returns Every Person across all pages, with .meta.totalCount
478
479
  *
479
480
  * @example
480
481
  * ```ts
@@ -505,7 +506,7 @@ export class CheckinsService extends BaseService {
505
506
  * @param questionId - The question ID
506
507
  * @param personId - The person ID
507
508
  * @param options - Optional query parameters
508
- * @returns All Answer across all pages, with .meta.totalCount
509
+ * @returns Every Answer across all pages, with .meta.totalCount
509
510
  *
510
511
  * @example
511
512
  * ```ts
@@ -559,8 +560,8 @@ export class CheckinsService extends BaseService {
559
560
  path: { questionId },
560
561
  },
561
562
  body: {
562
- notify_on_answer: req.notifyOnAnswer,
563
- digest_include_unanswered: req.digestIncludeUnanswered,
563
+ responding: req.responding,
564
+ subscribed: req.subscribed,
564
565
  },
565
566
  })
566
567
  );
@@ -42,7 +42,7 @@ export class ClientApprovalsService extends BaseService {
42
42
  * List all client approvals in a project
43
43
  * @param bucketId - The bucket ID
44
44
  * @param options - Optional query parameters
45
- * @returns All ClientApproval across all pages, with .meta.totalCount
45
+ * @returns Every ClientApproval across all pages, with .meta.totalCount
46
46
  *
47
47
  * @example
48
48
  * ```ts
@@ -42,7 +42,7 @@ export class ClientCorrespondencesService extends BaseService {
42
42
  * List all client correspondences in a project
43
43
  * @param bucketId - The bucket ID
44
44
  * @param options - Optional query parameters
45
- * @returns All ClientCorrespondence across all pages, with .meta.totalCount
45
+ * @returns Every ClientCorrespondence across all pages, with .meta.totalCount
46
46
  *
47
47
  * @example
48
48
  * ```ts
@@ -39,7 +39,7 @@ export class ClientRepliesService extends BaseService {
39
39
  * @param bucketId - The bucket ID
40
40
  * @param recordingId - The recording ID
41
41
  * @param options - Optional query parameters
42
- * @returns All ClientReply across all pages, with .meta.totalCount
42
+ * @returns Every ClientReply across all pages, with .meta.totalCount
43
43
  *
44
44
  * @example
45
45
  * ```ts
@@ -122,7 +122,7 @@ export class CommentsService extends BaseService {
122
122
  * List comments on a recording
123
123
  * @param recordingId - The recording ID
124
124
  * @param options - Optional query parameters
125
- * @returns All Comment across all pages, with .meta.totalCount
125
+ * @returns Every Comment across all pages, with .meta.totalCount
126
126
  *
127
127
  * @example
128
128
  * ```ts
@@ -130,7 +130,7 @@ export class DocumentsService extends BaseService {
130
130
  * List documents in a vault
131
131
  * @param vaultId - The vault ID
132
132
  * @param options - Optional query parameters
133
- * @returns All Document across all pages, with .meta.totalCount
133
+ * @returns Every Document across all pages, with .meta.totalCount
134
134
  *
135
135
  * @example
136
136
  * ```ts
@@ -37,7 +37,7 @@ export class DraftsService extends BaseService {
37
37
  /**
38
38
  * List the current user's drafts across their active projects, most recently
39
39
  * @param options - Optional query parameters
40
- * @returns All Draft across all pages, with .meta.totalCount
40
+ * @returns Every Draft across all pages, with .meta.totalCount
41
41
  *
42
42
  * @example
43
43
  * ```ts
@@ -38,7 +38,7 @@ export class EventsService extends BaseService {
38
38
  * List all events for a recording
39
39
  * @param recordingId - The recording ID
40
40
  * @param options - Optional query parameters
41
- * @returns All Event across all pages, with .meta.totalCount
41
+ * @returns Every Event across all pages, with .meta.totalCount
42
42
  *
43
43
  * @example
44
44
  * ```ts
@@ -222,7 +222,7 @@ export class EverythingService extends BaseService {
222
222
  /**
223
223
  * Completed cards across all accessible projects, grouped by project (paginated).
224
224
  * @param options - Optional query parameters
225
- * @returns All BucketCardsGroup across all pages, with .meta.totalCount
225
+ * @returns Every BucketCardsGroup across all pages, with .meta.totalCount
226
226
  *
227
227
  * @example
228
228
  * ```ts
@@ -250,7 +250,7 @@ export class EverythingService extends BaseService {
250
250
  /**
251
251
  * Open cards with no due date across all accessible projects, grouped by project (paginated).
252
252
  * @param options - Optional query parameters
253
- * @returns All BucketCardsGroup across all pages, with .meta.totalCount
253
+ * @returns Every BucketCardsGroup across all pages, with .meta.totalCount
254
254
  *
255
255
  * @example
256
256
  * ```ts
@@ -278,7 +278,7 @@ export class EverythingService extends BaseService {
278
278
  /**
279
279
  * Cards parked in a project's "Not now" column across all accessible projects, grouped by project (paginated).
280
280
  * @param options - Optional query parameters
281
- * @returns All BucketCardsGroup across all pages, with .meta.totalCount
281
+ * @returns Every BucketCardsGroup across all pages, with .meta.totalCount
282
282
  *
283
283
  * @example
284
284
  * ```ts
@@ -306,7 +306,7 @@ export class EverythingService extends BaseService {
306
306
  /**
307
307
  * Incomplete cards in active columns across all accessible projects, grouped by project (paginated).
308
308
  * @param options - Optional query parameters
309
- * @returns All BucketCardsGroup across all pages, with .meta.totalCount
309
+ * @returns Every BucketCardsGroup across all pages, with .meta.totalCount
310
310
  *
311
311
  * @example
312
312
  * ```ts
@@ -362,7 +362,7 @@ export class EverythingService extends BaseService {
362
362
  /**
363
363
  * Open, unassigned cards across all accessible projects, grouped by project (paginated).
364
364
  * @param options - Optional query parameters
365
- * @returns All BucketCardsGroup across all pages, with .meta.totalCount
365
+ * @returns Every BucketCardsGroup across all pages, with .meta.totalCount
366
366
  *
367
367
  * @example
368
368
  * ```ts
@@ -390,7 +390,7 @@ export class EverythingService extends BaseService {
390
390
  /**
391
391
  * Get every automatic check-in answer across all accessible projects, newest-first.
392
392
  * @param options - Optional query parameters
393
- * @returns All Recording across all pages, with .meta.totalCount
393
+ * @returns Every Recording across all pages, with .meta.totalCount
394
394
  *
395
395
  * @example
396
396
  * ```ts
@@ -418,7 +418,7 @@ export class EverythingService extends BaseService {
418
418
  /**
419
419
  * Get every comment across all accessible projects, newest-first (paginated).
420
420
  * @param options - Optional query parameters
421
- * @returns All Recording across all pages, with .meta.totalCount
421
+ * @returns Every Recording across all pages, with .meta.totalCount
422
422
  *
423
423
  * @example
424
424
  * ```ts
@@ -446,7 +446,7 @@ export class EverythingService extends BaseService {
446
446
  /**
447
447
  * Get every file recording across all accessible projects, newest-first (paginated).
448
448
  * @param options - Optional query parameters
449
- * @returns All EverythingFile across all pages, with .meta.totalCount
449
+ * @returns Every EverythingFile across all pages, with .meta.totalCount
450
450
  *
451
451
  * @example
452
452
  * ```ts
@@ -474,7 +474,7 @@ export class EverythingService extends BaseService {
474
474
  /**
475
475
  * Get every inbox forward across all accessible projects, newest-first (paginated).
476
476
  * @param options - Optional query parameters
477
- * @returns All Recording across all pages, with .meta.totalCount
477
+ * @returns Every Recording across all pages, with .meta.totalCount
478
478
  *
479
479
  * @example
480
480
  * ```ts
@@ -502,7 +502,7 @@ export class EverythingService extends BaseService {
502
502
  /**
503
503
  * Get every message across all accessible projects, newest-first (paginated).
504
504
  * @param options - Optional query parameters
505
- * @returns All Recording across all pages, with .meta.totalCount
505
+ * @returns Every Recording across all pages, with .meta.totalCount
506
506
  *
507
507
  * @example
508
508
  * ```ts
@@ -530,7 +530,7 @@ export class EverythingService extends BaseService {
530
530
  /**
531
531
  * Completed to-dos across all accessible projects, grouped by project (paginated).
532
532
  * @param options - Optional query parameters
533
- * @returns All BucketTodosGroup across all pages, with .meta.totalCount
533
+ * @returns Every BucketTodosGroup across all pages, with .meta.totalCount
534
534
  *
535
535
  * @example
536
536
  * ```ts
@@ -558,7 +558,7 @@ export class EverythingService extends BaseService {
558
558
  /**
559
559
  * Open to-dos with no due date across all accessible projects, grouped by project (paginated).
560
560
  * @param options - Optional query parameters
561
- * @returns All BucketTodosGroup across all pages, with .meta.totalCount
561
+ * @returns Every BucketTodosGroup across all pages, with .meta.totalCount
562
562
  *
563
563
  * @example
564
564
  * ```ts
@@ -586,7 +586,7 @@ export class EverythingService extends BaseService {
586
586
  /**
587
587
  * Active, incomplete to-dos across all accessible projects, grouped by project (paginated).
588
588
  * @param options - Optional query parameters
589
- * @returns All BucketTodosGroup across all pages, with .meta.totalCount
589
+ * @returns Every BucketTodosGroup across all pages, with .meta.totalCount
590
590
  *
591
591
  * @example
592
592
  * ```ts
@@ -642,7 +642,7 @@ export class EverythingService extends BaseService {
642
642
  /**
643
643
  * Open, unassigned to-dos across all accessible projects, grouped by project (paginated).
644
644
  * @param options - Optional query parameters
645
- * @returns All BucketTodosGroup across all pages, with .meta.totalCount
645
+ * @returns Every BucketTodosGroup across all pages, with .meta.totalCount
646
646
  *
647
647
  * @example
648
648
  * ```ts
@@ -84,7 +84,7 @@ export class ForwardsService extends BaseService {
84
84
  * List all replies to a forward
85
85
  * @param forwardId - The forward ID
86
86
  * @param options - Optional query parameters
87
- * @returns All ForwardReply across all pages, with .meta.totalCount
87
+ * @returns Every ForwardReply across all pages, with .meta.totalCount
88
88
  *
89
89
  * @example
90
90
  * ```ts
@@ -179,7 +179,7 @@ export class ForwardsService extends BaseService {
179
179
  * List all forwards in an inbox
180
180
  * @param inboxId - The inbox ID
181
181
  * @param options - Optional query parameters
182
- * @returns All Forward across all pages, with .meta.totalCount
182
+ * @returns Every Forward across all pages, with .meta.totalCount
183
183
  *
184
184
  * @example
185
185
  * ```ts
@@ -9,6 +9,7 @@ export { ClientApprovalsService } from "./client-approvals.js";
9
9
  export { ClientCorrespondencesService } from "./client-correspondences.js";
10
10
  export { ClientRepliesService } from "./client-replies.js";
11
11
  export { ToolsService } from "./tools.js";
12
+ export { TemplatesService } from "./templates.js";
12
13
  export { TodosService } from "./todos.js";
13
14
  export { CloudFilesService } from "./cloud-files.js";
14
15
  export { GoogleDocumentsService } from "./google-documents.js";
@@ -41,11 +42,11 @@ export { BubbleUpsService } from "./bubble-ups.js";
41
42
  export { ClientVisibilityService } from "./client-visibility.js";
42
43
  export { EventsService } from "./events.js";
43
44
  export { SubscriptionsService } from "./subscriptions.js";
45
+ export { SubtasksService } from "./subtasks.js";
44
46
  export { ReportsService } from "./reports.js";
45
47
  export { SchedulesService } from "./schedules.js";
46
48
  export { SearchService } from "./search.js";
47
49
  export { FoldersService } from "./folders.js";
48
- export { TemplatesService } from "./templates.js";
49
50
  export { TodolistGroupsService } from "./todolist-groups.js";
50
51
  export { TodolistsService } from "./todolists.js";
51
52
  export { TodosetsService } from "./todosets.js";
@@ -57,7 +57,7 @@ export class MessageTypesService extends BaseService {
57
57
  * List message types in a project
58
58
  * @param bucketId - The bucket ID
59
59
  * @param options - Optional query parameters
60
- * @returns All MessageType across all pages, with .meta.totalCount
60
+ * @returns Every MessageType across all pages, with .meta.totalCount
61
61
  *
62
62
  * @example
63
63
  * ```ts
@@ -75,7 +75,7 @@ export class MessagesService extends BaseService {
75
75
  * List messages on a message board
76
76
  * @param boardId - The board ID
77
77
  * @param options - Optional query parameters
78
- * @returns All Message across all pages, with .meta.totalCount
78
+ * @returns Every Message across all pages, with .meta.totalCount
79
79
  *
80
80
  * @example
81
81
  * ```ts
@@ -44,7 +44,8 @@ export interface BubbleUpsMyNotificationOptions extends PaginationOptions {
44
44
  * Request parameters for markAsRead.
45
45
  */
46
46
  export interface MarkAsReadMyNotificationRequest {
47
- /** Array of readable_sgid values identifying the items to mark as read */
47
+ /** Array of readable_sgid values identifying the items to mark as read.
48
+ At most 500 per request. */
48
49
  readables: string[];
49
50
  }
50
51
 
@@ -89,7 +90,7 @@ export class MyNotificationsService extends BaseService {
89
90
  /**
90
91
  * Get the current user's current and scheduled bubble-ups (paginated, 50 per page).
91
92
  * @param options - Optional query parameters
92
- * @returns All Notification across all pages, with .meta.totalCount
93
+ * @returns Every Notification across all pages, with .meta.totalCount
93
94
  *
94
95
  * @example
95
96
  * ```ts
@@ -114,7 +114,7 @@ export class PeopleService extends BaseService {
114
114
  /**
115
115
  * List all account users who can be pinged
116
116
  * @param options - Optional query parameters
117
- * @returns All Person across all pages, with .meta.totalCount
117
+ * @returns Every Person across all pages, with .meta.totalCount
118
118
  *
119
119
  * @example
120
120
  * ```ts
@@ -254,7 +254,7 @@ export class PeopleService extends BaseService {
254
254
  /**
255
255
  * List all people visible to the current user
256
256
  * @param options - Optional query parameters
257
- * @returns All Person across all pages, with .meta.totalCount
257
+ * @returns Every Person across all pages, with .meta.totalCount
258
258
  *
259
259
  * @example
260
260
  * ```ts
@@ -471,7 +471,7 @@ export class PeopleService extends BaseService {
471
471
  * List all active people on a project
472
472
  * @param projectId - The project ID
473
473
  * @param options - Optional query parameters
474
- * @returns All Person across all pages, with .meta.totalCount
474
+ * @returns Every Person across all pages, with .meta.totalCount
475
475
  *
476
476
  * @example
477
477
  * ```ts
@@ -88,7 +88,7 @@ export class ProjectsService extends BaseService {
88
88
  /**
89
89
  * List projects (active by default; optionally archived/trashed)
90
90
  * @param options - Optional query parameters
91
- * @returns All Project across all pages, with .meta.totalCount
91
+ * @returns Every Project across all pages, with .meta.totalCount
92
92
  *
93
93
  * @example
94
94
  * ```ts
@@ -32,6 +32,18 @@ export interface ListRecordingOptions extends PaginationOptions {
32
32
  page?: number;
33
33
  }
34
34
 
35
+ /**
36
+ * Request parameters for moveToVault.
37
+ */
38
+ export interface MoveToVaultRecordingRequest {
39
+ /** The destination vault. The recording's current vault keeps it where it is
40
+ and changes only its position. */
41
+ parentId: number;
42
+ /** 1-indexed position within the destination vault. Defaults to 1 (first); a
43
+ position past the end places it last. */
44
+ position?: number;
45
+ }
46
+
35
47
 
36
48
  // =============================================================================
37
49
  // Service
@@ -46,7 +58,7 @@ export class RecordingsService extends BaseService {
46
58
  * List recordings of a given type across projects
47
59
  * @param type - Comment|Document|Door|Kanban::Card|Kanban::Step|Message|Question::Answer|Schedule::Entry|Todo|Todolist|Upload|Vault
48
60
  * @param options - Optional query parameters
49
- * @returns All Recording across all pages, with .meta.totalCount
61
+ * @returns Every Recording across all pages, with .meta.totalCount
50
62
  *
51
63
  * @example
52
64
  * ```ts
@@ -74,6 +86,40 @@ export class RecordingsService extends BaseService {
74
86
  );
75
87
  }
76
88
 
89
+ /**
90
+ * Move a document, upload or vault into another vault in its project, or reorder it in its own vault.
91
+ * @param recordingId - The recording ID
92
+ * @param req - Recording request parameters
93
+ * @returns void
94
+ * @throws {BasecampError} If the request fails
95
+ *
96
+ * @example
97
+ * ```ts
98
+ * await client.recordings.moveToVault(123, { parentId: 1 });
99
+ * ```
100
+ */
101
+ async moveToVault(recordingId: number, req: MoveToVaultRecordingRequest): Promise<void> {
102
+ await this.request(
103
+ {
104
+ service: "Recordings",
105
+ operation: "MoveRecordingToVault",
106
+ resourceType: "recording",
107
+ isMutation: true,
108
+ resourceId: recordingId,
109
+ },
110
+ () =>
111
+ this.client.POST("/recordings/{recordingId}/filing.json", {
112
+ params: {
113
+ path: { recordingId },
114
+ },
115
+ body: {
116
+ parent_id: req.parentId,
117
+ position: req.position,
118
+ },
119
+ })
120
+ );
121
+ }
122
+
77
123
  /**
78
124
  * Put a recording's card in the spotlight area on its project or template home page.
79
125
  * @param recordingId - The recording ID
@@ -163,7 +209,7 @@ export class RecordingsService extends BaseService {
163
209
  }
164
210
 
165
211
  /**
166
- * Archive a recording
212
+ * Archive a recording; bc3 answers 403 for types it never lets be archived, timesheet entries among them
167
213
  * @param recordingId - The recording ID
168
214
  * @returns void
169
215
  * @throws {BasecampError} If the request fails
@@ -192,7 +238,7 @@ export class RecordingsService extends BaseService {
192
238
  }
193
239
 
194
240
  /**
195
- * Trash a recording. Trashed items can be recovered.
241
+ * Trash a recording; bc3 answers 403 for types it never lets be trashed, timesheet entries among them (DestroyTimesheetEntry removes those, permanently). Trashed items can be recovered.
196
242
  * @param recordingId - The recording ID
197
243
  * @returns void
198
244
  * @throws {BasecampError} If the request fails
@@ -55,7 +55,7 @@ export class ReportsService extends BaseService {
55
55
  /**
56
56
  * Get account-wide activity feed (progress report)
57
57
  * @param options - Optional query parameters
58
- * @returns All TimelineEvent across all pages, with .meta.totalCount
58
+ * @returns Every TimelineEvent across all pages, with .meta.totalCount
59
59
  *
60
60
  * @example
61
61
  * ```ts
@@ -353,7 +353,7 @@ export class SchedulesService extends BaseService {
353
353
  * List entries on a schedule
354
354
  * @param scheduleId - The schedule ID
355
355
  * @param options - Optional query parameters
356
- * @returns All ScheduleEntry across all pages, with .meta.totalCount
356
+ * @returns Every ScheduleEntry across all pages, with .meta.totalCount
357
357
  *
358
358
  * @example
359
359
  * ```ts