@37signals/basecamp 0.25.0 → 0.27.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 (67) hide show
  1. package/README.md +2 -0
  2. package/dist/client.d.ts +7 -2
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +7 -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 +72 -1
  8. package/dist/generated/metadata.js.map +1 -1
  9. package/dist/generated/metadata.ts +72 -1
  10. package/dist/generated/openapi-stripped.json +766 -20
  11. package/dist/generated/path-mapping.d.ts.map +1 -1
  12. package/dist/generated/path-mapping.js +6 -0
  13. package/dist/generated/path-mapping.js.map +1 -1
  14. package/dist/generated/path-mapping.ts +6 -0
  15. package/dist/generated/person-id-sites.d.ts.map +1 -1
  16. package/dist/generated/person-id-sites.js +12 -0
  17. package/dist/generated/person-id-sites.js.map +1 -1
  18. package/dist/generated/person-id-sites.ts +12 -0
  19. package/dist/generated/schema.d.ts +707 -40
  20. package/dist/generated/services/boosts.d.ts +20 -0
  21. package/dist/generated/services/boosts.d.ts.map +1 -1
  22. package/dist/generated/services/boosts.js +32 -0
  23. package/dist/generated/services/boosts.js.map +1 -1
  24. package/dist/generated/services/boosts.ts +45 -0
  25. package/dist/generated/services/cards.d.ts +3 -2
  26. package/dist/generated/services/cards.d.ts.map +1 -1
  27. package/dist/generated/services/cards.js +1 -1
  28. package/dist/generated/services/cards.js.map +1 -1
  29. package/dist/generated/services/cards.ts +3 -2
  30. package/dist/generated/services/embeds.d.ts +44 -0
  31. package/dist/generated/services/embeds.d.ts.map +1 -0
  32. package/dist/generated/services/embeds.js +67 -0
  33. package/dist/generated/services/embeds.js.map +1 -0
  34. package/dist/generated/services/embeds.ts +94 -0
  35. package/dist/generated/services/index.d.ts +2 -0
  36. package/dist/generated/services/index.d.ts.map +1 -1
  37. package/dist/generated/services/index.js +2 -0
  38. package/dist/generated/services/index.js.map +1 -1
  39. package/dist/generated/services/index.ts +2 -0
  40. package/dist/generated/services/pings.d.ts +59 -0
  41. package/dist/generated/services/pings.d.ts.map +1 -0
  42. package/dist/generated/services/pings.js +89 -0
  43. package/dist/generated/services/pings.js.map +1 -0
  44. package/dist/generated/services/pings.ts +125 -0
  45. package/dist/generated/services/wormholes.d.ts +3 -3
  46. package/dist/generated/services/wormholes.js +3 -3
  47. package/dist/generated/services/wormholes.ts +3 -3
  48. package/dist/index.d.ts +3 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +3 -0
  51. package/dist/index.js.map +1 -1
  52. package/dist/services/recordings-extensions.d.ts +8 -7
  53. package/dist/services/recordings-extensions.d.ts.map +1 -1
  54. package/dist/services/recordings-extensions.js +63 -18
  55. package/dist/services/recordings-extensions.js.map +1 -1
  56. package/package.json +1 -1
  57. package/src/generated/metadata.ts +72 -1
  58. package/src/generated/openapi-stripped.json +766 -20
  59. package/src/generated/path-mapping.ts +6 -0
  60. package/src/generated/person-id-sites.ts +12 -0
  61. package/src/generated/schema.d.ts +707 -40
  62. package/src/generated/services/boosts.ts +45 -0
  63. package/src/generated/services/cards.ts +3 -2
  64. package/src/generated/services/embeds.ts +94 -0
  65. package/src/generated/services/index.ts +2 -0
  66. package/src/generated/services/pings.ts +125 -0
  67. package/src/generated/services/wormholes.ts +3 -3
@@ -86,7 +86,14 @@ export interface paths {
86
86
  };
87
87
  /** @description Get a single boost */
88
88
  get: operations["GetBoost"];
89
- put?: never;
89
+ /**
90
+ * @description Replace the content of a boost. Only the boost's creator may update it: an
91
+ * admin updating someone else's boost gets 403 Forbidden, as does any caller
92
+ * when comments are closed on the boosted recording. A boost on a deleted
93
+ * recording, or in another account, answers 404. A missing or invalid
94
+ * `content` answers a bodiless 422. There is no bucket-scoped route.
95
+ */
96
+ put: operations["UpdateBoost"];
90
97
  post?: never;
91
98
  /** @description Delete a boost */
92
99
  delete: operations["DeleteBoost"];
@@ -138,10 +145,14 @@ export interface paths {
138
145
  cookie?: never;
139
146
  };
140
147
  get?: never;
141
- /** @description Update a wormhole's destination column */
148
+ /** @description Point a card table's wormhole, its shortcut for sending cards to another card table, at a different destination column */
142
149
  put: operations["UpdateWormhole"];
143
150
  post?: never;
144
- /** @description Delete a wormhole */
151
+ /**
152
+ * @description Permanently delete a card table's wormhole, the shortcut that sends cards to another card table.
153
+ *
154
+ * It does not go to the trash and cannot be restored.
155
+ */
145
156
  delete: operations["DeleteWormhole"];
