@37signals/basecamp 0.24.0 → 0.26.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 (83) hide show
  1. package/README.md +1 -0
  2. package/dist/client.d.ts +5 -2
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +5 -2
  5. package/dist/client.js.map +1 -1
  6. package/dist/generated/metadata.d.ts.map +1 -1
  7. package/dist/generated/metadata.js +48 -1
  8. package/dist/generated/metadata.js.map +1 -1
  9. package/dist/generated/metadata.ts +48 -1
  10. package/dist/generated/openapi-stripped.json +541 -20
  11. package/dist/generated/path-mapping.d.ts.map +1 -1
  12. package/dist/generated/path-mapping.js +4 -0
  13. package/dist/generated/path-mapping.js.map +1 -1
  14. package/dist/generated/path-mapping.ts +4 -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 +482 -23
  20. package/dist/generated/services/boosts.d.ts +22 -2
  21. package/dist/generated/services/boosts.d.ts.map +1 -1
  22. package/dist/generated/services/boosts.js +34 -2
  23. package/dist/generated/services/boosts.js.map +1 -1
  24. package/dist/generated/services/boosts.ts +47 -2
  25. package/dist/generated/services/card-columns.d.ts +7 -4
  26. package/dist/generated/services/card-columns.d.ts.map +1 -1
  27. package/dist/generated/services/card-columns.js +1 -1
  28. package/dist/generated/services/card-columns.js.map +1 -1
  29. package/dist/generated/services/card-columns.ts +7 -4
  30. package/dist/generated/services/cards.d.ts +3 -2
  31. package/dist/generated/services/cards.d.ts.map +1 -1
  32. package/dist/generated/services/cards.js +1 -1
  33. package/dist/generated/services/cards.js.map +1 -1
  34. package/dist/generated/services/cards.ts +3 -2
  35. package/dist/generated/services/checkins.d.ts +2 -4
  36. package/dist/generated/services/checkins.d.ts.map +1 -1
  37. package/dist/generated/services/checkins.js +1 -2
  38. package/dist/generated/services/checkins.js.map +1 -1
  39. package/dist/generated/services/checkins.ts +2 -5
  40. package/dist/generated/services/index.d.ts +1 -0
  41. package/dist/generated/services/index.d.ts.map +1 -1
  42. package/dist/generated/services/index.js +1 -0
  43. package/dist/generated/services/index.js.map +1 -1
  44. package/dist/generated/services/index.ts +1 -0
  45. package/dist/generated/services/lineup.d.ts +8 -8
  46. package/dist/generated/services/lineup.d.ts.map +1 -1
  47. package/dist/generated/services/lineup.js +10 -8
  48. package/dist/generated/services/lineup.js.map +1 -1
  49. package/dist/generated/services/lineup.ts +12 -10
  50. package/dist/generated/services/my-notifications.d.ts +1 -1
  51. package/dist/generated/services/my-notifications.js +1 -1
  52. package/dist/generated/services/my-notifications.ts +1 -1
  53. package/dist/generated/services/pings.d.ts +59 -0
  54. package/dist/generated/services/pings.d.ts.map +1 -0
  55. package/dist/generated/services/pings.js +89 -0
  56. package/dist/generated/services/pings.js.map +1 -0
  57. package/dist/generated/services/pings.ts +125 -0
  58. package/dist/generated/services/wormholes.d.ts +3 -3
  59. package/dist/generated/services/wormholes.js +3 -3
  60. package/dist/generated/services/wormholes.ts +3 -3
  61. package/dist/index.d.ts +2 -1
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +2 -0
  64. package/dist/index.js.map +1 -1
  65. package/dist/services/recordings-extensions.d.ts +8 -7
  66. package/dist/services/recordings-extensions.d.ts.map +1 -1
  67. package/dist/services/recordings-extensions.js +63 -18
  68. package/dist/services/recordings-extensions.js.map +1 -1
  69. package/package.json +1 -1
  70. package/src/generated/metadata.ts +48 -1
  71. package/src/generated/openapi-stripped.json +541 -20
  72. package/src/generated/path-mapping.ts +4 -0
  73. package/src/generated/person-id-sites.ts +12 -0
  74. package/src/generated/schema.d.ts +482 -23
  75. package/src/generated/services/boosts.ts +47 -2
  76. package/src/generated/services/card-columns.ts +7 -4
  77. package/src/generated/services/cards.ts +3 -2
  78. package/src/generated/services/checkins.ts +2 -5
  79. package/src/generated/services/index.ts +1 -0
  80. package/src/generated/services/lineup.ts +12 -10
  81. package/src/generated/services/my-notifications.ts +1 -1
  82. package/src/generated/services/pings.ts +125 -0
  83. 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;
