@37signals/basecamp 0.11.0 → 0.13.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 (304) hide show
  1. package/README.md +112 -16
  2. package/dist/.build-complete +0 -0
  3. package/dist/client.d.ts +65 -11
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +235 -215
  6. package/dist/client.js.map +1 -1
  7. package/dist/download.d.ts +7 -0
  8. package/dist/download.d.ts.map +1 -1
  9. package/dist/download.js +82 -22
  10. package/dist/download.js.map +1 -1
  11. package/dist/errors.d.ts +19 -1
  12. package/dist/errors.d.ts.map +1 -1
  13. package/dist/errors.js +128 -15
  14. package/dist/errors.js.map +1 -1
  15. package/dist/generated/metadata.d.ts.map +1 -1
  16. package/dist/generated/metadata.js +443 -133
  17. package/dist/generated/metadata.js.map +1 -1
  18. package/dist/generated/metadata.ts +443 -133
  19. package/dist/generated/openapi-stripped.json +8999 -4907
  20. package/dist/generated/path-mapping.d.ts.map +1 -1
  21. package/dist/generated/path-mapping.js +40 -16
  22. package/dist/generated/path-mapping.js.map +1 -1
  23. package/dist/generated/path-mapping.ts +40 -16
  24. package/dist/generated/schema.d.ts +5508 -2346
  25. package/dist/generated/services/bookmarks.d.ts +76 -0
  26. package/dist/generated/services/bookmarks.d.ts.map +1 -0
  27. package/dist/generated/services/bookmarks.js +114 -0
  28. package/dist/generated/services/bookmarks.js.map +1 -0
  29. package/dist/generated/services/bookmarks.ts +158 -0
  30. package/dist/generated/services/boosts.d.ts +10 -0
  31. package/dist/generated/services/boosts.d.ts.map +1 -1
  32. package/dist/generated/services/boosts.js +8 -0
  33. package/dist/generated/services/boosts.js.map +1 -1
  34. package/dist/generated/services/boosts.ts +12 -0
  35. package/dist/generated/services/calendars.d.ts +47 -0
  36. package/dist/generated/services/calendars.d.ts.map +1 -0
  37. package/dist/generated/services/calendars.js +73 -0
  38. package/dist/generated/services/calendars.js.map +1 -0
  39. package/dist/generated/services/calendars.ts +102 -0
  40. package/dist/generated/services/campfires.d.ts +54 -40
  41. package/dist/generated/services/campfires.d.ts.map +1 -1
  42. package/dist/generated/services/campfires.js +82 -65
  43. package/dist/generated/services/campfires.js.map +1 -1
  44. package/dist/generated/services/campfires.ts +107 -85
  45. package/dist/generated/services/cards.d.ts +5 -0
  46. package/dist/generated/services/cards.d.ts.map +1 -1
  47. package/dist/generated/services/cards.js +4 -0
  48. package/dist/generated/services/cards.js.map +1 -1
  49. package/dist/generated/services/cards.ts +6 -0
  50. package/dist/generated/services/checkins.d.ts +14 -0
  51. package/dist/generated/services/checkins.d.ts.map +1 -1
  52. package/dist/generated/services/checkins.js +14 -1
  53. package/dist/generated/services/checkins.js.map +1 -1
  54. package/dist/generated/services/checkins.ts +20 -0
  55. package/dist/generated/services/client-approvals.d.ts +6 -3
  56. package/dist/generated/services/client-approvals.d.ts.map +1 -1
  57. package/dist/generated/services/client-approvals.js +8 -5
  58. package/dist/generated/services/client-approvals.js.map +1 -1
  59. package/dist/generated/services/client-approvals.ts +10 -5
  60. package/dist/generated/services/client-correspondences.d.ts +6 -3
  61. package/dist/generated/services/client-correspondences.d.ts.map +1 -1
  62. package/dist/generated/services/client-correspondences.js +8 -5
  63. package/dist/generated/services/client-correspondences.js.map +1 -1
  64. package/dist/generated/services/client-correspondences.ts +10 -5
  65. package/dist/generated/services/client-replies.d.ts +11 -4
  66. package/dist/generated/services/client-replies.d.ts.map +1 -1
  67. package/dist/generated/services/client-replies.js +16 -8
  68. package/dist/generated/services/client-replies.js.map +1 -1
  69. package/dist/generated/services/client-replies.ts +18 -8
  70. package/dist/generated/services/cloud-files.d.ts +92 -0
  71. package/dist/generated/services/cloud-files.d.ts.map +1 -0
  72. package/dist/generated/services/cloud-files.js +121 -0
  73. package/dist/generated/services/cloud-files.js.map +1 -0
  74. package/dist/generated/services/cloud-files.ts +188 -0
  75. package/dist/generated/services/comments.d.ts +5 -0
  76. package/dist/generated/services/comments.d.ts.map +1 -1
  77. package/dist/generated/services/comments.js +4 -0
  78. package/dist/generated/services/comments.js.map +1 -1
  79. package/dist/generated/services/comments.ts +6 -0
  80. package/dist/generated/services/documents.d.ts +12 -7
  81. package/dist/generated/services/documents.d.ts.map +1 -1
  82. package/dist/generated/services/documents.js +10 -6
  83. package/dist/generated/services/documents.js.map +1 -1
  84. package/dist/generated/services/documents.ts +14 -8
  85. package/dist/generated/services/drafts.d.ts +38 -0
  86. package/dist/generated/services/drafts.d.ts.map +1 -0
  87. package/dist/generated/services/drafts.js +40 -0
  88. package/dist/generated/services/drafts.js.map +1 -0
  89. package/dist/generated/services/drafts.ts +67 -0
  90. package/dist/generated/services/events.d.ts +5 -0
  91. package/dist/generated/services/events.d.ts.map +1 -1
  92. package/dist/generated/services/events.js +4 -0
  93. package/dist/generated/services/events.js.map +1 -1
  94. package/dist/generated/services/events.ts +6 -0
  95. package/dist/generated/services/everything.d.ts +83 -16
  96. package/dist/generated/services/everything.d.ts.map +1 -1
  97. package/dist/generated/services/everything.js +23 -13
  98. package/dist/generated/services/everything.js.map +1 -1
  99. package/dist/generated/services/everything.ts +100 -25
  100. package/dist/generated/services/folders.d.ts +96 -0
  101. package/dist/generated/services/folders.d.ts.map +1 -0
  102. package/dist/generated/services/folders.js +140 -0
  103. package/dist/generated/services/folders.js.map +1 -0
  104. package/dist/generated/services/folders.ts +201 -0
  105. package/dist/generated/services/forwards.d.ts +7 -20
  106. package/dist/generated/services/forwards.d.ts.map +1 -1
  107. package/dist/generated/services/forwards.js +6 -35
  108. package/dist/generated/services/forwards.js.map +1 -1
  109. package/dist/generated/services/forwards.ts +10 -48
  110. package/dist/generated/services/gauges.d.ts +7 -0
  111. package/dist/generated/services/gauges.d.ts.map +1 -1
  112. package/dist/generated/services/gauges.js +5 -1
  113. package/dist/generated/services/gauges.js.map +1 -1
  114. package/dist/generated/services/gauges.ts +9 -1
  115. package/dist/generated/services/google-documents.d.ts +98 -0
  116. package/dist/generated/services/google-documents.d.ts.map +1 -0
  117. package/dist/generated/services/google-documents.js +123 -0
  118. package/dist/generated/services/google-documents.js.map +1 -0
  119. package/dist/generated/services/google-documents.ts +196 -0
  120. package/dist/generated/services/index.d.ts +12 -5
  121. package/dist/generated/services/index.d.ts.map +1 -1
  122. package/dist/generated/services/index.js +12 -5
  123. package/dist/generated/services/index.js.map +1 -1
  124. package/dist/generated/services/index.ts +12 -5
  125. package/dist/generated/services/messages.d.ts +2 -0
  126. package/dist/generated/services/messages.d.ts.map +1 -1
  127. package/dist/generated/services/messages.js +1 -1
  128. package/dist/generated/services/messages.js.map +1 -1
  129. package/dist/generated/services/messages.ts +3 -1
  130. package/dist/generated/services/my-assignments.d.ts +52 -0
  131. package/dist/generated/services/my-assignments.d.ts.map +1 -1
  132. package/dist/generated/services/my-assignments.js +71 -0
  133. package/dist/generated/services/my-assignments.js.map +1 -1
  134. package/dist/generated/services/my-assignments.ts +104 -0
  135. package/dist/generated/services/my-notes.d.ts +45 -0
  136. package/dist/generated/services/my-notes.d.ts.map +1 -0
  137. package/dist/generated/services/my-notes.js +62 -0
  138. package/dist/generated/services/my-notes.js.map +1 -0
  139. package/dist/generated/services/my-notes.ts +92 -0
  140. package/dist/generated/services/my-notifications.d.ts +4 -2
  141. package/dist/generated/services/my-notifications.d.ts.map +1 -1
  142. package/dist/generated/services/my-notifications.js.map +1 -1
  143. package/dist/generated/services/my-notifications.ts +4 -2
  144. package/dist/generated/services/people.d.ts +11 -1
  145. package/dist/generated/services/people.d.ts.map +1 -1
  146. package/dist/generated/services/people.js +13 -2
  147. package/dist/generated/services/people.js.map +1 -1
  148. package/dist/generated/services/people.ts +15 -1
  149. package/dist/generated/services/projects.d.ts +26 -0
  150. package/dist/generated/services/projects.d.ts.map +1 -1
  151. package/dist/generated/services/projects.js +49 -1
  152. package/dist/generated/services/projects.js.map +1 -1
  153. package/dist/generated/services/projects.ts +61 -1
  154. package/dist/generated/services/recordings.d.ts +2 -12
  155. package/dist/generated/services/recordings.d.ts.map +1 -1
  156. package/dist/generated/services/recordings.js +1 -26
  157. package/dist/generated/services/recordings.js.map +1 -1
  158. package/dist/generated/services/recordings.ts +3 -31
  159. package/dist/generated/services/reports.d.ts +8 -12
  160. package/dist/generated/services/reports.d.ts.map +1 -1
  161. package/dist/generated/services/reports.js +11 -5
  162. package/dist/generated/services/reports.js.map +1 -1
  163. package/dist/generated/services/reports.ts +13 -14
  164. package/dist/generated/services/schedules.d.ts +94 -15
  165. package/dist/generated/services/schedules.d.ts.map +1 -1
  166. package/dist/generated/services/schedules.js +19 -8
  167. package/dist/generated/services/schedules.js.map +1 -1
  168. package/dist/generated/services/schedules.ts +107 -17
  169. package/dist/generated/services/search.d.ts +2 -0
  170. package/dist/generated/services/search.d.ts.map +1 -1
  171. package/dist/generated/services/search.js +1 -1
  172. package/dist/generated/services/search.js.map +1 -1
  173. package/dist/generated/services/search.ts +3 -1
  174. package/dist/generated/services/templates.d.ts +2 -0
  175. package/dist/generated/services/templates.d.ts.map +1 -1
  176. package/dist/generated/services/templates.js +1 -1
  177. package/dist/generated/services/templates.js.map +1 -1
  178. package/dist/generated/services/templates.ts +3 -1
  179. package/dist/generated/services/timeline.d.ts +2 -0
  180. package/dist/generated/services/timeline.d.ts.map +1 -1
  181. package/dist/generated/services/timeline.js +1 -0
  182. package/dist/generated/services/timeline.js.map +1 -1
  183. package/dist/generated/services/timeline.ts +3 -0
  184. package/dist/generated/services/timesheets.d.ts +16 -0
  185. package/dist/generated/services/timesheets.d.ts.map +1 -1
  186. package/dist/generated/services/timesheets.js +26 -2
  187. package/dist/generated/services/timesheets.js.map +1 -1
  188. package/dist/generated/services/timesheets.ts +35 -2
  189. package/dist/generated/services/todolist-groups.d.ts +11 -6
  190. package/dist/generated/services/todolist-groups.d.ts.map +1 -1
  191. package/dist/generated/services/todolist-groups.js +7 -3
  192. package/dist/generated/services/todolist-groups.js.map +1 -1
  193. package/dist/generated/services/todolist-groups.ts +13 -7
  194. package/dist/generated/services/todolists.d.ts +15 -13
  195. package/dist/generated/services/todolists.d.ts.map +1 -1
  196. package/dist/generated/services/todolists.js +11 -8
  197. package/dist/generated/services/todolists.js.map +1 -1
  198. package/dist/generated/services/todolists.ts +19 -14
  199. package/dist/generated/services/todos.d.ts +35 -12
  200. package/dist/generated/services/todos.d.ts.map +1 -1
  201. package/dist/generated/services/todos.js +47 -25
  202. package/dist/generated/services/todos.js.map +1 -1
  203. package/dist/generated/services/todos.ts +74 -30
  204. package/dist/generated/services/uploads.d.ts +5 -0
  205. package/dist/generated/services/uploads.d.ts.map +1 -1
  206. package/dist/generated/services/uploads.js +4 -0
  207. package/dist/generated/services/uploads.js.map +1 -1
  208. package/dist/generated/services/uploads.ts +6 -0
  209. package/dist/generated/services/vaults.d.ts +5 -0
  210. package/dist/generated/services/vaults.d.ts.map +1 -1
  211. package/dist/generated/services/vaults.js +4 -0
  212. package/dist/generated/services/vaults.js.map +1 -1
  213. package/dist/generated/services/vaults.ts +6 -0
  214. package/dist/hooks/otel.d.ts +1 -1
  215. package/dist/hooks/otel.js +1 -1
  216. package/dist/index.d.ts +21 -11
  217. package/dist/index.d.ts.map +1 -1
  218. package/dist/index.js +24 -9
  219. package/dist/index.js.map +1 -1
  220. package/dist/oauth/discovery.d.ts.map +1 -1
  221. package/dist/oauth/discovery.js +1 -0
  222. package/dist/oauth/discovery.js.map +1 -1
  223. package/dist/pagination-utils.d.ts +46 -0
  224. package/dist/pagination-utils.d.ts.map +1 -1
  225. package/dist/pagination-utils.js +85 -2
  226. package/dist/pagination-utils.js.map +1 -1
  227. package/dist/pagination.d.ts +12 -1
  228. package/dist/pagination.d.ts.map +1 -1
  229. package/dist/pagination.js +1 -1
  230. package/dist/pagination.js.map +1 -1
  231. package/dist/retry.d.ts +110 -0
  232. package/dist/retry.d.ts.map +1 -0
  233. package/dist/retry.js +253 -0
  234. package/dist/retry.js.map +1 -0
  235. package/dist/services/base.d.ts.map +1 -1
  236. package/dist/services/base.js +59 -5
  237. package/dist/services/base.js.map +1 -1
  238. package/dist/services/cards-extensions.d.ts +26 -21
  239. package/dist/services/cards-extensions.d.ts.map +1 -1
  240. package/dist/services/cards-extensions.js +28 -31
  241. package/dist/services/cards-extensions.js.map +1 -1
  242. package/dist/services/documents-extensions.d.ts +122 -0
  243. package/dist/services/documents-extensions.d.ts.map +1 -0
  244. package/dist/services/documents-extensions.js +125 -0
  245. package/dist/services/documents-extensions.js.map +1 -0
  246. package/dist/services/merge-safe.d.ts +167 -0
  247. package/dist/services/merge-safe.d.ts.map +1 -0
  248. package/dist/services/merge-safe.js +217 -0
  249. package/dist/services/merge-safe.js.map +1 -0
  250. package/dist/services/schedules-extensions.d.ts +266 -0
  251. package/dist/services/schedules-extensions.d.ts.map +1 -0
  252. package/dist/services/schedules-extensions.js +268 -0
  253. package/dist/services/schedules-extensions.js.map +1 -0
  254. package/dist/services/todolists-extensions.d.ts +110 -0
  255. package/dist/services/todolists-extensions.d.ts.map +1 -0
  256. package/dist/services/todolists-extensions.js +262 -0
  257. package/dist/services/todolists-extensions.js.map +1 -0
  258. package/dist/services/todos-extensions.d.ts +12 -1
  259. package/dist/services/todos-extensions.d.ts.map +1 -1
  260. package/dist/services/todos-extensions.js +27 -8
  261. package/dist/services/todos-extensions.js.map +1 -1
  262. package/package.json +5 -4
  263. package/src/generated/metadata.ts +443 -133
  264. package/src/generated/openapi-stripped.json +8999 -4907
  265. package/src/generated/path-mapping.ts +40 -16
  266. package/src/generated/schema.d.ts +5508 -2346
  267. package/src/generated/services/bookmarks.ts +158 -0
  268. package/src/generated/services/boosts.ts +12 -0
  269. package/src/generated/services/calendars.ts +102 -0
  270. package/src/generated/services/campfires.ts +107 -85
  271. package/src/generated/services/cards.ts +6 -0
  272. package/src/generated/services/checkins.ts +20 -0
  273. package/src/generated/services/client-approvals.ts +10 -5
  274. package/src/generated/services/client-correspondences.ts +10 -5
  275. package/src/generated/services/client-replies.ts +18 -8
  276. package/src/generated/services/cloud-files.ts +188 -0
  277. package/src/generated/services/comments.ts +6 -0
  278. package/src/generated/services/documents.ts +14 -8
  279. package/src/generated/services/drafts.ts +67 -0
  280. package/src/generated/services/events.ts +6 -0
  281. package/src/generated/services/everything.ts +100 -25
  282. package/src/generated/services/folders.ts +201 -0
  283. package/src/generated/services/forwards.ts +10 -48
  284. package/src/generated/services/gauges.ts +9 -1
  285. package/src/generated/services/google-documents.ts +196 -0
  286. package/src/generated/services/index.ts +12 -5
  287. package/src/generated/services/messages.ts +3 -1
  288. package/src/generated/services/my-assignments.ts +104 -0
  289. package/src/generated/services/my-notes.ts +92 -0
  290. package/src/generated/services/my-notifications.ts +4 -2
  291. package/src/generated/services/people.ts +15 -1
  292. package/src/generated/services/projects.ts +61 -1
  293. package/src/generated/services/recordings.ts +3 -31
  294. package/src/generated/services/reports.ts +13 -14
  295. package/src/generated/services/schedules.ts +107 -17
  296. package/src/generated/services/search.ts +3 -1
  297. package/src/generated/services/templates.ts +3 -1
  298. package/src/generated/services/timeline.ts +3 -0
  299. package/src/generated/services/timesheets.ts +35 -2
  300. package/src/generated/services/todolist-groups.ts +13 -7
  301. package/src/generated/services/todolists.ts +19 -14
  302. package/src/generated/services/todos.ts +74 -30
  303. package/src/generated/services/uploads.ts +6 -0
  304. package/src/generated/services/vaults.ts +6 -0