146
157
  options?: never;
147
158
  head?: never;
@@ -158,10 +169,12 @@ export interface paths {
158
169
  get?: never;
159
170
  put?: never;
160
171
  /**
161
- * @description Create a wormhole linking this card table to a column on another card table.
172
+ * @description Add a wormhole to a card table: a standing shortcut that sends cards to a column on another card table, usually in another project.
162
173
  *
163
174
  * A wormhole is the only mechanism for moving a card to a different project: its
164
- * id is a valid `column_id` for MoveCard, teleporting the card across projects.
175
+ * id is a valid `column_id` for MoveCard, teleporting the card there. It is not
176
+ * needed for a one-off move within a project; MoveCard goes to any column there
177
+ * directly. A card table holds at most four wormholes.
165
178
  * `destinationRecordingId` is the id of a column on another accessible card table.
166
179
  */
167
180
  post: operations["CreateWormhole"];
@@ -533,7 +546,18 @@ export interface paths {
533
546
  };
534
547
  get?: never;
535
548
  put?: never;
536
- /** @description Move a card to a different column */
549
+ /**
550
+ * @description Move a card to any column in its project, including on another card table there, or through a linked wormhole to another project (queued: the card gets a new id, and position, if sent, must still be positive but doesn't set placement).
551
+ *
552
+ * `column_id` may be any column in the card's project, including a column on
553
+ * another card table in the same project; the card moves there directly, with
554
+ * no wormhole needed. To send the card to another project, pass the id of a
555
+ * linked wormhole (`linked: true`) the card table already has, listed in
556
+ * GetCardTable's `wormholes`; an unlinked or unreachable one returns not found.
557
+ * A move through a wormhole is queued: the card arrives under a new id and its
558
+ * old id then returns not found. `position` does not control where it lands,
559
+ * but if supplied it must still be a positive integer.
560
+ */
537
561
  post: operations["MoveCard"];
538
562
  delete?: never;
539
563
  options?: never;
@@ -960,6 +984,44 @@ export interface paths {
960
984
  patch?: never;
961
985
  trace?: never;
962
986
  };
987
+ "/circles.json": {
988
+ parameters: {
989
+ query?: never;
990
+ header?: never;
991
+ path?: never;
992
+ cookie?: never;
993
+ };
994
+ /**
995
+ * @description Get Pings: the caller's active Pings that have a line in them, most
996
+ * recently updated first, in one unpaginated response. Archived Pings, and
997
+ * Pings no one has posted in yet, are not listed; GetPing reads either by id.
998
+ *
999
+ * Answers `403 Forbidden` (`{"error": "Pings have been disabled"}`) when the
1000
+ * caller cannot ping.
1001
+ */
1002
+ get: operations["ListPings"];
1003
+ put?: never;
1004
+ /**
1005
+ * @description Create a Ping with people, or return the one that already holds exactly
1006
+ * them.
1007
+ *
1008
+ * The caller is always included. Without `new_group`, an existing active
1009
+ * Ping with exactly these people (the oldest, if several) is returned rather
1010
+ * than a second one created; with `new_group: true` and more than one other
1011
+ * person, a new group is created every time. Either way the answer is
1012
+ * `201 Created` with the Ping.
1013
+ *
1014
+ * Answers `403 Forbidden` (`{"error": "Pings have been disabled"}`) when the
1015
+ * caller cannot ping, and a bodiless `422` when nobody in the Ping would be a
1016
+ * person who can ping.
1017
+ */
1018
+ post: operations["CreatePing"];
1019
+ delete?: never;
1020
+ options?: never;
1021
+ head?: never;
1022
+ patch?: never;
1023
+ trace?: never;
1024
+ };
963
1025
  "/circles/people.json": {
964
1026
  parameters: {
965
1027
  query?: never;
@@ -982,6 +1044,29 @@ export interface paths {
982
1044
  patch?: never;
983
1045
  trace?: never;
984
1046
  };
1047
+ "/circles/{pingId}": {
1048
+ parameters: {
1049
+ query?: never;
1050
+ header?: never;
1051
+ path?: never;
1052
+ cookie?: never;
1053
+ };
1054
+ /**
1055
+ * @description Get a Ping by its id, which is its bucket's id.
1056
+ *
1057
+ * Answers `403 Forbidden` (`{"error": "Pings have been disabled"}`) when the
1058
+ * caller cannot ping, and `404 Not Found` for a bucket that is not a Ping the
1059
+ * caller is in.
1060
+ */
1061
+ get: operations["GetPing"];
1062
+ put?: never;
1063
+ post?: never;
1064
+ delete?: never;
1065
+ options?: never;
1066
+ head?: never;
1067
+ patch?: never;
1068
+ trace?: never;
1069
+ };
985
1070
  "/client/approvals/{approvalId}": {
986
1071
  parameters: {
987
1072
  query?: never;
@@ -1146,6 +1231,58 @@ export interface paths {
1146
1231
  patch?: never;
1147
1232
  trace?: never;
1148
1233
  };
1234
+ "/embeds.json": {
1235
+ parameters: {
1236
+ query?: never;
1237
+ header?: never;
1238
+ path?: never;
1239
+ cookie?: never;
1240
+ };
1241
+ get?: never;
1242
+ put?: never;
1243
+ /**
1244
+ * @description Create an embed for a URL, or return the one Basecamp already has for it.
1245
+ *
1246
+ * Answers `200 OK` with the embed either way. A new embed's status is
1247
+ * `pending`; get it about once a second until its status is `active` or
1248
+ * `not_found`.
1249
+ *
1250
+ * Answers `422` (`{"error": "Basecamp can't embed this URL. Link to it
1251
+ * instead."}`) for a URL no provider embeds. Past 100 new embeds in an hour,
1252
+ * creating another answers `429` (`{"error": "Too many new embeds. Try again
1253
+ * later."}`) with no Retry-After; asking for an embed Basecamp already has
1254
+ * still works. That 429 is a verdict for the rest of the hour, not
1255
+ * throttling, so this operation declares `retryOn: [503]` and the 429
1256
+ * surfaces on the first attempt.
1257
+ */
1258
+ post: operations["CreateEmbed"];
1259
+ delete?: never;
1260
+ options?: never;
1261
+ head?: never;
1262
+ patch?: never;
1263
+ trace?: never;
1264
+ };
1265
+ "/embeds/{sgid}": {
1266
+ parameters: {
1267
+ query?: never;
1268
+ header?: never;
1269
+ path?: never;
1270
+ cookie?: never;
1271
+ };
1272
+ /**
1273
+ * @description Get an embed by its sgid.
1274
+ *
1275
+ * Answers `404 Not Found` for an sgid that does not name an embed.
1276
+ */
1277
+ get: operations["GetEmbed"];
1278
+ put?: never;
1279
+ post?: never;
1280
+ delete?: never;
1281
+ options?: never;
1282
+ head?: never;
1283
+ patch?: never;
1284
+ trace?: never;
1285
+ };
1149
1286
  "/events.json": {
1150
1287
  parameters: {
1151
1288
  query?: never;
@@ -2180,7 +2317,7 @@ export interface paths {
2180
2317
  * and re-asking cannot change the answer, so this operation declares
2181
2318
  * `retryOn: [503]` and a 429 surfaces on the first attempt (status-mapped to
2182
2319
  * `rate_limit`, since the wire status is the only signal). Every other
2183
- * operation retries on 429.
2320
+ * operation but CreateEmbed retries on 429.
2184
2321
  */
2185
2322
  put: operations["UpdateProjectClientAccess"];
2186
2323
  post?: never;
@@ -4260,6 +4397,13 @@ export interface components {
4260
4397
  creator: components["schemas"]["Person"];
4261
4398
  subscribers?: components["schemas"]["Person"][];
4262
4399
  lists?: components["schemas"]["CardColumn"][];
4400
+ /**
4401
+ * @description The card table's wormholes: shortcuts for sending cards to other card
4402
+ * tables, usually in other projects. Only wormholes whose destination the
4403
+ * requester can reach are listed; the rest are omitted, not shown unlinked.
4404
+ * Not needed to move a card within its project; MoveCard reaches any column
4405
+ * there directly.
4406
+ */
4263
4407
  wormholes?: components["schemas"]["Wormhole"][];
4264
4408
  };
4265
4409
  Chatbot: {
@@ -4576,6 +4720,11 @@ export interface components {
4576
4720
  visible_to_clients?: boolean;
4577
4721
  };
4578
4722
  CreateDocumentResponseContent: components["schemas"]["Document"];
4723
+ CreateEmbedRequestContent: {
4724
+ /** @description The URL of the content to embed. */
4725
+ url: string;
4726
+ };
4727
+ CreateEmbedResponseContent: components["schemas"]["Embed"];
4579
4728
  CreateEventBoostRequestContent: {
4580
4729
  content: string;
4581
4730
  };
@@ -4660,6 +4809,16 @@ export interface components {
4660
4809
  /** Format: password */
4661
4810
  company_name?: string;
4662
4811
  };
4812
+ CreatePingRequestContent: {
4813
+ /**
4814
+ * @description Person ids of the people to ping. People the caller cannot reach are
4815
+ * dropped.
4816
+ */
4817
+ user_ids: number[];
4818
+ /** @description Create a new group even when a Ping with exactly these people exists. */
4819
+ new_group?: boolean;
4820
+ };
4821
+ CreatePingResponseContent: components["schemas"]["Ping"];
4663
4822
  CreateProjectFromTemplateRequestContent: {
4664
4823
  project: components["schemas"]["ProjectConstructionAttributes"];
4665
4824
  };
@@ -5023,6 +5182,39 @@ export interface components {
5023
5182
  title: string;
5024
5183
  app_url: string;
5025
5184
  };
5185
+ /**
5186
+ * @description Content from another site, such as a YouTube video, that rich text shows
5187
+ * inline. Put it in rich text as `<bc-attachment sgid="SGID"></bc-attachment>`
5188
+ * once its status is `active`; an embed that is not active shows as a link to
5189
+ * its URL.
5190
+ */
5191
+ Embed: {
5192
+ url: string;
5193
+ /**
5194
+ * @description `pending` while Basecamp asks the provider about the URL, then `active`,
5195
+ * or `not_found` when the provider has nothing to embed.
5196
+ */
5197
+ status: string;
5198
+ /** @description An embed's signed global id, an opaque string. */
5199
+ sgid: string;
5200
+ /**
5201
+ * @description The provider's oEmbed type, such as `video`, `rich` or `photo`. Present
5202
+ * only when the embed is active.
5203
+ */
5204
+ type?: string;
5205
+ /** @description Such as `embed/youtube-video`. Present only when the embed is active. */
5206
+ content_type?: string;
5207
+ /**
5208
+ * @description Present only when the embed is active, and null when the provider gave no
5209
+ * image.
5210
+ */
5211
+ image_url?: string | null;
5212
+ /**
5213
+ * @description The provider's HTML, sanitized. Present only when the embed is active and
5214
+ * the provider gave HTML; may be empty.
5215
+ */
5216
+ content?: string;
5217
+ };
5026
5218
  EnableCardColumnOnHoldResponseContent: components["schemas"]["CardColumn"];
5027
5219
  EnableOutOfOfficeRequestContent: {
5028
5220
  out_of_office: components["schemas"]["OutOfOfficePayload"];
@@ -5503,6 +5695,7 @@ export interface components {
5503
5695
  GetCloudFileResponseContent: components["schemas"]["CloudFile"];
5504
5696
  GetCommentResponseContent: components["schemas"]["Comment"];
5505
5697
  GetDocumentResponseContent: components["schemas"]["Document"];
5698
+ GetEmbedResponseContent: components["schemas"]["Embed"];
5506
5699
  GetEverythingCheckinsResponseContent: components["schemas"]["Recording"][];
5507
5700
  GetEverythingCommentsResponseContent: components["schemas"]["Recording"][];
5508
5701
  GetEverythingCompletedCardsResponseContent: components["schemas"]["BucketCardsGroup"][];
@@ -5585,6 +5778,7 @@ export interface components {
5585
5778
  events: components["schemas"]["TimelineEvent"][];
5586
5779
  };
5587
5780
  GetPersonResponseContent: components["schemas"]["Person"];
5781
+ GetPingResponseContent: components["schemas"]["Ping"];
5588
5782
  GetProgressReportResponseContent: components["schemas"]["TimelineEvent"][];
5589
5783
  GetProjectConstructionResponseContent: components["schemas"]["ProjectConstruction"];
5590
5784
  GetProjectResponseContent: components["schemas"]["Project"];
@@ -5779,6 +5973,7 @@ export interface components {
5779
5973
  ListMyDraftsResponseContent: components["schemas"]["Draft"][];
5780
5974
  ListPeopleResponseContent: components["schemas"]["Person"][];
5781
5975
  ListPingablePeopleResponseContent: components["schemas"]["Person"][];
5976
+ ListPingsResponseContent: components["schemas"]["Ping"][];
5782
5977
  ListProjectPeopleResponseContent: components["schemas"]["Person"][];
5783
5978
  ListProjectsResponseContent: components["schemas"]["Project"][];
5784
5979
  ListQuestionAnswerersResponseContent: components["schemas"]["Person"][];
@@ -5882,7 +6077,11 @@ export interface components {
5882
6077
  position?: number;
5883
6078
  };
5884
6079
  MoveCardRequestContent: {
5885
- /** Format: int64 */
6080
+ /**
6081
+ * Format: int64
6082
+ * @description Any column in the card's project, on this or another card table, or a
6083
+ * wormhole id to send the card to another project.
6084
+ */
5886
6085
  column_id: number;
5887
6086
  /**
5888
6087
  * Format: int32
@@ -6122,6 +6321,59 @@ export interface components {
6122
6321
  /** Format: password */
6123
6322
  name: string;
6124
6323
  };
6324
+ /**
6325
+ * @description A Ping: a private conversation between people, held in its own bucket with
6326
+ * one Campfire. The Campfire's lines are read and written through the
6327
+ * Campfires service; `room_url` and `links.lines` name it.
6328
+ */
6329
+ Ping: {
6330
+ /**
6331
+ * Format: int64
6332
+ * @description The Ping's id, which is also its bucket's id.
6333
+ */
6334
+ id: number;
6335
+ created_at: string;
6336
+ updated_at: string;
6337
+ /**
6338
+ * @description The Ping's name for the caller: its given name when `named`, else the
6339
+ * names of the other people in it.
6340
+ */
6341
+ title: string;
6342
+ /** @description Whether someone gave the Ping a name. */
6343
+ named: boolean;
6344
+ /** @description The Ping's own image, present only when one was uploaded. */
6345
+ image_url?: string;
6346
+ /** Format: password */
6347
+ avatar_url: string;
6348
+ url: string;
6349
+ app_url: string;
6350
+ bookmark_url: string;
6351
+ /** @description The Ping's Campfire (`/buckets/{bucketId}/chats/{campfireId}.json`). */
6352
+ room_url: string;
6353
+ /**
6354
+ * @description Present only when the Ping can be renamed: one with more than one other
6355
+ * person in it.
6356
+ */
6357
+ edit_title_url?: string;
6358
+ links: components["schemas"]["PingLinks"];
6359
+ /**
6360
+ * @description The people in the Ping other than the caller; the caller alone when
6361
+ * nobody else is in it.
6362
+ */
6363
+ people: components["schemas"]["Person"][];
6364
+ };
6365
+ /**
6366
+ * @description The Ping's Campfire endpoints, so a client need not derive them from
6367
+ * `room_url`. The wire object also repeats `url`, `app_url`, `bookmark_url`
6368
+ * and `edit_title_url` as `self`, `app`, `bookmark` and `edit_title`; those
6369
+ * are read from the Ping's own fields.
6370
+ */
6371
+ PingLinks: {
6372
+ /** @description The Campfire's lines (`/buckets/{bucketId}/chats/{campfireId}/lines.json`). */
6373
+ lines: string;
6374
+ /** @description The Campfire's uploads. */
6375
+ files: string;
6376
+ };
6125
6377
  /**
6126
6378
  * @description The poll envelope. Every 200 carries `events` and `position`; `next` only
6127
6379
  * while the walk continues.
@@ -7886,6 +8138,10 @@ export interface components {
7886
8138
  name: string;
7887
8139
  };
7888
8140
  UpdateAccountNameResponseContent: components["schemas"]["Account"];
8141
+ UpdateBoostRequestContent: {
8142
+ content: string;
8143
+ };
8144
+ UpdateBoostResponseContent: components["schemas"]["Boost"];
7889
8145
  UpdateCalendarRequestContent: {
7890
8146
  calendar: components["schemas"]["CalendarAttributes"];
7891
8147
  };
@@ -8304,8 +8560,9 @@ export interface components {
8304
8560
  message?: string;
8305
8561
  };
8306
8562
  /**
8307
- * @description A wormhole links this card table to a column on another card table, enabling
8308
- * cards to move across projects. It carries the full recording representation
8563
+ * @description A wormhole is a standing shortcut from this card table to a column on another
8564
+ * card table, usually in another project, and the only way to move a card across
8565
+ * projects. It carries the full recording representation
8309
8566
  * plus the destination-linkage fields. The wormhole's own `url`/`app_url`/`parent`
8310
8567
  * point at the *source* board; `destination_url` is the only field identifying
8311
8568
  * the destination column.
@@ -8741,6 +8998,75 @@ export interface operations {
8741
8998
  };
8742
8999
  };
8743
9000
  };
9001
+ UpdateBoost: {
9002
+ parameters: {
9003
+ query?: never;
9004
+ header?: never;
9005
+ path: {
9006
+ boostId: number;
9007
+ };
9008
+ cookie?: never;
9009
+ };
9010
+ requestBody: {
9011
+ content: {
9012
+ "application/json": components["schemas"]["UpdateBoostRequestContent"];
9013
+ };
9014
+ };
9015
+ responses: {
9016
+ /** @description UpdateBoost 200 response */
9017
+ 200: {
9018
+ headers: {
9019
+ [name: string]: unknown;
9020
+ };
9021
+ content: {
9022
+ "application/json": components["schemas"]["UpdateBoostResponseContent"];
9023
+ };
9024
+ };
9025
+ /** @description UnauthorizedError 401 response */
9026
+ 401: {
9027
+ headers: {
9028
+ [name: string]: unknown;
9029
+ };
9030
+ content: {
9031
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
9032
+ };
9033
+ };
9034
+ /** @description ForbiddenError 403 response */
9035
+ 403: {
9036
+ headers: {
9037
+ [name: string]: unknown;
9038
+ };
9039
+ content: {
9040
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
9041
+ };
9042
+ };
9043
+ /** @description NotFoundError 404 response */
9044
+ 404: {
9045
+ headers: {
9046
+ [name: string]: unknown;
9047
+ };
9048
+ content: {
9049
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
9050
+ };
9051
+ };
9052
+ /** @description BareValidationError 422 response */
9053
+ 422: {
9054
+ headers: {
9055
+ [name: string]: unknown;
9056
+ };
9057
+ content?: never;
9058
+ };
9059
+ /** @description InternalServerError 500 response */
9060
+ 500: {
9061
+ headers: {
9062
+ [name: string]: unknown;
9063
+ };
9064
+ content: {
9065
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
9066
+ };
9067
+ };
9068
+ };
9069
+ };
8744
9070
  DeleteBoost: {
8745
9071
  parameters: {
8746
9072
  query?: never;
@@ -13005,7 +13331,7 @@ export interface operations {
13005
13331
  };
13006
13332
  };
13007
13333
  };
13008
- ListPingablePeople: {
13334
+ ListPings: {
13009
13335
  parameters: {
13010
13336
  query?: never;
13011
13337
  header?: never;
@@ -13014,13 +13340,13 @@ export interface operations {
13014
13340
  };
13015
13341
  requestBody?: never;
13016
13342
  responses: {
13017
- /** @description ListPingablePeople 200 response */
13343
+ /** @description ListPings 200 response */
13018
13344
  200: {
13019
13345
  headers: {
13020
13346
  [name: string]: unknown;
13021
13347
  };
13022
13348
  content: {
13023
- "application/json": components["schemas"]["ListPingablePeopleResponseContent"];
13349
+ "application/json": components["schemas"]["ListPingsResponseContent"];
13024
13350
  };
13025
13351
  };
13026
13352
  /** @description UnauthorizedError 401 response */
@@ -13061,24 +13387,26 @@ export interface operations {
13061
13387
  };
13062
13388
  };
13063
13389
  };
13064
- GetClientApproval: {
13390
+ CreatePing: {
13065
13391
  parameters: {
13066
13392
  query?: never;
13067
13393
  header?: never;
13068
- path: {
13069
- approvalId: number;
13070
- };
13394
+ path?: never;
13071
13395
  cookie?: never;
13072
13396
  };
13073
- requestBody?: never;
13397
+ requestBody: {
13398
+ content: {
13399
+ "application/json": components["schemas"]["CreatePingRequestContent"];
13400
+ };
13401
+ };
13074
13402
  responses: {
13075
- /** @description GetClientApproval 200 response */
13076
- 200: {
13403
+ /** @description CreatePing 201 response */
13404
+ 201: {
13077
13405
  headers: {
13078
13406
  [name: string]: unknown;
13079
13407
  };
13080
13408
  content: {
13081
- "application/json": components["schemas"]["GetClientApprovalResponseContent"];
13409
+ "application/json": components["schemas"]["CreatePingResponseContent"];
13082
13410
  };
13083
13411
  };
13084
13412
  /** @description UnauthorizedError 401 response */
@@ -13099,13 +13427,20 @@ export interface operations {
13099
13427
  "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
13100
13428
  };
13101
13429
  };
13102
- /** @description NotFoundError 404 response */
13103
- 404: {
13430
+ /** @description BareValidationError 422 response */
13431
+ 422: {
13432
+ headers: {
13433
+ [name: string]: unknown;
13434
+ };
13435
+ content?: never;
13436
+ };
13437
+ /** @description RateLimitError 429 response */
13438
+ 429: {
13104
13439
  headers: {
13105
13440
  [name: string]: unknown;
13106
13441
  };
13107
13442
  content: {
13108
- "application/json": components["schemas"]["NotFoundErrorResponseContent"];
13443
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
13109
13444
  };
13110
13445
  };
13111
13446
  /** @description InternalServerError 500 response */
@@ -13119,24 +13454,22 @@ export interface operations {
13119
13454
  };
13120
13455
  };
13121
13456
  };
13122
- GetClientCorrespondence: {
13457
+ ListPingablePeople: {
13123
13458
  parameters: {
13124
13459
  query?: never;
13125
13460
  header?: never;
13126
- path: {
13127
- correspondenceId: number;
13128
- };
13461
+ path?: never;
13129
13462
  cookie?: never;
13130
13463
  };
13131
13464
  requestBody?: never;
13132
13465
  responses: {
13133
- /** @description GetClientCorrespondence 200 response */
13466
+ /** @description ListPingablePeople 200 response */
13134
13467
  200: {
13135
13468
  headers: {
13136
13469
  [name: string]: unknown;
13137
13470
  };
13138
13471
  content: {
13139
- "application/json": components["schemas"]["GetClientCorrespondenceResponseContent"];
13472
+ "application/json": components["schemas"]["ListPingablePeopleResponseContent"];
13140
13473
  };
13141
13474
  };
13142
13475
  /** @description UnauthorizedError 401 response */
@@ -13157,13 +13490,13 @@ export interface operations {
13157
13490
  "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
13158
13491
  };
13159
13492
  };
13160
- /** @description NotFoundError 404 response */
13161
- 404: {
13493
+ /** @description RateLimitError 429 response */
13494
+ 429: {
13162
13495
  headers: {
13163
13496
  [name: string]: unknown;
13164
13497
  };
13165
13498
  content: {
13166
- "application/json": components["schemas"]["NotFoundErrorResponseContent"];
13499
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
13167
13500
  };
13168
13501
  };
13169
13502
  /** @description InternalServerError 500 response */
@@ -13177,24 +13510,29 @@ export interface operations {
13177
13510
  };
13178
13511
  };
13179
13512
  };
13180
- GetCloudFile: {
13513
+ GetPing: {
13181
13514
  parameters: {
13182
13515
  query?: never;
13183
13516
  header?: never;
13184
13517
  path: {
13185
- cloudFileId: number;
13518
+ /**
13519
+ * @description A Ping's id is the id of the bucket that holds it (the bucket type is
13520
+ * "Circle", which is also the wire path), so the `bucket.id` a Ping's
13521
+ * recordings carry is the id GetPing takes.
13522
+ */
13523
+ pingId: number;
13186
13524
  };
13187
13525
  cookie?: never;
13188
13526
  };
13189
13527
  requestBody?: never;
13190
13528
  responses: {
13191
- /** @description GetCloudFile 200 response */
13529
+ /** @description GetPing 200 response */
13192
13530
  200: {
13193
13531
  headers: {
13194
13532
  [name: string]: unknown;
13195
13533
  };
13196
13534
  content: {
13197
- "application/json": components["schemas"]["GetCloudFileResponseContent"];
13535
+ "application/json": components["schemas"]["GetPingResponseContent"];
13198
13536
  };
13199
13537
  };
13200
13538
  /** @description UnauthorizedError 401 response */
@@ -13224,13 +13562,196 @@ export interface operations {
13224
13562
  "application/json": components["schemas"]["NotFoundErrorResponseContent"];
13225
13563
  };
13226
13564
  };
13227
- /** @description InternalServerError 500 response */
13228
- 500: {
13565
+ /** @description RateLimitError 429 response */
13566
+ 429: {
13229
13567
  headers: {
13230
13568
  [name: string]: unknown;
13231
13569
  };
13232
13570
  content: {
13233
- "application/json": components["schemas"]["InternalServerErrorResponseContent"];
13571
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
13572
+ };
13573
+ };
13574
+ /** @description InternalServerError 500 response */
13575
+ 500: {
13576
+ headers: {
13577
+ [name: string]: unknown;
13578
+ };
13579
+ content: {
13580
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
13581
+ };
13582
+ };
13583
+ };
13584
+ };
13585
+ GetClientApproval: {
13586
+ parameters: {
13587
+ query?: never;
13588
+ header?: never;
13589
+ path: {
13590
+ approvalId: number;
13591
+ };
13592
+ cookie?: never;
13593
+ };
13594
+ requestBody?: never;
13595
+ responses: {
13596
+ /** @description GetClientApproval 200 response */
13597
+ 200: {
13598
+ headers: {
13599
+ [name: string]: unknown;
13600
+ };
13601
+ content: {
13602
+ "application/json": components["schemas"]["GetClientApprovalResponseContent"];
13603
+ };
13604
+ };
13605
+ /** @description UnauthorizedError 401 response */
13606
+ 401: {
13607
+ headers: {
13608
+ [name: string]: unknown;
13609
+ };
13610
+ content: {
13611
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
13612
+ };
13613
+ };
13614
+ /** @description ForbiddenError 403 response */
13615
+ 403: {
13616
+ headers: {
13617
+ [name: string]: unknown;
13618
+ };
13619
+ content: {
13620
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
13621
+ };
13622
+ };
13623
+ /** @description NotFoundError 404 response */
13624
+ 404: {
13625
+ headers: {
13626
+ [name: string]: unknown;
13627
+ };
13628
+ content: {
13629
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
13630
+ };
13631
+ };
13632
+ /** @description InternalServerError 500 response */
13633
+ 500: {
13634
+ headers: {
13635
+ [name: string]: unknown;
13636
+ };
13637
+ content: {
13638
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
13639
+ };
13640
+ };
13641
+ };
13642
+ };
13643
+ GetClientCorrespondence: {
13644
+ parameters: {
13645
+ query?: never;
13646
+ header?: never;
13647
+ path: {
13648
+ correspondenceId: number;
13649
+ };
13650
+ cookie?: never;
13651
+ };
13652
+ requestBody?: never;
13653
+ responses: {
13654
+ /** @description GetClientCorrespondence 200 response */
13655
+ 200: {
13656
+ headers: {
13657
+ [name: string]: unknown;
13658
+ };
13659
+ content: {
13660
+ "application/json": components["schemas"]["GetClientCorrespondenceResponseContent"];
13661
+ };
13662
+ };
13663
+ /** @description UnauthorizedError 401 response */
13664
+ 401: {
13665
+ headers: {
13666
+ [name: string]: unknown;
13667
+ };
13668
+ content: {
13669
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
13670
+ };
13671
+ };
13672
+ /** @description ForbiddenError 403 response */
13673
+ 403: {
13674
+ headers: {
13675
+ [name: string]: unknown;
13676
+ };
13677
+ content: {
13678
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
13679
+ };
13680
+ };
13681
+ /** @description NotFoundError 404 response */
13682
+ 404: {
13683
+ headers: {
13684
+ [name: string]: unknown;
13685
+ };
13686
+ content: {
13687
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
13688
+ };
13689
+ };
13690
+ /** @description InternalServerError 500 response */
13691
+ 500: {
13692
+ headers: {
13693
+ [name: string]: unknown;
13694
+ };
13695
+ content: {
13696
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
13697
+ };
13698
+ };
13699
+ };
13700
+ };
13701
+ GetCloudFile: {
13702
+ parameters: {
13703
+ query?: never;
13704
+ header?: never;
13705
+ path: {
13706
+ cloudFileId: number;
13707
+ };
13708
+ cookie?: never;
13709
+ };
13710
+ requestBody?: never;
13711
+ responses: {
13712
+ /** @description GetCloudFile 200 response */
13713
+ 200: {
13714
+ headers: {
13715
+ [name: string]: unknown;
13716
+ };
13717
+ content: {
13718
+ "application/json": components["schemas"]["GetCloudFileResponseContent"];
13719
+ };
13720
+ };
13721
+ /** @description UnauthorizedError 401 response */
13722
+ 401: {
13723
+ headers: {
13724
+ [name: string]: unknown;
13725
+ };
13726
+ content: {
13727
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
13728
+ };
13729
+ };
13730
+ /** @description ForbiddenError 403 response */
13731
+ 403: {
13732
+ headers: {
13733
+ [name: string]: unknown;
13734
+ };
13735
+ content: {
13736
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
13737
+ };
13738
+ };
13739
+ /** @description NotFoundError 404 response */
13740
+ 404: {
13741
+ headers: {
13742
+ [name: string]: unknown;
13743
+ };
13744
+ content: {
13745
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
13746
+ };
13747
+ };
13748
+ /** @description InternalServerError 500 response */
13749
+ 500: {
13750
+ headers: {
13751
+ [name: string]: unknown;
13752
+ };
13753
+ content: {
13754
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
13234
13755
  };
13235
13756
  };
13236
13757
  };
@@ -13808,6 +14329,152 @@ export interface operations {
13808
14329
  };
13809
14330
  };
13810
14331
  };
14332
+ CreateEmbed: {
14333
+ parameters: {
14334
+ query?: never;
14335
+ header?: never;
14336
+ path?: never;
14337
+ cookie?: never;
14338
+ };
14339
+ requestBody: {
14340
+ content: {
14341
+ "application/json": components["schemas"]["CreateEmbedRequestContent"];
14342
+ };
14343
+ };
14344
+ responses: {
14345
+ /** @description CreateEmbed 200 response */
14346
+ 200: {
14347
+ headers: {
14348
+ [name: string]: unknown;
14349
+ };
14350
+ content: {
14351
+ "application/json": components["schemas"]["CreateEmbedResponseContent"];
14352
+ };
14353
+ };
14354
+ /** @description BadRequestError 400 response */
14355
+ 400: {
14356
+ headers: {
14357
+ [name: string]: unknown;
14358
+ };
14359
+ content: {
14360
+ "application/json": components["schemas"]["BadRequestErrorResponseContent"];
14361
+ };
14362
+ };
14363
+ /** @description UnauthorizedError 401 response */
14364
+ 401: {
14365
+ headers: {
14366
+ [name: string]: unknown;
14367
+ };
14368
+ content: {
14369
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
14370
+ };
14371
+ };
14372
+ /** @description ForbiddenError 403 response */
14373
+ 403: {
14374
+ headers: {
14375
+ [name: string]: unknown;
14376
+ };
14377
+ content: {
14378
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
14379
+ };
14380
+ };
14381
+ /** @description ValidationError 422 response */
14382
+ 422: {
14383
+ headers: {
14384
+ [name: string]: unknown;
14385
+ };
14386
+ content: {
14387
+ "application/json": components["schemas"]["ValidationErrorResponseContent"];
14388
+ };
14389
+ };
14390
+ /** @description RateLimitError 429 response */
14391
+ 429: {
14392
+ headers: {
14393
+ [name: string]: unknown;
14394
+ };
14395
+ content: {
14396
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
14397
+ };
14398
+ };
14399
+ /** @description InternalServerError 500 response */
14400
+ 500: {
14401
+ headers: {
14402
+ [name: string]: unknown;
14403
+ };
14404
+ content: {
14405
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
14406
+ };
14407
+ };
14408
+ };
14409
+ };
14410
+ GetEmbed: {
14411
+ parameters: {
14412
+ query?: never;
14413
+ header?: never;
14414
+ path: {
14415
+ /** @description An embed's signed global id, an opaque string. */
14416
+ sgid: string;
14417
+ };
14418
+ cookie?: never;
14419
+ };
14420
+ requestBody?: never;
14421
+ responses: {
14422
+ /** @description GetEmbed 200 response */
14423
+ 200: {
14424
+ headers: {
14425
+ [name: string]: unknown;
14426
+ };
14427
+ content: {
14428
+ "application/json": components["schemas"]["GetEmbedResponseContent"];
14429
+ };
14430
+ };
14431
+ /** @description UnauthorizedError 401 response */
14432
+ 401: {
14433
+ headers: {
14434
+ [name: string]: unknown;
14435
+ };
14436
+ content: {
14437
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
14438
+ };
14439
+ };
14440
+ /** @description ForbiddenError 403 response */
14441
+ 403: {
14442
+ headers: {
14443
+ [name: string]: unknown;
14444
+ };
14445
+ content: {
14446
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
14447
+ };
14448
+ };
14449
+ /** @description NotFoundError 404 response */
14450
+ 404: {
14451
+ headers: {
14452
+ [name: string]: unknown;
14453
+ };
14454
+ content: {
14455
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
14456
+ };
14457
+ };
14458
+ /** @description RateLimitError 429 response */
14459
+ 429: {
14460
+ headers: {
14461
+ [name: string]: unknown;
14462
+ };
14463
+ content: {
14464
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
14465
+ };
14466
+ };
14467
+ /** @description InternalServerError 500 response */
14468
+ 500: {
14469
+ headers: {
14470
+ [name: string]: unknown;
14471
+ };
14472
+ content: {
14473
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
14474
+ };
14475
+ };
14476
+ };
14477
+ };
13811
14478
  PollEvents: {
13812
14479
  parameters: {
13813
14480
  query?: {