@@ -712,7 +736,7 @@ export interface paths {
712
736
  };
713
737
  get?: never;
714
738
  put?: never;
715
- /** @description Move a column within a card table */
739
+ /** @description Move a column to a slot within its card table. target_id is the card table's own id (the same as cardTableId), not a column; position is the 1-based slot among the columns, not counting Triage, Not Now or Done. */
716
740
  post: operations["MoveCardColumn"];
717
741
  delete?: never;
718
742
  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;
@@ -1464,7 +1549,7 @@ export interface paths {
1464
1549
  /** @description List all lineup markers for the account */
1465
1550
  get: operations["ListLineupMarkers"];
1466
1551
  put?: never;
1467
- /** @description Create a new lineup marker */
1552
+ /** @description Create a new lineup marker. Returns the created marker. */
1468
1553
  post: operations["CreateLineupMarker"];
1469
1554
  delete?: never;
1470
1555
  options?: never;
@@ -1480,7 +1565,7 @@ export interface paths {
1480
1565
  cookie?: never;
1481
1566
  };
1482
1567
  get?: never;
1483
- /** @description Update an existing lineup marker */
1568
+ /** @description Update an existing lineup marker. Returns the updated marker. */
1484
1569
  put: operations["UpdateLineupMarker"];
1485
1570
  post?: never;
1486
1571
  /** @description Delete a lineup marker */
@@ -1846,7 +1931,7 @@ export interface paths {
1846
1931
  cookie?: never;
1847
1932
  };
1848
1933
  /**
1849
- * @description Get the current user's notification inbox (the "Hey!" menu).
1934
+ * @description Get the current user's notifications (the "Hey!" menu in Basecamp 4).
1850
1935
  * Notifications are grouped into unreads, reads, bubble-ups, and
1851
1936
  * scheduled bubble-ups (`memories` remains as an always-empty
1852
1937
  * placeholder on BC5). Reads are paginated (50 per page). Unreads are
@@ -2372,7 +2457,7 @@ export interface paths {
2372
2457
  };
2373
2458
  /** @description Get a single question by id */
2374
2459
  get: operations["GetQuestion"];
2375
- /** @description Update an existing question */
2460
+ /** @description Update an existing question's title, schedule or both. A schedule replaces the whole schedule, so send every part of it: one without frequency or time_of_day is refused, and one without start_date re-anchors the recurrence on today. Pausing and resuming are PauseQuestion and ResumeQuestion. */
2376
2461
  put: operations["UpdateQuestion"];
2377
2462
  post?: never;
2378
2463
  delete?: never;
@@ -2649,10 +2734,10 @@ export interface paths {
2649
2734
  path?: never;
2650
2735
  cookie?: never;
2651
2736
  };
2652
- /** @description List boosts on a specific event within a recording */
2737
+ /** @description List boosts on a specific event within a recording. Only boostable events carry boosts: those whose action is completed, adopted, column_changed or moved_in (their JSON includes boosts_count and boosts_url). Any other event answers 403 Forbidden; an event on a recording the person cannot see answers 404. */
2653
2738
  get: operations["ListEventBoosts"];
2654
2739
  put?: never;
2655
- /** @description Create a boost on a specific event within a recording */
2740
+ /** @description Create a boost on a specific event within a recording. Only boostable events accept one: those whose action is completed, adopted, column_changed or moved_in (their JSON includes boosts_count and boosts_url). Any other event answers 403 Forbidden, as does an event on a recording whose comments are closed; an event on a recording the person cannot see answers 404. */
2656
2741
  post: operations["CreateEventBoost"];
2657
2742
  delete?: never;
2658
2743
  options?: never;
@@ -4260,6 +4345,13 @@ export interface components {
4260
4345
  creator: components["schemas"]["Person"];
4261
4346
  subscribers?: components["schemas"]["Person"][];
4262
4347
  lists?: components["schemas"]["CardColumn"][];
4348
+ /**
4349
+ * @description The card table's wormholes: shortcuts for sending cards to other card
4350
+ * tables, usually in other projects. Only wormholes whose destination the
4351
+ * requester can reach are listed; the rest are omitted, not shown unlinked.
4352
+ * Not needed to move a card within its project; MoveCard reaches any column
4353
+ * there directly.
4354
+ */
4263
4355
  wormholes?: components["schemas"]["Wormhole"][];
4264
4356
  };
4265
4357
  Chatbot: {
@@ -4633,6 +4725,7 @@ export interface components {
4633
4725
  name: string;
4634
4726
  date: string;
4635
4727
  };
4728
+ CreateLineupMarkerResponseContent: components["schemas"]["LineupMarker"];
4636
4729
  CreateMessageRequestContent: {
4637
4730
  subject: string;
4638
4731
  content?: string;
@@ -4659,6 +4752,16 @@ export interface components {
4659
4752
  /** Format: password */
4660
4753
  company_name?: string;
4661
4754
  };
4755
+ CreatePingRequestContent: {
4756
+ /**
4757
+ * @description Person ids of the people to ping. People the caller cannot reach are
4758
+ * dropped.
4759
+ */
4760
+ user_ids: number[];
4761
+ /** @description Create a new group even when a Ping with exactly these people exists. */
4762
+ new_group?: boolean;
4763
+ };
4764
+ CreatePingResponseContent: components["schemas"]["Ping"];
4662
4765
  CreateProjectFromTemplateRequestContent: {
4663
4766
  project: components["schemas"]["ProjectConstructionAttributes"];
4664
4767
  };
@@ -5038,8 +5141,14 @@ export interface components {
5038
5141
  created_at: string;
5039
5142
  creator: components["schemas"]["Person"];
5040
5143
  performed_by?: components["schemas"]["Person"];
5041
- /** Format: int32 */
5144
+ /**
5145
+ * Format: int32
5146
+ * @description Present only on boostable events (action completed, adopted,
5147
+ * column_changed or moved_in); the event boost operations refuse any
5148
+ * other event with 403.
5149
+ */
5042
5150
  boosts_count?: number;
5151
+ /** @description Present only on boostable events; see boosts_count. */
5043
5152
  boosts_url?: string;
5044
5153
  };
5045
5154
  EventDetails: {
@@ -5578,6 +5687,7 @@ export interface components {
5578
5687
  events: components["schemas"]["TimelineEvent"][];
5579
5688
  };
5580
5689
  GetPersonResponseContent: components["schemas"]["Person"];
5690
+ GetPingResponseContent: components["schemas"]["Ping"];
5581
5691
  GetProgressReportResponseContent: components["schemas"]["TimelineEvent"][];
5582
5692
  GetProjectConstructionResponseContent: components["schemas"]["ProjectConstruction"];
5583
5693
  GetProjectResponseContent: components["schemas"]["Project"];
@@ -5772,6 +5882,7 @@ export interface components {
5772
5882
  ListMyDraftsResponseContent: components["schemas"]["Draft"][];
5773
5883
  ListPeopleResponseContent: components["schemas"]["Person"][];
5774
5884
  ListPingablePeopleResponseContent: components["schemas"]["Person"][];
5885
+ ListPingsResponseContent: components["schemas"]["Ping"][];
5775
5886
  ListProjectPeopleResponseContent: components["schemas"]["Person"][];
5776
5887
  ListProjectsResponseContent: components["schemas"]["Project"][];
5777
5888
  ListQuestionAnswerersResponseContent: components["schemas"]["Person"][];
@@ -5855,15 +5966,31 @@ export interface components {
5855
5966
  updated_at: string;
5856
5967
  };
5857
5968
  MoveCardColumnRequestContent: {
5858
- /** Format: int64 */
5969
+ /**
5970
+ * Format: int64
5971
+ * @description The column to move.
5972
+ */
5859
5973
  source_id: number;
5860
- /** Format: int64 */
5974
+ /**
5975
+ * Format: int64
5976
+ * @description The card table the column moves within: the same id as `cardTableId`.
5977
+ * Basecamp refuses any other destination, a column included, with 422.
5978
+ */
5861
5979
  target_id: number;
5862
- /** Format: int32 */
5980
+ /**
5981
+ * Format: int32
5982
+ * @description 1-based slot among the card table's columns, not counting Triage,
5983
+ * Not Now or Done. 1 puts the column first; a slot past the last puts it
5984
+ * last. Default: 1.
5985
+ */
5863
5986
  position?: number;
5864
5987
  };
5865
5988
  MoveCardRequestContent: {
5866
- /** Format: int64 */
5989
+ /**
5990
+ * Format: int64
5991
+ * @description Any column in the card's project, on this or another card table, or a
5992
+ * wormhole id to send the card to another project.
5993
+ */
5867
5994
  column_id: number;
5868
5995
  /**
5869
5996
  * Format: int32
@@ -6103,6 +6230,59 @@ export interface components {
6103
6230
  /** Format: password */
6104
6231
  name: string;
6105
6232
  };
6233
+ /**
6234
+ * @description A Ping: a private conversation between people, held in its own bucket with
6235
+ * one Campfire. The Campfire's lines are read and written through the
6236
+ * Campfires service; `room_url` and `links.lines` name it.
6237
+ */
6238
+ Ping: {
6239
+ /**
6240
+ * Format: int64
6241
+ * @description The Ping's id, which is also its bucket's id.
6242
+ */
6243
+ id: number;
6244
+ created_at: string;
6245
+ updated_at: string;
6246
+ /**
6247
+ * @description The Ping's name for the caller: its given name when `named`, else the
6248
+ * names of the other people in it.
6249
+ */
6250
+ title: string;
6251
+ /** @description Whether someone gave the Ping a name. */
6252
+ named: boolean;
6253
+ /** @description The Ping's own image, present only when one was uploaded. */
6254
+ image_url?: string;
6255
+ /** Format: password */
6256
+ avatar_url: string;
6257
+ url: string;
6258
+ app_url: string;
6259
+ bookmark_url: string;
6260
+ /** @description The Ping's Campfire (`/buckets/{bucketId}/chats/{campfireId}.json`). */
6261
+ room_url: string;
6262
+ /**
6263
+ * @description Present only when the Ping can be renamed: one with more than one other
6264
+ * person in it.
6265
+ */
6266
+ edit_title_url?: string;
6267
+ links: components["schemas"]["PingLinks"];
6268
+ /**
6269
+ * @description The people in the Ping other than the caller; the caller alone when
6270
+ * nobody else is in it.
6271
+ */
6272
+ people: components["schemas"]["Person"][];
6273
+ };
6274
+ /**
6275
+ * @description The Ping's Campfire endpoints, so a client need not derive them from
6276
+ * `room_url`. The wire object also repeats `url`, `app_url`, `bookmark_url`
6277
+ * and `edit_title_url` as `self`, `app`, `bookmark` and `edit_title`; those
6278
+ * are read from the Ping's own fields.
6279
+ */
6280
+ PingLinks: {
6281
+ /** @description The Campfire's lines (`/buckets/{bucketId}/chats/{campfireId}/lines.json`). */
6282
+ lines: string;
6283
+ /** @description The Campfire's uploads. */
6284
+ files: string;
6285
+ };
6106
6286
  /**
6107
6287
  * @description The poll envelope. Every 200 carries `events` and `position`; `next` only
6108
6288
  * while the walk continues.
@@ -6194,6 +6374,11 @@ export interface components {
6194
6374
  start_date?: string;
6195
6375
  end_date?: string;
6196
6376
  clients_enabled?: boolean;
6377
+ /**
6378
+ * @description True when the project's timesheet is turned on. The project timesheet
6379
+ * report (GET /projects/{projectId}/timesheet.json) answers 404 until it is.
6380
+ */
6381
+ timesheet_enabled?: boolean;
6197
6382
  bookmark_url?: string;
6198
6383
  /** @description Bucket stars collection for this project (`/buckets/{id}/stars.json`). */
6199
6384
  star_url?: string;
@@ -7862,6 +8047,10 @@ export interface components {
7862
8047
  name: string;
7863
8048
  };
7864
8049
  UpdateAccountNameResponseContent: components["schemas"]["Account"];
8050
+ UpdateBoostRequestContent: {
8051
+ content: string;
8052
+ };
8053
+ UpdateBoostResponseContent: components["schemas"]["Boost"];
7865
8054
  UpdateCalendarRequestContent: {
7866
8055
  calendar: components["schemas"]["CalendarAttributes"];
7867
8056
  };
@@ -7947,6 +8136,7 @@ export interface components {
7947
8136
  name?: string;
7948
8137
  date?: string;
7949
8138
  };
8139
+ UpdateLineupMarkerResponseContent: components["schemas"]["LineupMarker"];
7950
8140
  UpdateMessageRequestContent: {
7951
8141
  subject?: string;
7952
8142
  content?: string;
@@ -8021,9 +8211,9 @@ export interface components {
8021
8211
  subscribed?: boolean;
8022
8212
  };
8023
8213
  UpdateQuestionRequestContent: {
8214
+ /** @description The question text. An update carries a title, a schedule or both. */
8024
8215
  title?: string;
8025
8216
  schedule?: components["schemas"]["QuestionScheduleInput"];
8026
- paused?: boolean;
8027
8217
  };
8028
8218
  UpdateQuestionResponseContent: components["schemas"]["Question"];
8029
8219
  UpdateScheduleSettingsRequestContent: {
@@ -8279,8 +8469,9 @@ export interface components {
8279
8469
  message?: string;
8280
8470
  };
8281
8471
  /**
8282
- * @description A wormhole links this card table to a column on another card table, enabling
8283
- * cards to move across projects. It carries the full recording representation
8472
+ * @description A wormhole is a standing shortcut from this card table to a column on another
8473
+ * card table, usually in another project, and the only way to move a card across
8474
+ * projects. It carries the full recording representation
8284
8475
  * plus the destination-linkage fields. The wormhole's own `url`/`app_url`/`parent`
8285
8476
  * point at the *source* board; `destination_url` is the only field identifying
8286
8477
  * the destination column.
@@ -8716,6 +8907,75 @@ export interface operations {
8716
8907
  };
8717
8908
  };
8718
8909
  };
8910
+ UpdateBoost: {
8911
+ parameters: {
8912
+ query?: never;
8913
+ header?: never;
8914
+ path: {
8915
+ boostId: number;
8916
+ };
8917
+ cookie?: never;
8918
+ };
8919
+ requestBody: {
8920
+ content: {
8921
+ "application/json": components["schemas"]["UpdateBoostRequestContent"];
8922
+ };
8923
+ };
8924
+ responses: {
8925
+ /** @description UpdateBoost 200 response */
8926
+ 200: {
8927
+ headers: {
8928
+ [name: string]: unknown;
8929
+ };
8930
+ content: {
8931
+ "application/json": components["schemas"]["UpdateBoostResponseContent"];
8932
+ };
8933
+ };
8934
+ /** @description UnauthorizedError 401 response */
8935
+ 401: {
8936
+ headers: {
8937
+ [name: string]: unknown;
8938
+ };
8939
+ content: {
8940
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
8941
+ };
8942
+ };
8943
+ /** @description ForbiddenError 403 response */
8944
+ 403: {
8945
+ headers: {
8946
+ [name: string]: unknown;
8947
+ };
8948
+ content: {
8949
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
8950
+ };
8951
+ };
8952
+ /** @description NotFoundError 404 response */
8953
+ 404: {
8954
+ headers: {
8955
+ [name: string]: unknown;
8956
+ };
8957
+ content: {
8958
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
8959
+ };
8960
+ };
8961
+ /** @description BareValidationError 422 response */
8962
+ 422: {
8963
+ headers: {
8964
+ [name: string]: unknown;
8965
+ };
8966
+ content?: never;
8967
+ };
8968
+ /** @description InternalServerError 500 response */
8969
+ 500: {
8970
+ headers: {
8971
+ [name: string]: unknown;
8972
+ };
8973
+ content: {
8974
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
8975
+ };
8976
+ };
8977
+ };
8978
+ };
8719
8979
  DeleteBoost: {
8720
8980
  parameters: {
8721
8981
  query?: never;
@@ -12980,6 +13240,129 @@ export interface operations {
12980
13240
  };
12981
13241
  };
12982
13242
  };
13243
+ ListPings: {
13244
+ parameters: {
13245
+ query?: never;
13246
+ header?: never;
13247
+ path?: never;
13248
+ cookie?: never;
13249
+ };
13250
+ requestBody?: never;
13251
+ responses: {
13252
+ /** @description ListPings 200 response */
13253
+ 200: {
13254
+ headers: {
13255
+ [name: string]: unknown;
13256
+ };
13257
+ content: {
13258
+ "application/json": components["schemas"]["ListPingsResponseContent"];
13259
+ };
13260
+ };
13261
+ /** @description UnauthorizedError 401 response */
13262
+ 401: {
13263
+ headers: {
13264
+ [name: string]: unknown;
13265
+ };
13266
+ content: {
13267
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
13268
+ };
13269
+ };
13270
+ /** @description ForbiddenError 403 response */
13271
+ 403: {
13272
+ headers: {
13273
+ [name: string]: unknown;
13274
+ };
13275
+ content: {
13276
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
13277
+ };
13278
+ };
13279
+ /** @description RateLimitError 429 response */
13280
+ 429: {
13281
+ headers: {
13282
+ [name: string]: unknown;
13283
+ };
13284
+ content: {
13285
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
13286
+ };
13287
+ };
13288
+ /** @description InternalServerError 500 response */
13289
+ 500: {
13290
+ headers: {
13291
+ [name: string]: unknown;
13292
+ };
13293
+ content: {
13294
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
13295
+ };
13296
+ };
13297
+ };
13298
+ };
13299
+ CreatePing: {
13300
+ parameters: {
13301
+ query?: never;
13302
+ header?: never;
13303
+ path?: never;
13304
+ cookie?: never;
13305
+ };
13306
+ requestBody: {
13307
+ content: {
13308
+ "application/json": components["schemas"]["CreatePingRequestContent"];
13309
+ };
13310
+ };
13311
+ responses: {
13312
+ /** @description CreatePing 201 response */
13313
+ 201: {
13314
+ headers: {
13315
+ [name: string]: unknown;
13316
+ };
13317
+ content: {
13318
+ "application/json": components["schemas"]["CreatePingResponseContent"];
13319
+ };
13320
+ };
13321
+ /** @description UnauthorizedError 401 response */
13322
+ 401: {
13323
+ headers: {
13324
+ [name: string]: unknown;
13325
+ };
13326
+ content: {
13327
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
13328
+ };
13329
+ };
13330
+ /** @description ForbiddenError 403 response */
13331
+ 403: {
13332
+ headers: {
13333
+ [name: string]: unknown;
13334
+ };
13335
+ content: {
13336
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
13337
+ };
13338
+ };
13339
+ /** @description BareValidationError 422 response */
13340
+ 422: {
13341
+ headers: {
13342
+ [name: string]: unknown;
13343
+ };
13344
+ content?: never;
13345
+ };
13346
+ /** @description RateLimitError 429 response */
13347
+ 429: {
13348
+ headers: {
13349
+ [name: string]: unknown;
13350
+ };
13351
+ content: {
13352
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
13353
+ };
13354
+ };
13355
+ /** @description InternalServerError 500 response */
13356
+ 500: {
13357
+ headers: {
13358
+ [name: string]: unknown;
13359
+ };
13360
+ content: {
13361
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
13362
+ };
13363
+ };
13364
+ };
13365
+ };
12983
13366
  ListPingablePeople: {
12984
13367
  parameters: {
12985
13368
  query?: never;
@@ -13036,6 +13419,78 @@ export interface operations {
13036
13419
  };
13037
13420
  };
13038
13421
  };
13422
+ GetPing: {
13423
+ parameters: {
13424
+ query?: never;
13425
+ header?: never;
13426
+ path: {
13427
+ /**
13428
+ * @description A Ping's id is the id of the bucket that holds it (the bucket type is
13429
+ * "Circle", which is also the wire path), so the `bucket.id` a Ping's
13430
+ * recordings carry is the id GetPing takes.
13431
+ */
13432
+ pingId: number;
13433
+ };
13434
+ cookie?: never;
13435
+ };
13436
+ requestBody?: never;
13437
+ responses: {
13438
+ /** @description GetPing 200 response */
13439
+ 200: {
13440
+ headers: {
13441
+ [name: string]: unknown;
13442
+ };
13443
+ content: {
13444
+ "application/json": components["schemas"]["GetPingResponseContent"];
13445
+ };
13446
+ };
13447
+ /** @description UnauthorizedError 401 response */
13448
+ 401: {
13449
+ headers: {
13450
+ [name: string]: unknown;
13451
+ };
13452
+ content: {
13453
+ "application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
13454
+ };
13455
+ };
13456
+ /** @description ForbiddenError 403 response */
13457
+ 403: {
13458
+ headers: {
13459
+ [name: string]: unknown;
13460
+ };
13461
+ content: {
13462
+ "application/json": components["schemas"]["ForbiddenErrorResponseContent"];
13463
+ };
13464
+ };
13465
+ /** @description NotFoundError 404 response */
13466
+ 404: {
13467
+ headers: {
13468
+ [name: string]: unknown;
13469
+ };
13470
+ content: {
13471
+ "application/json": components["schemas"]["NotFoundErrorResponseContent"];
13472
+ };
13473
+ };
13474
+ /** @description RateLimitError 429 response */
13475
+ 429: {
13476
+ headers: {
13477
+ [name: string]: unknown;
13478
+ };
13479
+ content: {
13480
+ "application/json": components["schemas"]["RateLimitErrorResponseContent"];
13481
+ };
13482
+ };
13483
+ /** @description InternalServerError 500 response */
13484
+ 500: {
13485
+ headers: {
13486
+ [name: string]: unknown;
13487
+ };
13488
+ content: {
13489
+ "application/json": components["schemas"]["InternalServerErrorResponseContent"];
13490
+ };
13491
+ };
13492
+ };
13493
+ };
13039
13494
  GetClientApproval: {
13040
13495
  parameters: {
13041
13496
  query?: never;
@@ -14884,7 +15339,9 @@ export interface operations {
14884
15339
  headers: {
14885
15340
  [name: string]: unknown;
14886
15341
  };
14887
- content?: never;
15342
+ content: {
15343
+ "application/json": components["schemas"]["CreateLineupMarkerResponseContent"];
15344
+ };
14888
15345
  };
14889
15346
  /** @description UnauthorizedError 401 response */
14890
15347
  401: {
@@ -14953,7 +15410,9 @@ export interface operations {
14953
15410
  headers: {
14954
15411
  [name: string]: unknown;
14955
15412
  };
14956
- content?: never;
15413
+ content: {
15414
+ "application/json": components["schemas"]["UpdateLineupMarkerResponseContent"];
15415
+ };
14957
15416
  };
14958
15417
  /** @description UnauthorizedError 401 response */
14959
15418
  401: {