@@ -22,16 +22,8 @@ export type Person = components["schemas"]["Person"];
22
22
  * Options for progress.
23
23
  */
24
24
  export interface ProgressReportOptions extends PaginationOptions {
25
- }
26
-
27
- /**
28
- * Options for upcoming.
29
- */
30
- export interface UpcomingReportOptions {
31
- /** Window starts on */
32
- windowStartsOn?: string;
33
- /** Window ends on */
34
- windowEndsOn?: string;
25
+ /** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
26
+ page?: number;
35
27
  }
36
28
 
37
29
  /**
@@ -46,6 +38,8 @@ export interface AssignedReportOptions {
46
38
  * Options for personProgress.
47
39
  */
48
40
  export interface PersonProgressReportOptions extends PaginationOptions {
41
+ /** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
42
+ page?: number;
49
43
  }
50
44
 
51
45
 
@@ -78,6 +72,9 @@ export class ReportsService extends BaseService {
78
72
  },
79
73
  () =>
80
74
  this.client.GET("/reports/progress.json", {
75
+ params: {
76
+ query: { page: options?.page },
77
+ },
81
78
  })
82
79
  , options
83
80
  );
@@ -85,15 +82,16 @@ export class ReportsService extends BaseService {
85
82
 
86
83
  /**
87
84
  * Get upcoming schedule entries and assignable items within a date window.
88
- * @param options - Optional query parameters
85
+ * @param windowStartsOn - Inclusive first day of the window, `YYYY-MM-DD`. Required — BC3 answers 400 without it.
86
+ * @param windowEndsOn - Inclusive last day of the window, `YYYY-MM-DD`. Required — BC3 answers 400 without it.
89
87
  * @returns The upcoming_schedule
90
88
  *
91
89
  * @example
92
90
  * ```ts
93
- * const result = await client.reports.upcoming();
91
+ * const result = await client.reports.upcoming("window_starts_on", "window_ends_on");
94
92
  * ```
95
93
  */
96
- async upcoming(options?: UpcomingReportOptions): Promise<components["schemas"]["GetUpcomingScheduleResponseContent"]> {
94
+ async upcoming(windowStartsOn: string, windowEndsOn: string): Promise<components["schemas"]["GetUpcomingScheduleResponseContent"]> {
97
95
  const response = await this.request(
98
96
  {
99
97
  service: "Reports",
@@ -104,7 +102,7 @@ export class ReportsService extends BaseService {
104
102
  () =>
105
103
  this.client.GET("/reports/schedules/upcoming.json", {
106
104
  params: {
107
- query: { "window_starts_on": options?.windowStartsOn, "window_ends_on": options?.windowEndsOn },
105
+ query: { "window_starts_on": windowStartsOn, "window_ends_on": windowEndsOn },
108
106
  },
109
107
  })
110
108
  );
@@ -190,6 +188,7 @@ export class ReportsService extends BaseService {
190
188
  this.client.GET("/reports/users/progress/{personId}.json", {
191
189
  params: {
192
190
  path: { personId },
191
+ query: { page: options?.page },
193
192
  },
194
193
  })
195
194
  , "events", options
@@ -12,15 +12,17 @@ export type ScheduleEntry = components["schemas"]["ScheduleEntry"];
12
12
  /** Schedule entity from the Basecamp API. */
13
13
  export type Schedule = components["schemas"]["Schedule"];
14
14
  /**
15
- * Request parameters for updateEntry.
15
+ * Request parameters for replaceEntry.
16
16
  */
17
- export interface UpdateEntryScheduleRequest {
17
+ export interface ReplaceEntryScheduleRequest {
18
18
  /** Summary text */
19
19
  summary?: string;
20
- /** Starts at (RFC3339 (e.g., 2024-12-15T09:00:00Z)) */
21
- startsAt?: string;
22
- /** Ends at (RFC3339 (e.g., 2024-12-15T09:00:00Z)) */
23
- endsAt?: string;
20
+ /** The entry's start, as a bare date ("2026-06-01") for an all-day entry or a
21
+ full timestamp otherwise. Same rule as CreateScheduleEntry: send it
22
+ verbatim, never parsed and re-rendered. */
23
+ startsAt: string;
24
+ /** The entry's end. See starts_at for the date-vs-timestamp rule. */
25
+ endsAt: string;
24
26
  /** Rich text description (HTML) */
25
27
  description?: string;
26
28
  /** Replaces the entry's participants.
@@ -33,10 +35,36 @@ export interface UpdateEntryScheduleRequest {
33
35
  silently removed every participant and notified each one. The controller
34
36
  now guards on the request actually addressing participants. */
35
37
  participantIds?: number[];
36
- /** All day */
38
+ /** Whether the entry occupies whole days rather than a time range.
39
+
40
+ Not carved out, and the carve-out list is what makes that dangerous to
41
+ forget: `schedule_entries.all_day` is NOT NULL with a `false` default, so
42
+ omitting this member on a replace resets it — silently converting an
43
+ all-day entry into a midnight-to-midnight timed one. The SDK's merge-safe
44
+ update and edit resend it from the read-back for exactly this reason.
45
+
46
+ Sending an explicit null is worse than omitting it: the column rejects
47
+ NULL, so BC3 raises rather than falling back to the default. The same is
48
+ true of highlighted. */
37
49
  allDay?: boolean;
38
50
  /** Whether to send notifications to relevant people */
39
51
  notify?: boolean;
52
+ /** The entry's join link — a video-call URL or similar, up to 2500
53
+ characters, validated as a URL when present.
54
+
55
+ Omitting this member preserves the current join link; sending an empty
56
+ string clears it. Read it back as `join_url`, never as `url`: the entry's
57
+ `url` is its own Basecamp API URL, written by a partial that renders
58
+ before this one, so BC3 emits the join link under a non-colliding key.
59
+ Echoing the response's `url` into this member would write the API URL into
60
+ the join link. */
61
+ url?: string;
62
+ /** Whether the entry is highlighted on the schedule.
63
+
64
+ Omitting this member preserves the current highlight; sending false
65
+ removes it. Preserved on omission because until basecamp/bc3#12502 the
66
+ field was writable but never returned, so no caller could resend it. */
67
+ highlighted?: boolean;
40
68
  }
41
69
  /**
42
70
  * Request parameters for updateSettings.
@@ -51,6 +79,8 @@ export interface UpdateSettingsScheduleRequest {
51
79
  export interface ListEntriesScheduleOptions extends PaginationOptions {
52
80
  /** Filter by status */
53
81
  status?: "active" | "archived" | "trashed";
82
+ /** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
83
+ page?: number;
54
84
  }
55
85
  /**
56
86
  * Request parameters for createEntry.
@@ -58,9 +88,21 @@ export interface ListEntriesScheduleOptions extends PaginationOptions {
58
88
  export interface CreateEntryScheduleRequest {
59
89
  /** Summary text */
60
90
  summary: string;
61
- /** Starts at (RFC3339 (e.g., 2024-12-15T09:00:00Z)) */
91
+ /** The entry's start, as a bare date ("2026-06-01") for an all-day entry or a
92
+ full timestamp ("2026-06-01T09:00:00Z") otherwise — the same two forms the
93
+ response renders, and the same two ReplaceScheduleEntry accepts.
94
+
95
+ Create and replace share one permit list:
96
+ `Schedules::Entries::BaseController#base_schedule_entry_params` is what
97
+ both `new_schedule_entry_params` and `update_schedule_entry_params` call,
98
+ and Schedule::Entry does no format-specific parsing of either bound, so
99
+ whatever one operation takes the other takes too.
100
+
101
+ Treat the value as opaque and send it verbatim. Parsing it into a
102
+ date-time type and re-rendering rewrites an all-day entry's bounds into
103
+ midnight timestamps, which is why every SDK models it as a string. */
62
104
  startsAt: string;
63
- /** Ends at (RFC3339 (e.g., 2024-12-15T09:00:00Z)) */
105
+ /** The entry's end. See starts_at for the date-vs-timestamp rule. */
64
106
  endsAt: string;
65
107
  /** Rich text description (HTML) */
66
108
  description?: string;
@@ -70,6 +112,43 @@ export interface CreateEntryScheduleRequest {
70
112
  allDay?: boolean;
71
113
  /** Whether to send notifications to relevant people */
72
114
  notify?: boolean;
115
+ /** The entry's join link — a video-call URL or similar, up to 2500
116
+ characters, validated as a URL when present. A scheme-less value is
117
+ normalized to `https://`.
118
+
119
+ Spell it `url` on the way in and read it back as `join_url`: the response
120
+ key `url` is the entry's own Basecamp API URL, written by a partial that
121
+ renders before this field, so BC3 emits the join link under a
122
+ non-colliding name. Sending `join_url` instead is silently dropped by
123
+ strong parameters — the create succeeds with no join link.
124
+
125
+ Accepted on create since long before it was documented:
126
+ `Schedules::Entries::BaseController#base_schedule_entry_params` permits it
127
+ and `new_schedule_entry_params` passes it through unchanged for API
128
+ requests. Modeling it only on ReplaceScheduleEntry forced callers into a
129
+ three-request read-modify-write for a field the create already took — and
130
+ create is the notifying write, so participants learned about a video call
131
+ before its link existed. */
132
+ url?: string;
133
+ /** Whether the entry is highlighted on the schedule. Defaults to false.
134
+
135
+ Do not send an explicit null: `schedule_entries.highlighted` is NOT NULL,
136
+ so BC3 raises rather than falling back to the default. Omit it instead —
137
+ every SDK's request compactor already drops unset members. */
138
+ highlighted?: boolean;
139
+ /** Publication state at creation — `active|drafted`, defaulting to `active`
140
+ for an API create.
141
+
142
+ A top-level parameter, not part of the entry's attributes: `status` is a
143
+ Recording column, so `wrap_parameters` leaves it outside the
144
+ `schedule_entry` envelope and `Recording::StatusParam#status_param` reads
145
+ it directly. On create it accepts `drafted`, `active`, `archived` or
146
+ `trashed` and raises `ActionController::BadRequest` — a 400, not a 422 —
147
+ for anything else; the two documented values are the two worth sending.
148
+
149
+ Unlike messages and documents, schedule-entry drafts are not listed by
150
+ GetMyDrafts. */
151
+ status?: string;
73
152
  /** Subscriptions */
74
153
  subscriptions?: number[];
75
154
  /** Visible to clients */
@@ -92,18 +171,18 @@ export declare class SchedulesService extends BaseService {
92
171
  */
93
172
  getEntry(entryId: number): Promise<ScheduleEntry>;
94
173
  /**
95
- * Update an existing schedule entry
174
+ * Replace a schedule entry with a new complete representation.
96
175
  * @param entryId - The entry ID
97
- * @param req - Schedule_entry update parameters
176
+ * @param req - Schedule_entry request parameters
98
177
  * @returns The ScheduleEntry
99
- * @throws {BasecampError} If the resource is not found or fields are invalid
178
+ * @throws {BasecampError} If the request fails
100
179
  *
101
180
  * @example
102
181
  * ```ts
103
- * const result = await client.schedules.updateEntry(123, { });
182
+ * const result = await client.schedules.replaceEntry(123, { startsAt: "example", endsAt: "example" });
104
183
  * ```
105
184
  */
106
- updateEntry(entryId: number, req: UpdateEntryScheduleRequest): Promise<ScheduleEntry>;
185
+ replaceEntry(entryId: number, req: ReplaceEntryScheduleRequest): Promise<ScheduleEntry>;
107
186
  /**
108
187
  * Get a specific occurrence of a recurring schedule entry
109
188
  * @param entryId - The entry ID
@@ -166,7 +245,7 @@ export declare class SchedulesService extends BaseService {
166
245
  *
167
246
  * @example
168
247
  * ```ts
169
- * const result = await client.schedules.createEntry(123, { summary: "example", startsAt: "2025-06-01T09:00:00Z", endsAt: "2025-06-01T09:00:00Z" });
248
+ * const result = await client.schedules.createEntry(123, { summary: "example", startsAt: "example", endsAt: "example" });
170
249
  * ```
171
250
  */
172
251
  createEntry(scheduleId: number, req: CreateEntryScheduleRequest): Promise<ScheduleEntry>;
@@ -1 +1 @@
1
- {"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../../src/generated/services/schedules.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,kDAAkD;AAClD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;AACnE,6CAA6C;AAC7C,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;gEAQ4D;IAC5D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,8BAA8B;IAC9B,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACnE,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oBAAoB;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAOD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAE/C;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAmBvD;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IA4B3F;;;;;;;;;;;OAWG;IACG,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAmB/E;;;;;;;;;;OAUG;IACG,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmBhD;;;;;;;;;;;OAWG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,6BAA6B,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsB/F;;;;;;;;;;;;;OAaG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAoB/G;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;CAsC/F"}
1
+ {"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../../src/generated/services/schedules.ts"],"names":[],"mappings":"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"}
@@ -38,21 +38,27 @@ export class SchedulesService extends BaseService {
38
38
  return response;
39
39
  }
40
40
  /**
41
- * Update an existing schedule entry
41
+ * Replace a schedule entry with a new complete representation.
42
42
  * @param entryId - The entry ID
43
- * @param req - Schedule_entry update parameters
43
+ * @param req - Schedule_entry request parameters
44
44
  * @returns The ScheduleEntry
45
- * @throws {BasecampError} If the resource is not found or fields are invalid
45
+ * @throws {BasecampError} If the request fails
46
46
  *
47
47
  * @example
48
48
  * ```ts
49
- * const result = await client.schedules.updateEntry(123, { });
49
+ * const result = await client.schedules.replaceEntry(123, { startsAt: "example", endsAt: "example" });
50
50
  * ```
51
51
  */
52
- async updateEntry(entryId, req) {
52
+ async replaceEntry(entryId, req) {
53
+ if (!req.startsAt) {
54
+ throw Errors.validation("Starts at is required");
55
+ }
56
+ if (!req.endsAt) {
57
+ throw Errors.validation("Ends at is required");
58
+ }
53
59
  const response = await this.request({
54
60
  service: "Schedules",
55
- operation: "UpdateScheduleEntry",
61
+ operation: "ReplaceScheduleEntry",
56
62
  resourceType: "schedule_entry",
57
63
  isMutation: true,
58
64
  resourceId: entryId,
@@ -68,6 +74,8 @@ export class SchedulesService extends BaseService {
68
74
  participant_ids: req.participantIds,
69
75
  all_day: req.allDay,
70
76
  notify: req.notify,
77
+ url: req.url,
78
+ highlighted: req.highlighted,
71
79
  },
72
80
  }));
73
81
  return response;
@@ -176,7 +184,7 @@ export class SchedulesService extends BaseService {
176
184
  }, () => this.client.GET("/schedules/{scheduleId}/entries.json", {
177
185
  params: {
178
186
  path: { scheduleId },
179
- query: { status: options?.status },
187
+ query: { status: options?.status, page: options?.page },
180
188
  },
181
189
  }), options);
182
190
  }
@@ -189,7 +197,7 @@ export class SchedulesService extends BaseService {
189
197
  *
190
198
  * @example
191
199
  * ```ts
192
- * const result = await client.schedules.createEntry(123, { summary: "example", startsAt: "2025-06-01T09:00:00Z", endsAt: "2025-06-01T09:00:00Z" });
200
+ * const result = await client.schedules.createEntry(123, { summary: "example", startsAt: "example", endsAt: "example" });
193
201
  * ```
194
202
  */
195
203
  async createEntry(scheduleId, req) {
@@ -220,6 +228,9 @@ export class SchedulesService extends BaseService {
220
228
  participant_ids: req.participantIds,
221
229
  all_day: req.allDay,
222
230
  notify: req.notify,
231
+ url: req.url,
232
+ highlighted: req.highlighted,
233
+ status: req.status,
223
234
  subscriptions: req.subscriptions,
224
235
  visible_to_clients: req.visibleToClients,
225
236
  },
@@ -1 +1 @@
1
- {"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../../src/generated/services/schedules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../../src/generated/services/schedules.ts"],"names":[],"mappings":"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"}
@@ -20,15 +20,17 @@ export type ScheduleEntry = components["schemas"]["ScheduleEntry"];
20
20
  export type Schedule = components["schemas"]["Schedule"];
21
21
 
22
22
  /**
23
- * Request parameters for updateEntry.
23
+ * Request parameters for replaceEntry.
24
24
  */
25
- export interface UpdateEntryScheduleRequest {
25
+ export interface ReplaceEntryScheduleRequest {
26
26
  /** Summary text */
27
27
  summary?: string;
28
- /** Starts at (RFC3339 (e.g., 2024-12-15T09:00:00Z)) */
29
- startsAt?: string;
30
- /** Ends at (RFC3339 (e.g., 2024-12-15T09:00:00Z)) */
31
- endsAt?: string;
28
+ /** The entry's start, as a bare date ("2026-06-01") for an all-day entry or a
29
+ full timestamp otherwise. Same rule as CreateScheduleEntry: send it
30
+ verbatim, never parsed and re-rendered. */
31
+ startsAt: string;
32
+ /** The entry's end. See starts_at for the date-vs-timestamp rule. */
33
+ endsAt: string;
32
34
  /** Rich text description (HTML) */
33
35
  description?: string;
34
36
  /** Replaces the entry's participants.
@@ -41,10 +43,36 @@ including the shape in BC3's own "Update a schedule entry" doc example —
41
43
  silently removed every participant and notified each one. The controller
42
44
  now guards on the request actually addressing participants. */
43
45
  participantIds?: number[];
44
- /** All day */
46
+ /** Whether the entry occupies whole days rather than a time range.
47
+
48
+ Not carved out, and the carve-out list is what makes that dangerous to
49
+ forget: `schedule_entries.all_day` is NOT NULL with a `false` default, so
50
+ omitting this member on a replace resets it — silently converting an
51
+ all-day entry into a midnight-to-midnight timed one. The SDK's merge-safe
52
+ update and edit resend it from the read-back for exactly this reason.
53
+
54
+ Sending an explicit null is worse than omitting it: the column rejects
55
+ NULL, so BC3 raises rather than falling back to the default. The same is
56
+ true of highlighted. */
45
57
  allDay?: boolean;
46
58
  /** Whether to send notifications to relevant people */
47
59
  notify?: boolean;
60
+ /** The entry's join link — a video-call URL or similar, up to 2500
61
+ characters, validated as a URL when present.
62
+
63
+ Omitting this member preserves the current join link; sending an empty
64
+ string clears it. Read it back as `join_url`, never as `url`: the entry's
65
+ `url` is its own Basecamp API URL, written by a partial that renders
66
+ before this one, so BC3 emits the join link under a non-colliding key.
67
+ Echoing the response's `url` into this member would write the API URL into
68
+ the join link. */
69
+ url?: string;
70
+ /** Whether the entry is highlighted on the schedule.
71
+
72
+ Omitting this member preserves the current highlight; sending false
73
+ removes it. Preserved on omission because until basecamp/bc3#12502 the
74
+ field was writable but never returned, so no caller could resend it. */
75
+ highlighted?: boolean;
48
76
  }
49
77
 
50
78
  /**
@@ -61,6 +89,8 @@ export interface UpdateSettingsScheduleRequest {
61
89
  export interface ListEntriesScheduleOptions extends PaginationOptions {
62
90
  /** Filter by status */
63
91
  status?: "active" | "archived" | "trashed";
92
+ /** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
93
+ page?: number;
64
94
  }
65
95
 
66
96
  /**
@@ -69,9 +99,21 @@ export interface ListEntriesScheduleOptions extends PaginationOptions {
69
99
  export interface CreateEntryScheduleRequest {
70
100
  /** Summary text */
71
101
  summary: string;
72
- /** Starts at (RFC3339 (e.g., 2024-12-15T09:00:00Z)) */
102
+ /** The entry's start, as a bare date ("2026-06-01") for an all-day entry or a
103
+ full timestamp ("2026-06-01T09:00:00Z") otherwise — the same two forms the
104
+ response renders, and the same two ReplaceScheduleEntry accepts.
105
+
106
+ Create and replace share one permit list:
107
+ `Schedules::Entries::BaseController#base_schedule_entry_params` is what
108
+ both `new_schedule_entry_params` and `update_schedule_entry_params` call,
109
+ and Schedule::Entry does no format-specific parsing of either bound, so
110
+ whatever one operation takes the other takes too.
111
+
112
+ Treat the value as opaque and send it verbatim. Parsing it into a
113
+ date-time type and re-rendering rewrites an all-day entry's bounds into
114
+ midnight timestamps, which is why every SDK models it as a string. */
73
115
  startsAt: string;
74
- /** Ends at (RFC3339 (e.g., 2024-12-15T09:00:00Z)) */
116
+ /** The entry's end. See starts_at for the date-vs-timestamp rule. */
75
117
  endsAt: string;
76
118
  /** Rich text description (HTML) */
77
119
  description?: string;
@@ -81,6 +123,43 @@ export interface CreateEntryScheduleRequest {
81
123
  allDay?: boolean;
82
124
  /** Whether to send notifications to relevant people */
83
125
  notify?: boolean;
126
+ /** The entry's join link — a video-call URL or similar, up to 2500
127
+ characters, validated as a URL when present. A scheme-less value is
128
+ normalized to `https://`.
129
+
130
+ Spell it `url` on the way in and read it back as `join_url`: the response
131
+ key `url` is the entry's own Basecamp API URL, written by a partial that
132
+ renders before this field, so BC3 emits the join link under a
133
+ non-colliding name. Sending `join_url` instead is silently dropped by
134
+ strong parameters — the create succeeds with no join link.
135
+
136
+ Accepted on create since long before it was documented:
137
+ `Schedules::Entries::BaseController#base_schedule_entry_params` permits it
138
+ and `new_schedule_entry_params` passes it through unchanged for API
139
+ requests. Modeling it only on ReplaceScheduleEntry forced callers into a
140
+ three-request read-modify-write for a field the create already took — and
141
+ create is the notifying write, so participants learned about a video call
142
+ before its link existed. */
143
+ url?: string;
144
+ /** Whether the entry is highlighted on the schedule. Defaults to false.
145
+
146
+ Do not send an explicit null: `schedule_entries.highlighted` is NOT NULL,
147
+ so BC3 raises rather than falling back to the default. Omit it instead —
148
+ every SDK's request compactor already drops unset members. */
149
+ highlighted?: boolean;
150
+ /** Publication state at creation — `active|drafted`, defaulting to `active`
151
+ for an API create.
152
+
153
+ A top-level parameter, not part of the entry's attributes: `status` is a
154
+ Recording column, so `wrap_parameters` leaves it outside the
155
+ `schedule_entry` envelope and `Recording::StatusParam#status_param` reads
156
+ it directly. On create it accepts `drafted`, `active`, `archived` or
157
+ `trashed` and raises `ActionController::BadRequest` — a 400, not a 422 —
158
+ for anything else; the two documented values are the two worth sending.
159
+
160
+ Unlike messages and documents, schedule-entry drafts are not listed by
161
+ GetMyDrafts. */
162
+ status?: string;
84
163
  /** Subscriptions */
85
164
  subscriptions?: number[];
86
165
  /** Visible to clients */
@@ -128,22 +207,28 @@ export class SchedulesService extends BaseService {
128
207
  }
129
208
 
130
209
  /**
131
- * Update an existing schedule entry
210
+ * Replace a schedule entry with a new complete representation.
132
211
  * @param entryId - The entry ID
133
- * @param req - Schedule_entry update parameters
212
+ * @param req - Schedule_entry request parameters
134
213
  * @returns The ScheduleEntry
135
- * @throws {BasecampError} If the resource is not found or fields are invalid
214
+ * @throws {BasecampError} If the request fails
136
215
  *
137
216
  * @example
138
217
  * ```ts
139
- * const result = await client.schedules.updateEntry(123, { });
218
+ * const result = await client.schedules.replaceEntry(123, { startsAt: "example", endsAt: "example" });
140
219
  * ```
141
220
  */
142
- async updateEntry(entryId: number, req: UpdateEntryScheduleRequest): Promise<ScheduleEntry> {
221
+ async replaceEntry(entryId: number, req: ReplaceEntryScheduleRequest): Promise<ScheduleEntry> {
222
+ if (!req.startsAt) {
223
+ throw Errors.validation("Starts at is required");
224
+ }
225
+ if (!req.endsAt) {
226
+ throw Errors.validation("Ends at is required");
227
+ }
143
228
  const response = await this.request(
144
229
  {
145
230
  service: "Schedules",
146
- operation: "UpdateScheduleEntry",
231
+ operation: "ReplaceScheduleEntry",
147
232
  resourceType: "schedule_entry",
148
233
  isMutation: true,
149
234
  resourceId: entryId,
@@ -161,6 +246,8 @@ export class SchedulesService extends BaseService {
161
246
  participant_ids: req.participantIds,
162
247
  all_day: req.allDay,
163
248
  notify: req.notify,
249
+ url: req.url,
250
+ highlighted: req.highlighted,
164
251
  },
165
252
  })
166
253
  );
@@ -289,7 +376,7 @@ export class SchedulesService extends BaseService {
289
376
  this.client.GET("/schedules/{scheduleId}/entries.json", {
290
377
  params: {
291
378
  path: { scheduleId },
292
- query: { status: options?.status },
379
+ query: { status: options?.status, page: options?.page },
293
380
  },
294
381
  })
295
382
  , options
@@ -305,7 +392,7 @@ export class SchedulesService extends BaseService {
305
392
  *
306
393
  * @example
307
394
  * ```ts
308
- * const result = await client.schedules.createEntry(123, { summary: "example", startsAt: "2025-06-01T09:00:00Z", endsAt: "2025-06-01T09:00:00Z" });
395
+ * const result = await client.schedules.createEntry(123, { summary: "example", startsAt: "example", endsAt: "example" });
309
396
  * ```
310
397
  */
311
398
  async createEntry(scheduleId: number, req: CreateEntryScheduleRequest): Promise<ScheduleEntry> {
@@ -339,6 +426,9 @@ export class SchedulesService extends BaseService {
339
426
  participant_ids: req.participantIds,
340
427
  all_day: req.allDay,
341
428
  notify: req.notify,
429
+ url: req.url,
430
+ highlighted: req.highlighted,
431
+ status: req.status,
342
432
  subscriptions: req.subscriptions,
343
433
  visible_to_clients: req.visibleToClients,
344
434
  },
@@ -41,6 +41,8 @@ export interface SearchSearchOptions extends PaginationOptions {
41
41
  * @deprecated prefer creator_ids[].
42
42
  */
43
43
  creatorId?: number;
44
+ /** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
45
+ page?: number;
44
46
  }
45
47
  /**
46
48
  * Service for Search operations.
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/generated/services/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D;qEACiE;IACjE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;oCACgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sBAAsB;IACtB,KAAK,CAAC,EAAE,aAAa,GAAG,cAAc,GAAG,cAAc,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACvF,qBAAqB;IACrB,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACG,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAkB/G;;;;;;;;OAQG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,CAAC;CAcrF"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/generated/services/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D;qEACiE;IACjE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;oCACgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sBAAsB;IACtB,KAAK,CAAC,EAAE,aAAa,GAAG,cAAc,GAAG,cAAc,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACvF,qBAAqB;IACrB,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAOD;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACG,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAkB/G;;;;;;;;OAQG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,CAAC;CAcrF"}
@@ -30,7 +30,7 @@ export class SearchService extends BaseService {
30
30
  isMutation: false,
31
31
  }, () => this.client.GET("/search.json", {
32
32
  params: {
33
- query: { q: q, "type_names[]": options?.typeNames, "bucket_ids[]": options?.bucketIds, "creator_ids[]": options?.creatorIds, "file_type": options?.fileType, "exclude_chat": options?.excludeChat, since: options?.since, sort: options?.sort, type: options?.type, "bucket_id": options?.bucketId, "creator_id": options?.creatorId },
33
+ query: { q: q, "type_names[]": options?.typeNames, "bucket_ids[]": options?.bucketIds, "creator_ids[]": options?.creatorIds, "file_type": options?.fileType, "exclude_chat": options?.excludeChat, since: options?.since, sort: options?.sort, type: options?.type, "bucket_id": options?.bucketId, "creator_id": options?.creatorId, page: options?.page },
34
34
  },
35
35
  }), options);
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/generated/services/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAgDrD,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,CAAC,CAAS,EAAE,OAA6B;QACnD,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;YAC9B,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE;aACvU;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,mBAAmB;YAC9B,YAAY,EAAE,iBAAiB;YAC/B,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAC1C,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/generated/services/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAkDrD,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,CAAC,CAAS,EAAE,OAA6B;QACnD,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;YAC9B,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;aAC5V;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,mBAAmB;YAC9B,YAAY,EAAE,iBAAiB;YAC/B,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAC1C,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -49,6 +49,8 @@ endpoint's `file_search_types`. */
49
49
  * @deprecated prefer creator_ids[].
50
50
  */
51
51
  creatorId?: number;
52
+ /** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
53
+ page?: number;
52
54
  }
53
55
 
54
56
 
@@ -83,7 +85,7 @@ export class SearchService extends BaseService {
83
85
  () =>
84
86
  this.client.GET("/search.json", {
85
87
  params: {
86
- query: { q: q, "type_names[]": options?.typeNames, "bucket_ids[]": options?.bucketIds, "creator_ids[]": options?.creatorIds, "file_type": options?.fileType, "exclude_chat": options?.excludeChat, since: options?.since, sort: options?.sort, type: options?.type, "bucket_id": options?.bucketId, "creator_id": options?.creatorId },
88
+ query: { q: q, "type_names[]": options?.typeNames, "bucket_ids[]": options?.bucketIds, "creator_ids[]": options?.creatorIds, "file_type": options?.fileType, "exclude_chat": options?.excludeChat, since: options?.since, sort: options?.sort, type: options?.type, "bucket_id": options?.bucketId, "creator_id": options?.creatorId, page: options?.page },
87
89
  },
88
90
  })
89
91
  , options
@@ -15,6 +15,8 @@ export type Template = components["schemas"]["Template"];
15
15
  export interface ListTemplateOptions extends PaginationOptions {
16
16
  /** Filter by status */
17
17
  status?: "active" | "archived" | "trashed";
18
+ /** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
19
+ page?: number;
18
20
  }
19
21
  /**
20
22
  * Request parameters for create.
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/generated/services/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,6CAA6C;AAC7C,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,cAAc;IACd,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,CAAC;CACjE;AAOD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAE/C;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAkBxE;;;;;;;;;;OAUG;IACG,MAAM,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsB3D;;;;;;;;;;OAUG;IACG,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmBhD;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuB/E;;;;;;;;;;OAUG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,0CAA0C,CAAC,CAAC;IAyBtJ;;;;;;;;;;;OAWG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,uCAAuC,CAAC,CAAC;CAkB3I"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/generated/services/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,6CAA6C;AAC7C,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,cAAc;IACd,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,CAAC;CACjE;AAOD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAE/C;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAkBxE;;;;;;;;;;OAUG;IACG,MAAM,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsB3D;;;;;;;;;;OAUG;IACG,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmBhD;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuB/E;;;;;;;;;;OAUG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,0CAA0C,CAAC,CAAC;IAyBtJ;;;;;;;;;;;OAWG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,uCAAuC,CAAC,CAAC;CAkB3I"}
@@ -33,7 +33,7 @@ export class TemplatesService extends BaseService {
33
33
  isMutation: false,
34
34
  }, () => this.client.GET("/templates.json", {
35
35
  params: {
36
- query: { status: options?.status },
36
+ query: { status: options?.status, page: options?.page },
37
37
  },
38
38
  }), options);
39
39
  }