@productcraft/rally 0.0.1
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.
- package/dist/index.cjs +16 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1564 -0
- package/dist/index.d.ts +1564 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/package.json +47 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,1564 @@
|
|
|
1
|
+
import { makeClient, PCClientConfig } from '@productcraft/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* This file was auto-generated by openapi-typescript.
|
|
5
|
+
* Do not make direct changes to the file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
interface paths {
|
|
9
|
+
"/v1/waitlists/{workspaceSlug}/{waitlistSlug}": {
|
|
10
|
+
parameters: {
|
|
11
|
+
query?: never;
|
|
12
|
+
header?: never;
|
|
13
|
+
path?: never;
|
|
14
|
+
cookie?: never;
|
|
15
|
+
};
|
|
16
|
+
/** Public waitlist info (display name, description, custom-field schema, branding hints, active variant) */
|
|
17
|
+
get: operations["PublicWaitlistController_getPublic"];
|
|
18
|
+
put?: never;
|
|
19
|
+
post?: never;
|
|
20
|
+
delete?: never;
|
|
21
|
+
options?: never;
|
|
22
|
+
head?: never;
|
|
23
|
+
patch?: never;
|
|
24
|
+
trace?: never;
|
|
25
|
+
};
|
|
26
|
+
"/v1/waitlists/{workspaceSlug}/{waitlistSlug}/entries": {
|
|
27
|
+
parameters: {
|
|
28
|
+
query?: never;
|
|
29
|
+
header?: never;
|
|
30
|
+
path?: never;
|
|
31
|
+
cookie?: never;
|
|
32
|
+
};
|
|
33
|
+
get?: never;
|
|
34
|
+
put?: never;
|
|
35
|
+
/** Submit a new entry to a public waitlist */
|
|
36
|
+
post: operations["PublicWaitlistController_submit"];
|
|
37
|
+
delete?: never;
|
|
38
|
+
options?: never;
|
|
39
|
+
head?: never;
|
|
40
|
+
patch?: never;
|
|
41
|
+
trace?: never;
|
|
42
|
+
};
|
|
43
|
+
"/v1/waitlists/{workspaceSlug}/{waitlistSlug}/leaderboard": {
|
|
44
|
+
parameters: {
|
|
45
|
+
query?: never;
|
|
46
|
+
header?: never;
|
|
47
|
+
path?: never;
|
|
48
|
+
cookie?: never;
|
|
49
|
+
};
|
|
50
|
+
/** Public top-50 referral leaderboard. Emails are masked. Anonymous read; same access policy as the public waitlist info endpoint. */
|
|
51
|
+
get: operations["PublicWaitlistController_leaderboard"];
|
|
52
|
+
put?: never;
|
|
53
|
+
post?: never;
|
|
54
|
+
delete?: never;
|
|
55
|
+
options?: never;
|
|
56
|
+
head?: never;
|
|
57
|
+
patch?: never;
|
|
58
|
+
trace?: never;
|
|
59
|
+
};
|
|
60
|
+
"/v1/workspaces/{workspaceId}/rally/settings": {
|
|
61
|
+
parameters: {
|
|
62
|
+
query?: never;
|
|
63
|
+
header?: never;
|
|
64
|
+
path?: never;
|
|
65
|
+
cookie?: never;
|
|
66
|
+
};
|
|
67
|
+
/** Read workspace-level Rally defaults */
|
|
68
|
+
get: operations["SettingsController_get"];
|
|
69
|
+
/** Update workspace-level Rally defaults */
|
|
70
|
+
put: operations["SettingsController_update"];
|
|
71
|
+
post?: never;
|
|
72
|
+
delete?: never;
|
|
73
|
+
options?: never;
|
|
74
|
+
head?: never;
|
|
75
|
+
patch?: never;
|
|
76
|
+
trace?: never;
|
|
77
|
+
};
|
|
78
|
+
"/v1/workspaces/{workspaceId}/waitlists": {
|
|
79
|
+
parameters: {
|
|
80
|
+
query?: never;
|
|
81
|
+
header?: never;
|
|
82
|
+
path?: never;
|
|
83
|
+
cookie?: never;
|
|
84
|
+
};
|
|
85
|
+
/** List waitlists in this workspace */
|
|
86
|
+
get: operations["WaitlistController_list"];
|
|
87
|
+
put?: never;
|
|
88
|
+
/** Create a waitlist (workspace-scoped) */
|
|
89
|
+
post: operations["WaitlistController_create"];
|
|
90
|
+
delete?: never;
|
|
91
|
+
options?: never;
|
|
92
|
+
head?: never;
|
|
93
|
+
patch?: never;
|
|
94
|
+
trace?: never;
|
|
95
|
+
};
|
|
96
|
+
"/v1/workspaces/{workspaceId}/waitlists/{id}": {
|
|
97
|
+
parameters: {
|
|
98
|
+
query?: never;
|
|
99
|
+
header?: never;
|
|
100
|
+
path?: never;
|
|
101
|
+
cookie?: never;
|
|
102
|
+
};
|
|
103
|
+
/** Get waitlist details */
|
|
104
|
+
get: operations["WaitlistController_get"];
|
|
105
|
+
put?: never;
|
|
106
|
+
post?: never;
|
|
107
|
+
/** Delete a waitlist (cascades to entries) */
|
|
108
|
+
delete: operations["WaitlistController_remove"];
|
|
109
|
+
options?: never;
|
|
110
|
+
head?: never;
|
|
111
|
+
/** Update waitlist metadata and settings */
|
|
112
|
+
patch: operations["WaitlistController_update"];
|
|
113
|
+
trace?: never;
|
|
114
|
+
};
|
|
115
|
+
"/v1/workspaces/{workspaceId}/waitlists/{id}/status": {
|
|
116
|
+
parameters: {
|
|
117
|
+
query?: never;
|
|
118
|
+
header?: never;
|
|
119
|
+
path?: never;
|
|
120
|
+
cookie?: never;
|
|
121
|
+
};
|
|
122
|
+
get?: never;
|
|
123
|
+
put?: never;
|
|
124
|
+
post?: never;
|
|
125
|
+
delete?: never;
|
|
126
|
+
options?: never;
|
|
127
|
+
head?: never;
|
|
128
|
+
/** Change waitlist status */
|
|
129
|
+
patch: operations["WaitlistController_updateStatus"];
|
|
130
|
+
trace?: never;
|
|
131
|
+
};
|
|
132
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/analytics": {
|
|
133
|
+
parameters: {
|
|
134
|
+
query?: never;
|
|
135
|
+
header?: never;
|
|
136
|
+
path?: never;
|
|
137
|
+
cookie?: never;
|
|
138
|
+
};
|
|
139
|
+
/** Aggregate counts, viral coefficient, top referrers + referrals */
|
|
140
|
+
get: operations["AnalyticsController_get"];
|
|
141
|
+
put?: never;
|
|
142
|
+
post?: never;
|
|
143
|
+
delete?: never;
|
|
144
|
+
options?: never;
|
|
145
|
+
head?: never;
|
|
146
|
+
patch?: never;
|
|
147
|
+
trace?: never;
|
|
148
|
+
};
|
|
149
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/analytics/timeline": {
|
|
150
|
+
parameters: {
|
|
151
|
+
query?: never;
|
|
152
|
+
header?: never;
|
|
153
|
+
path?: never;
|
|
154
|
+
cookie?: never;
|
|
155
|
+
};
|
|
156
|
+
/** Daily-bucketed signup timeline (UTC, dense — zero-count days included) */
|
|
157
|
+
get: operations["AnalyticsController_timeline"];
|
|
158
|
+
put?: never;
|
|
159
|
+
post?: never;
|
|
160
|
+
delete?: never;
|
|
161
|
+
options?: never;
|
|
162
|
+
head?: never;
|
|
163
|
+
patch?: never;
|
|
164
|
+
trace?: never;
|
|
165
|
+
};
|
|
166
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/entries": {
|
|
167
|
+
parameters: {
|
|
168
|
+
query?: never;
|
|
169
|
+
header?: never;
|
|
170
|
+
path?: never;
|
|
171
|
+
cookie?: never;
|
|
172
|
+
};
|
|
173
|
+
/** List entries on a waitlist (paginated) */
|
|
174
|
+
get: operations["EntryController_list"];
|
|
175
|
+
put?: never;
|
|
176
|
+
post?: never;
|
|
177
|
+
delete?: never;
|
|
178
|
+
options?: never;
|
|
179
|
+
head?: never;
|
|
180
|
+
patch?: never;
|
|
181
|
+
trace?: never;
|
|
182
|
+
};
|
|
183
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/entries/bulk": {
|
|
184
|
+
parameters: {
|
|
185
|
+
query?: never;
|
|
186
|
+
header?: never;
|
|
187
|
+
path?: never;
|
|
188
|
+
cookie?: never;
|
|
189
|
+
};
|
|
190
|
+
get?: never;
|
|
191
|
+
put?: never;
|
|
192
|
+
/** Bulk-apply approve / reject / invite-to-app to multiple entries at once. Capped at 100 ids per call. Processed serially server-side; per-row results are returned so the UI can render partial successes. */
|
|
193
|
+
post: operations["EntryController_bulk"];
|
|
194
|
+
delete?: never;
|
|
195
|
+
options?: never;
|
|
196
|
+
head?: never;
|
|
197
|
+
patch?: never;
|
|
198
|
+
trace?: never;
|
|
199
|
+
};
|
|
200
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/entries/count": {
|
|
201
|
+
parameters: {
|
|
202
|
+
query?: never;
|
|
203
|
+
header?: never;
|
|
204
|
+
path?: never;
|
|
205
|
+
cookie?: never;
|
|
206
|
+
};
|
|
207
|
+
/** Total entry count for a waitlist */
|
|
208
|
+
get: operations["EntryController_count"];
|
|
209
|
+
put?: never;
|
|
210
|
+
post?: never;
|
|
211
|
+
delete?: never;
|
|
212
|
+
options?: never;
|
|
213
|
+
head?: never;
|
|
214
|
+
patch?: never;
|
|
215
|
+
trace?: never;
|
|
216
|
+
};
|
|
217
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/entries/export.csv": {
|
|
218
|
+
parameters: {
|
|
219
|
+
query?: never;
|
|
220
|
+
header?: never;
|
|
221
|
+
path?: never;
|
|
222
|
+
cookie?: never;
|
|
223
|
+
};
|
|
224
|
+
/** Stream every entry as CSV (admin export) */
|
|
225
|
+
get: operations["EntryController_exportCsv"];
|
|
226
|
+
put?: never;
|
|
227
|
+
post?: never;
|
|
228
|
+
delete?: never;
|
|
229
|
+
options?: never;
|
|
230
|
+
head?: never;
|
|
231
|
+
patch?: never;
|
|
232
|
+
trace?: never;
|
|
233
|
+
};
|
|
234
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/entries/{entryId}": {
|
|
235
|
+
parameters: {
|
|
236
|
+
query?: never;
|
|
237
|
+
header?: never;
|
|
238
|
+
path?: never;
|
|
239
|
+
cookie?: never;
|
|
240
|
+
};
|
|
241
|
+
/** Get a single entry */
|
|
242
|
+
get: operations["EntryController_get"];
|
|
243
|
+
put?: never;
|
|
244
|
+
post?: never;
|
|
245
|
+
/** Delete an entry (positions are not renumbered) */
|
|
246
|
+
delete: operations["EntryController_remove"];
|
|
247
|
+
options?: never;
|
|
248
|
+
head?: never;
|
|
249
|
+
/** Approve or reject an entry */
|
|
250
|
+
patch: operations["EntryController_updateStatus"];
|
|
251
|
+
trace?: never;
|
|
252
|
+
};
|
|
253
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/entries/{entryId}/invite-to-app": {
|
|
254
|
+
parameters: {
|
|
255
|
+
query?: never;
|
|
256
|
+
header?: never;
|
|
257
|
+
path?: never;
|
|
258
|
+
cookie?: never;
|
|
259
|
+
};
|
|
260
|
+
get?: never;
|
|
261
|
+
put?: never;
|
|
262
|
+
/** Invite an approved entry into a linked Heimdall consumer app (one-click cross-product handoff) */
|
|
263
|
+
post: operations["EntryController_inviteToApp"];
|
|
264
|
+
delete?: never;
|
|
265
|
+
options?: never;
|
|
266
|
+
head?: never;
|
|
267
|
+
patch?: never;
|
|
268
|
+
trace?: never;
|
|
269
|
+
};
|
|
270
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/variants": {
|
|
271
|
+
parameters: {
|
|
272
|
+
query?: never;
|
|
273
|
+
header?: never;
|
|
274
|
+
path?: never;
|
|
275
|
+
cookie?: never;
|
|
276
|
+
};
|
|
277
|
+
/** List all variants on a waitlist */
|
|
278
|
+
get: operations["VariantController_list"];
|
|
279
|
+
put?: never;
|
|
280
|
+
/** Create a variant */
|
|
281
|
+
post: operations["VariantController_create"];
|
|
282
|
+
delete?: never;
|
|
283
|
+
options?: never;
|
|
284
|
+
head?: never;
|
|
285
|
+
patch?: never;
|
|
286
|
+
trace?: never;
|
|
287
|
+
};
|
|
288
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/variants/{id}": {
|
|
289
|
+
parameters: {
|
|
290
|
+
query?: never;
|
|
291
|
+
header?: never;
|
|
292
|
+
path?: never;
|
|
293
|
+
cookie?: never;
|
|
294
|
+
};
|
|
295
|
+
get?: never;
|
|
296
|
+
put?: never;
|
|
297
|
+
post?: never;
|
|
298
|
+
/** Delete a variant */
|
|
299
|
+
delete: operations["VariantController_remove"];
|
|
300
|
+
options?: never;
|
|
301
|
+
head?: never;
|
|
302
|
+
/** Update a variant (locale, copy, weight, active) */
|
|
303
|
+
patch: operations["VariantController_update"];
|
|
304
|
+
trace?: never;
|
|
305
|
+
};
|
|
306
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/webhooks": {
|
|
307
|
+
parameters: {
|
|
308
|
+
query?: never;
|
|
309
|
+
header?: never;
|
|
310
|
+
path?: never;
|
|
311
|
+
cookie?: never;
|
|
312
|
+
};
|
|
313
|
+
/** List webhooks for a waitlist (secrets masked) */
|
|
314
|
+
get: operations["WebhookController_list"];
|
|
315
|
+
put?: never;
|
|
316
|
+
/** Create a webhook. The response includes the per-row signing secret in clear EXACTLY ONCE — copy it now. */
|
|
317
|
+
post: operations["WebhookController_create"];
|
|
318
|
+
delete?: never;
|
|
319
|
+
options?: never;
|
|
320
|
+
head?: never;
|
|
321
|
+
patch?: never;
|
|
322
|
+
trace?: never;
|
|
323
|
+
};
|
|
324
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/webhooks/{id}": {
|
|
325
|
+
parameters: {
|
|
326
|
+
query?: never;
|
|
327
|
+
header?: never;
|
|
328
|
+
path?: never;
|
|
329
|
+
cookie?: never;
|
|
330
|
+
};
|
|
331
|
+
/** Get a webhook (secret masked) */
|
|
332
|
+
get: operations["WebhookController_get"];
|
|
333
|
+
put?: never;
|
|
334
|
+
post?: never;
|
|
335
|
+
/** Delete a webhook */
|
|
336
|
+
delete: operations["WebhookController_remove"];
|
|
337
|
+
options?: never;
|
|
338
|
+
head?: never;
|
|
339
|
+
/** Update url / events / active flag */
|
|
340
|
+
patch: operations["WebhookController_update"];
|
|
341
|
+
trace?: never;
|
|
342
|
+
};
|
|
343
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/webhooks/{id}/deliveries": {
|
|
344
|
+
parameters: {
|
|
345
|
+
query?: never;
|
|
346
|
+
header?: never;
|
|
347
|
+
path?: never;
|
|
348
|
+
cookie?: never;
|
|
349
|
+
};
|
|
350
|
+
/** Recent delivery attempts for a webhook (default 50, max 200, newest first) */
|
|
351
|
+
get: operations["WebhookController_recentDeliveries"];
|
|
352
|
+
put?: never;
|
|
353
|
+
post?: never;
|
|
354
|
+
delete?: never;
|
|
355
|
+
options?: never;
|
|
356
|
+
head?: never;
|
|
357
|
+
patch?: never;
|
|
358
|
+
trace?: never;
|
|
359
|
+
};
|
|
360
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/webhooks/{id}/rotate-secret": {
|
|
361
|
+
parameters: {
|
|
362
|
+
query?: never;
|
|
363
|
+
header?: never;
|
|
364
|
+
path?: never;
|
|
365
|
+
cookie?: never;
|
|
366
|
+
};
|
|
367
|
+
get?: never;
|
|
368
|
+
put?: never;
|
|
369
|
+
/** Rotate the signing secret. Returns the new secret in clear EXACTLY ONCE. */
|
|
370
|
+
post: operations["WebhookController_rotateSecret"];
|
|
371
|
+
delete?: never;
|
|
372
|
+
options?: never;
|
|
373
|
+
head?: never;
|
|
374
|
+
patch?: never;
|
|
375
|
+
trace?: never;
|
|
376
|
+
};
|
|
377
|
+
"/v1/workspaces/{workspaceId}/waitlists/{waitlistId}/webhooks/{id}/test": {
|
|
378
|
+
parameters: {
|
|
379
|
+
query?: never;
|
|
380
|
+
header?: never;
|
|
381
|
+
path?: never;
|
|
382
|
+
cookie?: never;
|
|
383
|
+
};
|
|
384
|
+
get?: never;
|
|
385
|
+
put?: never;
|
|
386
|
+
/** Fire a synthetic test event to this webhook (asynchronous; check the destination logs) */
|
|
387
|
+
post: operations["WebhookController_fireTest"];
|
|
388
|
+
delete?: never;
|
|
389
|
+
options?: never;
|
|
390
|
+
head?: never;
|
|
391
|
+
patch?: never;
|
|
392
|
+
trace?: never;
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
interface components {
|
|
396
|
+
schemas: {
|
|
397
|
+
BulkEntryActionDto: {
|
|
398
|
+
/**
|
|
399
|
+
* @description Action to apply to every id.
|
|
400
|
+
* @example approve
|
|
401
|
+
* @enum {string}
|
|
402
|
+
*/
|
|
403
|
+
action: "approve" | "reject" | "invite-to-app";
|
|
404
|
+
/**
|
|
405
|
+
* @description Heimdall app slug override for `action: invite-to-app`. When omitted, falls back to `rally_settings.default_heimdall_app_slug`. Ignored for approve/reject.
|
|
406
|
+
* @example acme-product
|
|
407
|
+
*/
|
|
408
|
+
appSlug?: string;
|
|
409
|
+
/**
|
|
410
|
+
* @description Entry UUIDs to act on in this batch. Capped at 100 per call; the request is processed serially and per-row results are returned. De-duped server-side.
|
|
411
|
+
* @example [
|
|
412
|
+
* "11111111-1111-1111-1111-111111111111",
|
|
413
|
+
* "22222222-2222-2222-2222-222222222222"
|
|
414
|
+
* ]
|
|
415
|
+
*/
|
|
416
|
+
ids: string[];
|
|
417
|
+
/**
|
|
418
|
+
* @description Whether to send the rally/approved email with the invite link baked in. Defaults to `true`. Ignored for approve/reject.
|
|
419
|
+
* @default true
|
|
420
|
+
*/
|
|
421
|
+
sendEmail: boolean;
|
|
422
|
+
};
|
|
423
|
+
CreateEntryDto: {
|
|
424
|
+
/**
|
|
425
|
+
* @description Email address
|
|
426
|
+
* @example ada@example.com
|
|
427
|
+
*/
|
|
428
|
+
email: string;
|
|
429
|
+
/** @description Free-text product interest */
|
|
430
|
+
interest?: string;
|
|
431
|
+
/** @description Custom field values */
|
|
432
|
+
metadata?: Record<string, never>;
|
|
433
|
+
/**
|
|
434
|
+
* @description Full name
|
|
435
|
+
* @example Ada Lovelace
|
|
436
|
+
*/
|
|
437
|
+
name: string;
|
|
438
|
+
/** @description reCAPTCHA v3 token; verified server-side when the waitlist has settings.recaptcha_site_key */
|
|
439
|
+
recaptchaToken?: string;
|
|
440
|
+
/** @description Referral code from a prior signup; bumps that signup’s position when honoured */
|
|
441
|
+
referralCode?: string;
|
|
442
|
+
/** @description How they heard about it */
|
|
443
|
+
referrer?: string;
|
|
444
|
+
/**
|
|
445
|
+
* Format: uuid
|
|
446
|
+
* @description Variant id this submission was attributed to. The hosted public page resolves this server-side and the embeddable widget reads it from the public payload — both round-trip it here so per-variant conversion can be computed without a separate impressions table.
|
|
447
|
+
*/
|
|
448
|
+
variantId?: string;
|
|
449
|
+
};
|
|
450
|
+
CreateVariantDto: {
|
|
451
|
+
/** @default true */
|
|
452
|
+
active: boolean;
|
|
453
|
+
/** @description Copy overrides. Recognised keys: display_name, description, confirmation_message. Unknown keys are dropped on the public render. */
|
|
454
|
+
copy: components["schemas"]["VariantCopyDto"];
|
|
455
|
+
/** @enum {string} */
|
|
456
|
+
kind: "ab" | "locale";
|
|
457
|
+
/**
|
|
458
|
+
* @description BCP-47 locale tag. For ab variants this is the locale they target; for locale variants this is the locale they serve. Case is normalised on the public side.
|
|
459
|
+
* @example en
|
|
460
|
+
*/
|
|
461
|
+
locale: string;
|
|
462
|
+
/**
|
|
463
|
+
* @description Relative weight inside the ab pool. Ignored when kind=locale. Default 1.
|
|
464
|
+
* @default 1
|
|
465
|
+
*/
|
|
466
|
+
weight: number;
|
|
467
|
+
};
|
|
468
|
+
CreateWaitlistDto: {
|
|
469
|
+
/** @description Description shown on the public page */
|
|
470
|
+
description?: string;
|
|
471
|
+
/**
|
|
472
|
+
* @description Display name
|
|
473
|
+
* @example Early Access Program
|
|
474
|
+
*/
|
|
475
|
+
displayName: string;
|
|
476
|
+
/** @description Waitlist settings (max_entries, approval_required, custom_fields, confirmation_message, referral_boost) */
|
|
477
|
+
settings?: Record<string, never>;
|
|
478
|
+
/**
|
|
479
|
+
* @description URL-safe slug
|
|
480
|
+
* @example early-access
|
|
481
|
+
*/
|
|
482
|
+
slug: string;
|
|
483
|
+
};
|
|
484
|
+
CreateWebhookDto: {
|
|
485
|
+
/** @description Disabled webhooks store events but never deliver */
|
|
486
|
+
active?: boolean;
|
|
487
|
+
/**
|
|
488
|
+
* @description Events to subscribe to
|
|
489
|
+
* @example [
|
|
490
|
+
* "entry.created",
|
|
491
|
+
* "entry.approved"
|
|
492
|
+
* ]
|
|
493
|
+
*/
|
|
494
|
+
events: ("entry.created" | "entry.approved" | "entry.rejected")[];
|
|
495
|
+
/** @description Destination URL (must be https in prod) */
|
|
496
|
+
url: string;
|
|
497
|
+
};
|
|
498
|
+
InviteToAppDto: {
|
|
499
|
+
/** @description Heimdall app slug to invite into; defaults to rally_settings.default_heimdall_app_slug */
|
|
500
|
+
appSlug?: string;
|
|
501
|
+
/**
|
|
502
|
+
* @description Send the rally/approved email with the Heimdall invite link baked in
|
|
503
|
+
* @default true
|
|
504
|
+
*/
|
|
505
|
+
sendEmail: boolean;
|
|
506
|
+
};
|
|
507
|
+
TestWebhookDto: {
|
|
508
|
+
/**
|
|
509
|
+
* @description Event type to fire as a synthetic test
|
|
510
|
+
* @enum {string}
|
|
511
|
+
*/
|
|
512
|
+
event: "entry.created" | "entry.approved" | "entry.rejected";
|
|
513
|
+
};
|
|
514
|
+
UpdateEntryStatusDto: {
|
|
515
|
+
/**
|
|
516
|
+
* @description Target status
|
|
517
|
+
* @enum {string}
|
|
518
|
+
*/
|
|
519
|
+
status: "approved" | "rejected";
|
|
520
|
+
};
|
|
521
|
+
UpdateSettingsDto: {
|
|
522
|
+
/** @description Logo URL shown on public pages */
|
|
523
|
+
brandLogoUrl?: string;
|
|
524
|
+
/** @description Brand name shown on public pages */
|
|
525
|
+
brandName?: string;
|
|
526
|
+
/** @description Heimdall consumer-app slug to invite approved entries into. null clears the link. */
|
|
527
|
+
defaultHeimdallAppSlug?: string | null;
|
|
528
|
+
/** @description Envoi (mailbox-api) domain UUID to use as default sender for Rally notifications. null clears the override. */
|
|
529
|
+
defaultSenderDomainId?: string | null;
|
|
530
|
+
/** @description Primary brand colour as #RRGGBB */
|
|
531
|
+
primaryColor?: string;
|
|
532
|
+
};
|
|
533
|
+
UpdateVariantDto: {
|
|
534
|
+
active?: boolean;
|
|
535
|
+
copy?: components["schemas"]["VariantCopyDto"];
|
|
536
|
+
locale?: string;
|
|
537
|
+
weight?: number;
|
|
538
|
+
};
|
|
539
|
+
UpdateWaitlistDto: {
|
|
540
|
+
/** @description New description */
|
|
541
|
+
description?: string;
|
|
542
|
+
/** @description New display name */
|
|
543
|
+
displayName?: string;
|
|
544
|
+
/** @description Updated settings (merged shallow) */
|
|
545
|
+
settings?: Record<string, never>;
|
|
546
|
+
};
|
|
547
|
+
UpdateWaitlistStatusDto: {
|
|
548
|
+
/**
|
|
549
|
+
* @description New status
|
|
550
|
+
* @enum {string}
|
|
551
|
+
*/
|
|
552
|
+
status: "draft" | "active" | "paused" | "closed";
|
|
553
|
+
};
|
|
554
|
+
UpdateWebhookDto: {
|
|
555
|
+
/** @description Pause/resume the webhook */
|
|
556
|
+
active?: boolean;
|
|
557
|
+
/** @description New event subscription */
|
|
558
|
+
events?: ("entry.created" | "entry.approved" | "entry.rejected")[];
|
|
559
|
+
/** @description New URL */
|
|
560
|
+
url?: string;
|
|
561
|
+
};
|
|
562
|
+
VariantCopyDto: {
|
|
563
|
+
confirmation_message?: string;
|
|
564
|
+
description?: string;
|
|
565
|
+
display_name?: string;
|
|
566
|
+
};
|
|
567
|
+
};
|
|
568
|
+
responses: never;
|
|
569
|
+
parameters: never;
|
|
570
|
+
requestBodies: never;
|
|
571
|
+
headers: never;
|
|
572
|
+
pathItems: never;
|
|
573
|
+
}
|
|
574
|
+
interface operations {
|
|
575
|
+
PublicWaitlistController_getPublic: {
|
|
576
|
+
parameters: {
|
|
577
|
+
query?: {
|
|
578
|
+
/** @description BCP-47 locale tag (e.g. `en`, `pt-BR`). Wins over Accept-Language when picking the variant. */
|
|
579
|
+
lang?: string;
|
|
580
|
+
};
|
|
581
|
+
header?: never;
|
|
582
|
+
path: {
|
|
583
|
+
workspaceSlug: string;
|
|
584
|
+
waitlistSlug: string;
|
|
585
|
+
};
|
|
586
|
+
cookie?: never;
|
|
587
|
+
};
|
|
588
|
+
requestBody?: never;
|
|
589
|
+
responses: {
|
|
590
|
+
/** @description Public waitlist info */
|
|
591
|
+
200: {
|
|
592
|
+
headers: {
|
|
593
|
+
[name: string]: unknown;
|
|
594
|
+
};
|
|
595
|
+
content?: never;
|
|
596
|
+
};
|
|
597
|
+
/** @description Waitlist not found or not active */
|
|
598
|
+
404: {
|
|
599
|
+
headers: {
|
|
600
|
+
[name: string]: unknown;
|
|
601
|
+
};
|
|
602
|
+
content?: never;
|
|
603
|
+
};
|
|
604
|
+
};
|
|
605
|
+
};
|
|
606
|
+
PublicWaitlistController_submit: {
|
|
607
|
+
parameters: {
|
|
608
|
+
query?: never;
|
|
609
|
+
header?: never;
|
|
610
|
+
path: {
|
|
611
|
+
workspaceSlug: string;
|
|
612
|
+
waitlistSlug: string;
|
|
613
|
+
};
|
|
614
|
+
cookie?: never;
|
|
615
|
+
};
|
|
616
|
+
requestBody: {
|
|
617
|
+
content: {
|
|
618
|
+
"application/json": components["schemas"]["CreateEntryDto"];
|
|
619
|
+
};
|
|
620
|
+
};
|
|
621
|
+
responses: {
|
|
622
|
+
/** @description Entry created */
|
|
623
|
+
201: {
|
|
624
|
+
headers: {
|
|
625
|
+
[name: string]: unknown;
|
|
626
|
+
};
|
|
627
|
+
content?: never;
|
|
628
|
+
};
|
|
629
|
+
/** @description Validation or spam check failed */
|
|
630
|
+
400: {
|
|
631
|
+
headers: {
|
|
632
|
+
[name: string]: unknown;
|
|
633
|
+
};
|
|
634
|
+
content?: never;
|
|
635
|
+
};
|
|
636
|
+
/** @description Waitlist not found */
|
|
637
|
+
404: {
|
|
638
|
+
headers: {
|
|
639
|
+
[name: string]: unknown;
|
|
640
|
+
};
|
|
641
|
+
content?: never;
|
|
642
|
+
};
|
|
643
|
+
/** @description Email already on this waitlist */
|
|
644
|
+
409: {
|
|
645
|
+
headers: {
|
|
646
|
+
[name: string]: unknown;
|
|
647
|
+
};
|
|
648
|
+
content?: never;
|
|
649
|
+
};
|
|
650
|
+
/** @description Waitlist is not active or is full */
|
|
651
|
+
422: {
|
|
652
|
+
headers: {
|
|
653
|
+
[name: string]: unknown;
|
|
654
|
+
};
|
|
655
|
+
content?: never;
|
|
656
|
+
};
|
|
657
|
+
/** @description Too many requests from this IP */
|
|
658
|
+
429: {
|
|
659
|
+
headers: {
|
|
660
|
+
[name: string]: unknown;
|
|
661
|
+
};
|
|
662
|
+
content?: never;
|
|
663
|
+
};
|
|
664
|
+
};
|
|
665
|
+
};
|
|
666
|
+
PublicWaitlistController_leaderboard: {
|
|
667
|
+
parameters: {
|
|
668
|
+
query?: {
|
|
669
|
+
/** @description Number of rows (1-50, default 50) */
|
|
670
|
+
limit?: string;
|
|
671
|
+
};
|
|
672
|
+
header?: never;
|
|
673
|
+
path: {
|
|
674
|
+
workspaceSlug: string;
|
|
675
|
+
waitlistSlug: string;
|
|
676
|
+
};
|
|
677
|
+
cookie?: never;
|
|
678
|
+
};
|
|
679
|
+
requestBody?: never;
|
|
680
|
+
responses: {
|
|
681
|
+
/** @description Array of `{ position, referral_count, masked_email }` */
|
|
682
|
+
200: {
|
|
683
|
+
headers: {
|
|
684
|
+
[name: string]: unknown;
|
|
685
|
+
};
|
|
686
|
+
content?: never;
|
|
687
|
+
};
|
|
688
|
+
/** @description Waitlist not found or not active */
|
|
689
|
+
404: {
|
|
690
|
+
headers: {
|
|
691
|
+
[name: string]: unknown;
|
|
692
|
+
};
|
|
693
|
+
content?: never;
|
|
694
|
+
};
|
|
695
|
+
};
|
|
696
|
+
};
|
|
697
|
+
SettingsController_get: {
|
|
698
|
+
parameters: {
|
|
699
|
+
query?: never;
|
|
700
|
+
header?: never;
|
|
701
|
+
path: {
|
|
702
|
+
workspaceId: string;
|
|
703
|
+
};
|
|
704
|
+
cookie?: never;
|
|
705
|
+
};
|
|
706
|
+
requestBody?: never;
|
|
707
|
+
responses: {
|
|
708
|
+
200: {
|
|
709
|
+
headers: {
|
|
710
|
+
[name: string]: unknown;
|
|
711
|
+
};
|
|
712
|
+
content?: never;
|
|
713
|
+
};
|
|
714
|
+
};
|
|
715
|
+
};
|
|
716
|
+
SettingsController_update: {
|
|
717
|
+
parameters: {
|
|
718
|
+
query?: never;
|
|
719
|
+
header?: never;
|
|
720
|
+
path: {
|
|
721
|
+
workspaceId: string;
|
|
722
|
+
};
|
|
723
|
+
cookie?: never;
|
|
724
|
+
};
|
|
725
|
+
requestBody: {
|
|
726
|
+
content: {
|
|
727
|
+
"application/json": components["schemas"]["UpdateSettingsDto"];
|
|
728
|
+
};
|
|
729
|
+
};
|
|
730
|
+
responses: {
|
|
731
|
+
200: {
|
|
732
|
+
headers: {
|
|
733
|
+
[name: string]: unknown;
|
|
734
|
+
};
|
|
735
|
+
content?: never;
|
|
736
|
+
};
|
|
737
|
+
};
|
|
738
|
+
};
|
|
739
|
+
WaitlistController_list: {
|
|
740
|
+
parameters: {
|
|
741
|
+
query?: {
|
|
742
|
+
limit?: number;
|
|
743
|
+
/** @description Opaque cursor for pagination */
|
|
744
|
+
cursor?: string;
|
|
745
|
+
/** @description Filter by status */
|
|
746
|
+
status?: string;
|
|
747
|
+
};
|
|
748
|
+
header?: never;
|
|
749
|
+
path: {
|
|
750
|
+
workspaceId: string;
|
|
751
|
+
};
|
|
752
|
+
cookie?: never;
|
|
753
|
+
};
|
|
754
|
+
requestBody?: never;
|
|
755
|
+
responses: {
|
|
756
|
+
200: {
|
|
757
|
+
headers: {
|
|
758
|
+
[name: string]: unknown;
|
|
759
|
+
};
|
|
760
|
+
content?: never;
|
|
761
|
+
};
|
|
762
|
+
};
|
|
763
|
+
};
|
|
764
|
+
WaitlistController_create: {
|
|
765
|
+
parameters: {
|
|
766
|
+
query?: never;
|
|
767
|
+
header?: never;
|
|
768
|
+
path: {
|
|
769
|
+
workspaceId: string;
|
|
770
|
+
};
|
|
771
|
+
cookie?: never;
|
|
772
|
+
};
|
|
773
|
+
requestBody: {
|
|
774
|
+
content: {
|
|
775
|
+
"application/json": components["schemas"]["CreateWaitlistDto"];
|
|
776
|
+
};
|
|
777
|
+
};
|
|
778
|
+
responses: {
|
|
779
|
+
/** @description Waitlist created. */
|
|
780
|
+
201: {
|
|
781
|
+
headers: {
|
|
782
|
+
[name: string]: unknown;
|
|
783
|
+
};
|
|
784
|
+
content?: never;
|
|
785
|
+
};
|
|
786
|
+
/** @description Validation failure. */
|
|
787
|
+
400: {
|
|
788
|
+
headers: {
|
|
789
|
+
[name: string]: unknown;
|
|
790
|
+
};
|
|
791
|
+
content?: never;
|
|
792
|
+
};
|
|
793
|
+
/** @description Caller lacks `waitlist.create`, or workspace has not enabled the `rally` service. */
|
|
794
|
+
403: {
|
|
795
|
+
headers: {
|
|
796
|
+
[name: string]: unknown;
|
|
797
|
+
};
|
|
798
|
+
content?: never;
|
|
799
|
+
};
|
|
800
|
+
/** @description Slug already taken in this workspace. */
|
|
801
|
+
409: {
|
|
802
|
+
headers: {
|
|
803
|
+
[name: string]: unknown;
|
|
804
|
+
};
|
|
805
|
+
content?: never;
|
|
806
|
+
};
|
|
807
|
+
};
|
|
808
|
+
};
|
|
809
|
+
WaitlistController_get: {
|
|
810
|
+
parameters: {
|
|
811
|
+
query?: never;
|
|
812
|
+
header?: never;
|
|
813
|
+
path: {
|
|
814
|
+
id: string;
|
|
815
|
+
};
|
|
816
|
+
cookie?: never;
|
|
817
|
+
};
|
|
818
|
+
requestBody?: never;
|
|
819
|
+
responses: {
|
|
820
|
+
200: {
|
|
821
|
+
headers: {
|
|
822
|
+
[name: string]: unknown;
|
|
823
|
+
};
|
|
824
|
+
content?: never;
|
|
825
|
+
};
|
|
826
|
+
};
|
|
827
|
+
};
|
|
828
|
+
WaitlistController_remove: {
|
|
829
|
+
parameters: {
|
|
830
|
+
query?: never;
|
|
831
|
+
header?: never;
|
|
832
|
+
path: {
|
|
833
|
+
id: string;
|
|
834
|
+
};
|
|
835
|
+
cookie?: never;
|
|
836
|
+
};
|
|
837
|
+
requestBody?: never;
|
|
838
|
+
responses: {
|
|
839
|
+
/** @description Waitlist deleted. */
|
|
840
|
+
204: {
|
|
841
|
+
headers: {
|
|
842
|
+
[name: string]: unknown;
|
|
843
|
+
};
|
|
844
|
+
content?: never;
|
|
845
|
+
};
|
|
846
|
+
/** @description Caller lacks `waitlist.delete`. */
|
|
847
|
+
403: {
|
|
848
|
+
headers: {
|
|
849
|
+
[name: string]: unknown;
|
|
850
|
+
};
|
|
851
|
+
content?: never;
|
|
852
|
+
};
|
|
853
|
+
/** @description Waitlist not found. */
|
|
854
|
+
404: {
|
|
855
|
+
headers: {
|
|
856
|
+
[name: string]: unknown;
|
|
857
|
+
};
|
|
858
|
+
content?: never;
|
|
859
|
+
};
|
|
860
|
+
};
|
|
861
|
+
};
|
|
862
|
+
WaitlistController_update: {
|
|
863
|
+
parameters: {
|
|
864
|
+
query?: never;
|
|
865
|
+
header?: never;
|
|
866
|
+
path: {
|
|
867
|
+
id: string;
|
|
868
|
+
};
|
|
869
|
+
cookie?: never;
|
|
870
|
+
};
|
|
871
|
+
requestBody: {
|
|
872
|
+
content: {
|
|
873
|
+
"application/json": components["schemas"]["UpdateWaitlistDto"];
|
|
874
|
+
};
|
|
875
|
+
};
|
|
876
|
+
responses: {
|
|
877
|
+
/** @description Waitlist updated. */
|
|
878
|
+
200: {
|
|
879
|
+
headers: {
|
|
880
|
+
[name: string]: unknown;
|
|
881
|
+
};
|
|
882
|
+
content?: never;
|
|
883
|
+
};
|
|
884
|
+
/** @description Validation failure. */
|
|
885
|
+
400: {
|
|
886
|
+
headers: {
|
|
887
|
+
[name: string]: unknown;
|
|
888
|
+
};
|
|
889
|
+
content?: never;
|
|
890
|
+
};
|
|
891
|
+
/** @description Waitlist not found. */
|
|
892
|
+
404: {
|
|
893
|
+
headers: {
|
|
894
|
+
[name: string]: unknown;
|
|
895
|
+
};
|
|
896
|
+
content?: never;
|
|
897
|
+
};
|
|
898
|
+
};
|
|
899
|
+
};
|
|
900
|
+
WaitlistController_updateStatus: {
|
|
901
|
+
parameters: {
|
|
902
|
+
query?: never;
|
|
903
|
+
header?: never;
|
|
904
|
+
path: {
|
|
905
|
+
id: string;
|
|
906
|
+
};
|
|
907
|
+
cookie?: never;
|
|
908
|
+
};
|
|
909
|
+
requestBody: {
|
|
910
|
+
content: {
|
|
911
|
+
"application/json": components["schemas"]["UpdateWaitlistStatusDto"];
|
|
912
|
+
};
|
|
913
|
+
};
|
|
914
|
+
responses: {
|
|
915
|
+
/** @description Status updated. */
|
|
916
|
+
200: {
|
|
917
|
+
headers: {
|
|
918
|
+
[name: string]: unknown;
|
|
919
|
+
};
|
|
920
|
+
content?: never;
|
|
921
|
+
};
|
|
922
|
+
/** @description Invalid status transition. */
|
|
923
|
+
400: {
|
|
924
|
+
headers: {
|
|
925
|
+
[name: string]: unknown;
|
|
926
|
+
};
|
|
927
|
+
content?: never;
|
|
928
|
+
};
|
|
929
|
+
/** @description Waitlist not found. */
|
|
930
|
+
404: {
|
|
931
|
+
headers: {
|
|
932
|
+
[name: string]: unknown;
|
|
933
|
+
};
|
|
934
|
+
content?: never;
|
|
935
|
+
};
|
|
936
|
+
};
|
|
937
|
+
};
|
|
938
|
+
AnalyticsController_get: {
|
|
939
|
+
parameters: {
|
|
940
|
+
query?: never;
|
|
941
|
+
header?: never;
|
|
942
|
+
path: {
|
|
943
|
+
workspaceId: string;
|
|
944
|
+
waitlistId: string;
|
|
945
|
+
};
|
|
946
|
+
cookie?: never;
|
|
947
|
+
};
|
|
948
|
+
requestBody?: never;
|
|
949
|
+
responses: {
|
|
950
|
+
200: {
|
|
951
|
+
headers: {
|
|
952
|
+
[name: string]: unknown;
|
|
953
|
+
};
|
|
954
|
+
content?: never;
|
|
955
|
+
};
|
|
956
|
+
};
|
|
957
|
+
};
|
|
958
|
+
AnalyticsController_timeline: {
|
|
959
|
+
parameters: {
|
|
960
|
+
query: {
|
|
961
|
+
/** @description ISO-8601 inclusive start */
|
|
962
|
+
since: string;
|
|
963
|
+
/** @description ISO-8601 exclusive end */
|
|
964
|
+
until: string;
|
|
965
|
+
};
|
|
966
|
+
header?: never;
|
|
967
|
+
path: {
|
|
968
|
+
workspaceId: string;
|
|
969
|
+
waitlistId: string;
|
|
970
|
+
};
|
|
971
|
+
cookie?: never;
|
|
972
|
+
};
|
|
973
|
+
requestBody?: never;
|
|
974
|
+
responses: {
|
|
975
|
+
200: {
|
|
976
|
+
headers: {
|
|
977
|
+
[name: string]: unknown;
|
|
978
|
+
};
|
|
979
|
+
content?: never;
|
|
980
|
+
};
|
|
981
|
+
};
|
|
982
|
+
};
|
|
983
|
+
EntryController_list: {
|
|
984
|
+
parameters: {
|
|
985
|
+
query?: {
|
|
986
|
+
limit?: number;
|
|
987
|
+
/** @description Opaque cursor for pagination */
|
|
988
|
+
cursor?: string;
|
|
989
|
+
/** @description Filter by status */
|
|
990
|
+
status?: string;
|
|
991
|
+
};
|
|
992
|
+
header?: never;
|
|
993
|
+
path: {
|
|
994
|
+
workspaceId: string;
|
|
995
|
+
waitlistId: string;
|
|
996
|
+
};
|
|
997
|
+
cookie?: never;
|
|
998
|
+
};
|
|
999
|
+
requestBody?: never;
|
|
1000
|
+
responses: {
|
|
1001
|
+
/** @description Page of entries with pagination cursor. */
|
|
1002
|
+
200: {
|
|
1003
|
+
headers: {
|
|
1004
|
+
[name: string]: unknown;
|
|
1005
|
+
};
|
|
1006
|
+
content?: never;
|
|
1007
|
+
};
|
|
1008
|
+
/** @description Caller lacks `entry.read`, or workspace has not enabled the `rally` service. */
|
|
1009
|
+
403: {
|
|
1010
|
+
headers: {
|
|
1011
|
+
[name: string]: unknown;
|
|
1012
|
+
};
|
|
1013
|
+
content?: never;
|
|
1014
|
+
};
|
|
1015
|
+
/** @description Waitlist not found in this workspace. */
|
|
1016
|
+
404: {
|
|
1017
|
+
headers: {
|
|
1018
|
+
[name: string]: unknown;
|
|
1019
|
+
};
|
|
1020
|
+
content?: never;
|
|
1021
|
+
};
|
|
1022
|
+
};
|
|
1023
|
+
};
|
|
1024
|
+
EntryController_bulk: {
|
|
1025
|
+
parameters: {
|
|
1026
|
+
query?: never;
|
|
1027
|
+
header?: never;
|
|
1028
|
+
path: {
|
|
1029
|
+
workspaceId: string;
|
|
1030
|
+
waitlistId: string;
|
|
1031
|
+
};
|
|
1032
|
+
cookie?: never;
|
|
1033
|
+
};
|
|
1034
|
+
requestBody: {
|
|
1035
|
+
content: {
|
|
1036
|
+
"application/json": components["schemas"]["BulkEntryActionDto"];
|
|
1037
|
+
};
|
|
1038
|
+
};
|
|
1039
|
+
responses: {
|
|
1040
|
+
/** @description `{ requested, succeeded, failed, results }`. Each row in `results` carries `{ id, status: "ok" | "error", error?: { code, message } }` so a partial failure (one bad id) doesn't fail the whole batch. */
|
|
1041
|
+
200: {
|
|
1042
|
+
headers: {
|
|
1043
|
+
[name: string]: unknown;
|
|
1044
|
+
};
|
|
1045
|
+
content?: never;
|
|
1046
|
+
};
|
|
1047
|
+
/** @description Empty `ids`, more than 100 ids, or unknown action. */
|
|
1048
|
+
400: {
|
|
1049
|
+
headers: {
|
|
1050
|
+
[name: string]: unknown;
|
|
1051
|
+
};
|
|
1052
|
+
content?: never;
|
|
1053
|
+
};
|
|
1054
|
+
/** @description Caller lacks `entry.update`. */
|
|
1055
|
+
403: {
|
|
1056
|
+
headers: {
|
|
1057
|
+
[name: string]: unknown;
|
|
1058
|
+
};
|
|
1059
|
+
content?: never;
|
|
1060
|
+
};
|
|
1061
|
+
/** @description Waitlist not found. */
|
|
1062
|
+
404: {
|
|
1063
|
+
headers: {
|
|
1064
|
+
[name: string]: unknown;
|
|
1065
|
+
};
|
|
1066
|
+
content?: never;
|
|
1067
|
+
};
|
|
1068
|
+
};
|
|
1069
|
+
};
|
|
1070
|
+
EntryController_count: {
|
|
1071
|
+
parameters: {
|
|
1072
|
+
query?: never;
|
|
1073
|
+
header?: never;
|
|
1074
|
+
path: {
|
|
1075
|
+
workspaceId: string;
|
|
1076
|
+
waitlistId: string;
|
|
1077
|
+
};
|
|
1078
|
+
cookie?: never;
|
|
1079
|
+
};
|
|
1080
|
+
requestBody?: never;
|
|
1081
|
+
responses: {
|
|
1082
|
+
200: {
|
|
1083
|
+
headers: {
|
|
1084
|
+
[name: string]: unknown;
|
|
1085
|
+
};
|
|
1086
|
+
content?: never;
|
|
1087
|
+
};
|
|
1088
|
+
};
|
|
1089
|
+
};
|
|
1090
|
+
EntryController_exportCsv: {
|
|
1091
|
+
parameters: {
|
|
1092
|
+
query?: never;
|
|
1093
|
+
header?: never;
|
|
1094
|
+
path: {
|
|
1095
|
+
workspaceId: string;
|
|
1096
|
+
waitlistId: string;
|
|
1097
|
+
};
|
|
1098
|
+
cookie?: never;
|
|
1099
|
+
};
|
|
1100
|
+
requestBody?: never;
|
|
1101
|
+
responses: {
|
|
1102
|
+
/** @description CSV stream */
|
|
1103
|
+
200: {
|
|
1104
|
+
headers: {
|
|
1105
|
+
[name: string]: unknown;
|
|
1106
|
+
};
|
|
1107
|
+
content?: never;
|
|
1108
|
+
};
|
|
1109
|
+
};
|
|
1110
|
+
};
|
|
1111
|
+
EntryController_get: {
|
|
1112
|
+
parameters: {
|
|
1113
|
+
query?: never;
|
|
1114
|
+
header?: never;
|
|
1115
|
+
path: {
|
|
1116
|
+
workspaceId: string;
|
|
1117
|
+
waitlistId: string;
|
|
1118
|
+
entryId: string;
|
|
1119
|
+
};
|
|
1120
|
+
cookie?: never;
|
|
1121
|
+
};
|
|
1122
|
+
requestBody?: never;
|
|
1123
|
+
responses: {
|
|
1124
|
+
200: {
|
|
1125
|
+
headers: {
|
|
1126
|
+
[name: string]: unknown;
|
|
1127
|
+
};
|
|
1128
|
+
content?: never;
|
|
1129
|
+
};
|
|
1130
|
+
};
|
|
1131
|
+
};
|
|
1132
|
+
EntryController_remove: {
|
|
1133
|
+
parameters: {
|
|
1134
|
+
query?: never;
|
|
1135
|
+
header?: never;
|
|
1136
|
+
path: {
|
|
1137
|
+
workspaceId: string;
|
|
1138
|
+
waitlistId: string;
|
|
1139
|
+
entryId: string;
|
|
1140
|
+
};
|
|
1141
|
+
cookie?: never;
|
|
1142
|
+
};
|
|
1143
|
+
requestBody?: never;
|
|
1144
|
+
responses: {
|
|
1145
|
+
/** @description Entry deleted. */
|
|
1146
|
+
204: {
|
|
1147
|
+
headers: {
|
|
1148
|
+
[name: string]: unknown;
|
|
1149
|
+
};
|
|
1150
|
+
content?: never;
|
|
1151
|
+
};
|
|
1152
|
+
/** @description Caller lacks `entry.update`. */
|
|
1153
|
+
403: {
|
|
1154
|
+
headers: {
|
|
1155
|
+
[name: string]: unknown;
|
|
1156
|
+
};
|
|
1157
|
+
content?: never;
|
|
1158
|
+
};
|
|
1159
|
+
/** @description Entry not found. */
|
|
1160
|
+
404: {
|
|
1161
|
+
headers: {
|
|
1162
|
+
[name: string]: unknown;
|
|
1163
|
+
};
|
|
1164
|
+
content?: never;
|
|
1165
|
+
};
|
|
1166
|
+
};
|
|
1167
|
+
};
|
|
1168
|
+
EntryController_updateStatus: {
|
|
1169
|
+
parameters: {
|
|
1170
|
+
query?: never;
|
|
1171
|
+
header?: never;
|
|
1172
|
+
path: {
|
|
1173
|
+
workspaceId: string;
|
|
1174
|
+
waitlistId: string;
|
|
1175
|
+
entryId: string;
|
|
1176
|
+
};
|
|
1177
|
+
cookie?: never;
|
|
1178
|
+
};
|
|
1179
|
+
requestBody: {
|
|
1180
|
+
content: {
|
|
1181
|
+
"application/json": components["schemas"]["UpdateEntryStatusDto"];
|
|
1182
|
+
};
|
|
1183
|
+
};
|
|
1184
|
+
responses: {
|
|
1185
|
+
/** @description Entry status updated. */
|
|
1186
|
+
200: {
|
|
1187
|
+
headers: {
|
|
1188
|
+
[name: string]: unknown;
|
|
1189
|
+
};
|
|
1190
|
+
content?: never;
|
|
1191
|
+
};
|
|
1192
|
+
/** @description Invalid status transition. */
|
|
1193
|
+
400: {
|
|
1194
|
+
headers: {
|
|
1195
|
+
[name: string]: unknown;
|
|
1196
|
+
};
|
|
1197
|
+
content?: never;
|
|
1198
|
+
};
|
|
1199
|
+
/** @description Caller lacks `entry.update`. */
|
|
1200
|
+
403: {
|
|
1201
|
+
headers: {
|
|
1202
|
+
[name: string]: unknown;
|
|
1203
|
+
};
|
|
1204
|
+
content?: never;
|
|
1205
|
+
};
|
|
1206
|
+
/** @description Entry not found in this waitlist. */
|
|
1207
|
+
404: {
|
|
1208
|
+
headers: {
|
|
1209
|
+
[name: string]: unknown;
|
|
1210
|
+
};
|
|
1211
|
+
content?: never;
|
|
1212
|
+
};
|
|
1213
|
+
};
|
|
1214
|
+
};
|
|
1215
|
+
EntryController_inviteToApp: {
|
|
1216
|
+
parameters: {
|
|
1217
|
+
query?: never;
|
|
1218
|
+
header?: never;
|
|
1219
|
+
path: {
|
|
1220
|
+
workspaceId: string;
|
|
1221
|
+
waitlistId: string;
|
|
1222
|
+
entryId: string;
|
|
1223
|
+
};
|
|
1224
|
+
cookie?: never;
|
|
1225
|
+
};
|
|
1226
|
+
requestBody: {
|
|
1227
|
+
content: {
|
|
1228
|
+
"application/json": components["schemas"]["InviteToAppDto"];
|
|
1229
|
+
};
|
|
1230
|
+
};
|
|
1231
|
+
responses: {
|
|
1232
|
+
/** @description Invite created in Heimdall */
|
|
1233
|
+
200: {
|
|
1234
|
+
headers: {
|
|
1235
|
+
[name: string]: unknown;
|
|
1236
|
+
};
|
|
1237
|
+
content?: never;
|
|
1238
|
+
};
|
|
1239
|
+
/** @description No linked Heimdall app for this workspace */
|
|
1240
|
+
422: {
|
|
1241
|
+
headers: {
|
|
1242
|
+
[name: string]: unknown;
|
|
1243
|
+
};
|
|
1244
|
+
content?: never;
|
|
1245
|
+
};
|
|
1246
|
+
};
|
|
1247
|
+
};
|
|
1248
|
+
VariantController_list: {
|
|
1249
|
+
parameters: {
|
|
1250
|
+
query?: never;
|
|
1251
|
+
header?: never;
|
|
1252
|
+
path: {
|
|
1253
|
+
workspaceId: string;
|
|
1254
|
+
waitlistId: string;
|
|
1255
|
+
};
|
|
1256
|
+
cookie?: never;
|
|
1257
|
+
};
|
|
1258
|
+
requestBody?: never;
|
|
1259
|
+
responses: {
|
|
1260
|
+
/** @description Bare array of variants */
|
|
1261
|
+
200: {
|
|
1262
|
+
headers: {
|
|
1263
|
+
[name: string]: unknown;
|
|
1264
|
+
};
|
|
1265
|
+
content?: never;
|
|
1266
|
+
};
|
|
1267
|
+
};
|
|
1268
|
+
};
|
|
1269
|
+
VariantController_create: {
|
|
1270
|
+
parameters: {
|
|
1271
|
+
query?: never;
|
|
1272
|
+
header?: never;
|
|
1273
|
+
path: {
|
|
1274
|
+
workspaceId: string;
|
|
1275
|
+
waitlistId: string;
|
|
1276
|
+
};
|
|
1277
|
+
cookie?: never;
|
|
1278
|
+
};
|
|
1279
|
+
requestBody: {
|
|
1280
|
+
content: {
|
|
1281
|
+
"application/json": components["schemas"]["CreateVariantDto"];
|
|
1282
|
+
};
|
|
1283
|
+
};
|
|
1284
|
+
responses: {
|
|
1285
|
+
/** @description Variant created */
|
|
1286
|
+
201: {
|
|
1287
|
+
headers: {
|
|
1288
|
+
[name: string]: unknown;
|
|
1289
|
+
};
|
|
1290
|
+
content?: never;
|
|
1291
|
+
};
|
|
1292
|
+
/** @description Validation failure */
|
|
1293
|
+
400: {
|
|
1294
|
+
headers: {
|
|
1295
|
+
[name: string]: unknown;
|
|
1296
|
+
};
|
|
1297
|
+
content?: never;
|
|
1298
|
+
};
|
|
1299
|
+
/** @description Waitlist not found in this workspace */
|
|
1300
|
+
404: {
|
|
1301
|
+
headers: {
|
|
1302
|
+
[name: string]: unknown;
|
|
1303
|
+
};
|
|
1304
|
+
content?: never;
|
|
1305
|
+
};
|
|
1306
|
+
};
|
|
1307
|
+
};
|
|
1308
|
+
VariantController_remove: {
|
|
1309
|
+
parameters: {
|
|
1310
|
+
query?: never;
|
|
1311
|
+
header?: never;
|
|
1312
|
+
path: {
|
|
1313
|
+
workspaceId: string;
|
|
1314
|
+
waitlistId: string;
|
|
1315
|
+
id: string;
|
|
1316
|
+
};
|
|
1317
|
+
cookie?: never;
|
|
1318
|
+
};
|
|
1319
|
+
requestBody?: never;
|
|
1320
|
+
responses: {
|
|
1321
|
+
/** @description Variant deleted */
|
|
1322
|
+
204: {
|
|
1323
|
+
headers: {
|
|
1324
|
+
[name: string]: unknown;
|
|
1325
|
+
};
|
|
1326
|
+
content?: never;
|
|
1327
|
+
};
|
|
1328
|
+
/** @description Variant not found */
|
|
1329
|
+
404: {
|
|
1330
|
+
headers: {
|
|
1331
|
+
[name: string]: unknown;
|
|
1332
|
+
};
|
|
1333
|
+
content?: never;
|
|
1334
|
+
};
|
|
1335
|
+
};
|
|
1336
|
+
};
|
|
1337
|
+
VariantController_update: {
|
|
1338
|
+
parameters: {
|
|
1339
|
+
query?: never;
|
|
1340
|
+
header?: never;
|
|
1341
|
+
path: {
|
|
1342
|
+
workspaceId: string;
|
|
1343
|
+
waitlistId: string;
|
|
1344
|
+
id: string;
|
|
1345
|
+
};
|
|
1346
|
+
cookie?: never;
|
|
1347
|
+
};
|
|
1348
|
+
requestBody: {
|
|
1349
|
+
content: {
|
|
1350
|
+
"application/json": components["schemas"]["UpdateVariantDto"];
|
|
1351
|
+
};
|
|
1352
|
+
};
|
|
1353
|
+
responses: {
|
|
1354
|
+
/** @description Variant updated */
|
|
1355
|
+
200: {
|
|
1356
|
+
headers: {
|
|
1357
|
+
[name: string]: unknown;
|
|
1358
|
+
};
|
|
1359
|
+
content?: never;
|
|
1360
|
+
};
|
|
1361
|
+
/** @description Variant not found */
|
|
1362
|
+
404: {
|
|
1363
|
+
headers: {
|
|
1364
|
+
[name: string]: unknown;
|
|
1365
|
+
};
|
|
1366
|
+
content?: never;
|
|
1367
|
+
};
|
|
1368
|
+
};
|
|
1369
|
+
};
|
|
1370
|
+
WebhookController_list: {
|
|
1371
|
+
parameters: {
|
|
1372
|
+
query?: never;
|
|
1373
|
+
header?: never;
|
|
1374
|
+
path: {
|
|
1375
|
+
workspaceId: string;
|
|
1376
|
+
waitlistId: string;
|
|
1377
|
+
};
|
|
1378
|
+
cookie?: never;
|
|
1379
|
+
};
|
|
1380
|
+
requestBody?: never;
|
|
1381
|
+
responses: {
|
|
1382
|
+
200: {
|
|
1383
|
+
headers: {
|
|
1384
|
+
[name: string]: unknown;
|
|
1385
|
+
};
|
|
1386
|
+
content?: never;
|
|
1387
|
+
};
|
|
1388
|
+
};
|
|
1389
|
+
};
|
|
1390
|
+
WebhookController_create: {
|
|
1391
|
+
parameters: {
|
|
1392
|
+
query?: never;
|
|
1393
|
+
header?: never;
|
|
1394
|
+
path: {
|
|
1395
|
+
workspaceId: string;
|
|
1396
|
+
waitlistId: string;
|
|
1397
|
+
};
|
|
1398
|
+
cookie?: never;
|
|
1399
|
+
};
|
|
1400
|
+
requestBody: {
|
|
1401
|
+
content: {
|
|
1402
|
+
"application/json": components["schemas"]["CreateWebhookDto"];
|
|
1403
|
+
};
|
|
1404
|
+
};
|
|
1405
|
+
responses: {
|
|
1406
|
+
/** @description Webhook created */
|
|
1407
|
+
201: {
|
|
1408
|
+
headers: {
|
|
1409
|
+
[name: string]: unknown;
|
|
1410
|
+
};
|
|
1411
|
+
content?: never;
|
|
1412
|
+
};
|
|
1413
|
+
};
|
|
1414
|
+
};
|
|
1415
|
+
WebhookController_get: {
|
|
1416
|
+
parameters: {
|
|
1417
|
+
query?: never;
|
|
1418
|
+
header?: never;
|
|
1419
|
+
path: {
|
|
1420
|
+
workspaceId: string;
|
|
1421
|
+
waitlistId: string;
|
|
1422
|
+
id: string;
|
|
1423
|
+
};
|
|
1424
|
+
cookie?: never;
|
|
1425
|
+
};
|
|
1426
|
+
requestBody?: never;
|
|
1427
|
+
responses: {
|
|
1428
|
+
200: {
|
|
1429
|
+
headers: {
|
|
1430
|
+
[name: string]: unknown;
|
|
1431
|
+
};
|
|
1432
|
+
content?: never;
|
|
1433
|
+
};
|
|
1434
|
+
};
|
|
1435
|
+
};
|
|
1436
|
+
WebhookController_remove: {
|
|
1437
|
+
parameters: {
|
|
1438
|
+
query?: never;
|
|
1439
|
+
header?: never;
|
|
1440
|
+
path: {
|
|
1441
|
+
workspaceId: string;
|
|
1442
|
+
waitlistId: string;
|
|
1443
|
+
id: string;
|
|
1444
|
+
};
|
|
1445
|
+
cookie?: never;
|
|
1446
|
+
};
|
|
1447
|
+
requestBody?: never;
|
|
1448
|
+
responses: {
|
|
1449
|
+
204: {
|
|
1450
|
+
headers: {
|
|
1451
|
+
[name: string]: unknown;
|
|
1452
|
+
};
|
|
1453
|
+
content?: never;
|
|
1454
|
+
};
|
|
1455
|
+
};
|
|
1456
|
+
};
|
|
1457
|
+
WebhookController_update: {
|
|
1458
|
+
parameters: {
|
|
1459
|
+
query?: never;
|
|
1460
|
+
header?: never;
|
|
1461
|
+
path: {
|
|
1462
|
+
workspaceId: string;
|
|
1463
|
+
waitlistId: string;
|
|
1464
|
+
id: string;
|
|
1465
|
+
};
|
|
1466
|
+
cookie?: never;
|
|
1467
|
+
};
|
|
1468
|
+
requestBody: {
|
|
1469
|
+
content: {
|
|
1470
|
+
"application/json": components["schemas"]["UpdateWebhookDto"];
|
|
1471
|
+
};
|
|
1472
|
+
};
|
|
1473
|
+
responses: {
|
|
1474
|
+
200: {
|
|
1475
|
+
headers: {
|
|
1476
|
+
[name: string]: unknown;
|
|
1477
|
+
};
|
|
1478
|
+
content?: never;
|
|
1479
|
+
};
|
|
1480
|
+
};
|
|
1481
|
+
};
|
|
1482
|
+
WebhookController_recentDeliveries: {
|
|
1483
|
+
parameters: {
|
|
1484
|
+
query?: never;
|
|
1485
|
+
header?: never;
|
|
1486
|
+
path: {
|
|
1487
|
+
workspaceId: string;
|
|
1488
|
+
waitlistId: string;
|
|
1489
|
+
id: string;
|
|
1490
|
+
};
|
|
1491
|
+
cookie?: never;
|
|
1492
|
+
};
|
|
1493
|
+
requestBody?: never;
|
|
1494
|
+
responses: {
|
|
1495
|
+
/** @description `{ data: Array<{ id, event_id, event_type, attempt_number, status_code, response_body, error_message, latency_ms, created_at }> }` */
|
|
1496
|
+
200: {
|
|
1497
|
+
headers: {
|
|
1498
|
+
[name: string]: unknown;
|
|
1499
|
+
};
|
|
1500
|
+
content?: never;
|
|
1501
|
+
};
|
|
1502
|
+
};
|
|
1503
|
+
};
|
|
1504
|
+
WebhookController_rotateSecret: {
|
|
1505
|
+
parameters: {
|
|
1506
|
+
query?: never;
|
|
1507
|
+
header?: never;
|
|
1508
|
+
path: {
|
|
1509
|
+
workspaceId: string;
|
|
1510
|
+
waitlistId: string;
|
|
1511
|
+
id: string;
|
|
1512
|
+
};
|
|
1513
|
+
cookie?: never;
|
|
1514
|
+
};
|
|
1515
|
+
requestBody?: never;
|
|
1516
|
+
responses: {
|
|
1517
|
+
201: {
|
|
1518
|
+
headers: {
|
|
1519
|
+
[name: string]: unknown;
|
|
1520
|
+
};
|
|
1521
|
+
content?: never;
|
|
1522
|
+
};
|
|
1523
|
+
};
|
|
1524
|
+
};
|
|
1525
|
+
WebhookController_fireTest: {
|
|
1526
|
+
parameters: {
|
|
1527
|
+
query?: never;
|
|
1528
|
+
header?: never;
|
|
1529
|
+
path: {
|
|
1530
|
+
workspaceId: string;
|
|
1531
|
+
waitlistId: string;
|
|
1532
|
+
id: string;
|
|
1533
|
+
};
|
|
1534
|
+
cookie?: never;
|
|
1535
|
+
};
|
|
1536
|
+
requestBody: {
|
|
1537
|
+
content: {
|
|
1538
|
+
"application/json": components["schemas"]["TestWebhookDto"];
|
|
1539
|
+
};
|
|
1540
|
+
};
|
|
1541
|
+
responses: {
|
|
1542
|
+
202: {
|
|
1543
|
+
headers: {
|
|
1544
|
+
[name: string]: unknown;
|
|
1545
|
+
};
|
|
1546
|
+
content?: never;
|
|
1547
|
+
};
|
|
1548
|
+
};
|
|
1549
|
+
};
|
|
1550
|
+
}
|
|
1551
|
+
|
|
1552
|
+
/**
|
|
1553
|
+
* Rally — typed `openapi-fetch` client for every endpoint in
|
|
1554
|
+
* `Specs/rally.json`. Reach for `client.GET("/v1/...")` or
|
|
1555
|
+
* `client.POST(...)`; request / response types come from the
|
|
1556
|
+
* generated `paths` interface.
|
|
1557
|
+
*/
|
|
1558
|
+
declare class Rally {
|
|
1559
|
+
/** The underlying typed client. v0 surface — every endpoint reachable. */
|
|
1560
|
+
readonly client: ReturnType<typeof makeClient<paths>>;
|
|
1561
|
+
constructor(config?: PCClientConfig);
|
|
1562
|
+
}
|
|
1563
|
+
|
|
1564
|
+
export { Rally, type paths };
|