@jacobhumston/roblox-openapi-ts 1.0.32 → 1.0.33
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/types.d.ts +1724 -36
- package/package.json +1 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,959 @@
|
|
|
1
1
|
export interface paths {
|
|
2
|
+
"/ads-management/v1/advertisable-universes": {
|
|
3
|
+
parameters: {
|
|
4
|
+
query?: never;
|
|
5
|
+
header?: never;
|
|
6
|
+
path?: never;
|
|
7
|
+
cookie?: never;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* List advertisable universes
|
|
11
|
+
* @description Returns the universe IDs of every experience the billing account is eligible to advertise. The complete list is returned in a single response; this endpoint is not paginated. Use these IDs to set targetUniverseId when creating a campaign, and resolve experience names with the Open Cloud Universe API.
|
|
12
|
+
*/
|
|
13
|
+
get: {
|
|
14
|
+
parameters: {
|
|
15
|
+
query?: never;
|
|
16
|
+
header?: never;
|
|
17
|
+
path?: never;
|
|
18
|
+
cookie?: never;
|
|
19
|
+
};
|
|
20
|
+
requestBody?: never;
|
|
21
|
+
responses: {
|
|
22
|
+
/** @description OK */
|
|
23
|
+
200: {
|
|
24
|
+
headers: {
|
|
25
|
+
[name: string]: unknown;
|
|
26
|
+
};
|
|
27
|
+
content: {
|
|
28
|
+
"application/json": components["schemas"]["internal_public_v1.ListAdvertisableUniversesResponse"];
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
/** @description Permission denied */
|
|
32
|
+
403: {
|
|
33
|
+
headers: {
|
|
34
|
+
[name: string]: unknown;
|
|
35
|
+
};
|
|
36
|
+
content: {
|
|
37
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
/** @description Rate limit exceeded */
|
|
41
|
+
429: {
|
|
42
|
+
headers: {
|
|
43
|
+
[name: string]: unknown;
|
|
44
|
+
};
|
|
45
|
+
content: {
|
|
46
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
/** @description Internal server error */
|
|
50
|
+
500: {
|
|
51
|
+
headers: {
|
|
52
|
+
[name: string]: unknown;
|
|
53
|
+
};
|
|
54
|
+
content: {
|
|
55
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
put?: never;
|
|
61
|
+
post?: never;
|
|
62
|
+
delete?: never;
|
|
63
|
+
options?: never;
|
|
64
|
+
head?: never;
|
|
65
|
+
patch?: never;
|
|
66
|
+
trace?: never;
|
|
67
|
+
};
|
|
68
|
+
"/ads-management/v1/billing-accounts": {
|
|
69
|
+
parameters: {
|
|
70
|
+
query?: never;
|
|
71
|
+
header?: never;
|
|
72
|
+
path?: never;
|
|
73
|
+
cookie?: never;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* List billing accounts
|
|
77
|
+
* @description Lists the billing accounts owned by the authenticated user. Each account includes its type, status, time zone, and create/update timestamps. Results are paginated with a cursor (pageToken).
|
|
78
|
+
*/
|
|
79
|
+
get: {
|
|
80
|
+
parameters: {
|
|
81
|
+
query?: {
|
|
82
|
+
/** @description Maximum results per page (1-100, default 50) */
|
|
83
|
+
maxPageSize?: number;
|
|
84
|
+
/** @description Opaque cursor from a prior nextPageToken */
|
|
85
|
+
pageToken?: string;
|
|
86
|
+
};
|
|
87
|
+
header?: never;
|
|
88
|
+
path?: never;
|
|
89
|
+
cookie?: never;
|
|
90
|
+
};
|
|
91
|
+
requestBody?: never;
|
|
92
|
+
responses: {
|
|
93
|
+
/** @description OK */
|
|
94
|
+
200: {
|
|
95
|
+
headers: {
|
|
96
|
+
[name: string]: unknown;
|
|
97
|
+
};
|
|
98
|
+
content: {
|
|
99
|
+
"application/json": components["schemas"]["internal_public_v1.ListBillingAccountsResponse"];
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
/** @description Invalid maxPageSize or pageToken */
|
|
103
|
+
400: {
|
|
104
|
+
headers: {
|
|
105
|
+
[name: string]: unknown;
|
|
106
|
+
};
|
|
107
|
+
content: {
|
|
108
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
/** @description Permission denied */
|
|
112
|
+
403: {
|
|
113
|
+
headers: {
|
|
114
|
+
[name: string]: unknown;
|
|
115
|
+
};
|
|
116
|
+
content: {
|
|
117
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
/** @description Rate limit exceeded */
|
|
121
|
+
429: {
|
|
122
|
+
headers: {
|
|
123
|
+
[name: string]: unknown;
|
|
124
|
+
};
|
|
125
|
+
content: {
|
|
126
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
/** @description Internal server error */
|
|
130
|
+
500: {
|
|
131
|
+
headers: {
|
|
132
|
+
[name: string]: unknown;
|
|
133
|
+
};
|
|
134
|
+
content: {
|
|
135
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
put?: never;
|
|
141
|
+
post?: never;
|
|
142
|
+
delete?: never;
|
|
143
|
+
options?: never;
|
|
144
|
+
head?: never;
|
|
145
|
+
patch?: never;
|
|
146
|
+
trace?: never;
|
|
147
|
+
};
|
|
148
|
+
"/ads-management/v1/billing-accounts/{id}": {
|
|
149
|
+
parameters: {
|
|
150
|
+
query?: never;
|
|
151
|
+
header?: never;
|
|
152
|
+
path?: never;
|
|
153
|
+
cookie?: never;
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* Get a billing account
|
|
157
|
+
* @description Returns a single billing account owned by the authenticated user. Returns 404 if the account does not exist or is not owned by the caller.
|
|
158
|
+
*/
|
|
159
|
+
get: {
|
|
160
|
+
parameters: {
|
|
161
|
+
query?: never;
|
|
162
|
+
header?: never;
|
|
163
|
+
path: {
|
|
164
|
+
/** @description Billing account ID */
|
|
165
|
+
id: string;
|
|
166
|
+
};
|
|
167
|
+
cookie?: never;
|
|
168
|
+
};
|
|
169
|
+
requestBody?: never;
|
|
170
|
+
responses: {
|
|
171
|
+
/** @description OK */
|
|
172
|
+
200: {
|
|
173
|
+
headers: {
|
|
174
|
+
[name: string]: unknown;
|
|
175
|
+
};
|
|
176
|
+
content: {
|
|
177
|
+
"application/json": components["schemas"]["internal_public_v1.BillingAccount"];
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
/** @description Permission denied */
|
|
181
|
+
403: {
|
|
182
|
+
headers: {
|
|
183
|
+
[name: string]: unknown;
|
|
184
|
+
};
|
|
185
|
+
content: {
|
|
186
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
/** @description Billing account not found */
|
|
190
|
+
404: {
|
|
191
|
+
headers: {
|
|
192
|
+
[name: string]: unknown;
|
|
193
|
+
};
|
|
194
|
+
content: {
|
|
195
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
196
|
+
};
|
|
197
|
+
};
|
|
198
|
+
/** @description Rate limit exceeded */
|
|
199
|
+
429: {
|
|
200
|
+
headers: {
|
|
201
|
+
[name: string]: unknown;
|
|
202
|
+
};
|
|
203
|
+
content: {
|
|
204
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
205
|
+
};
|
|
206
|
+
};
|
|
207
|
+
/** @description Internal server error */
|
|
208
|
+
500: {
|
|
209
|
+
headers: {
|
|
210
|
+
[name: string]: unknown;
|
|
211
|
+
};
|
|
212
|
+
content: {
|
|
213
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
214
|
+
};
|
|
215
|
+
};
|
|
216
|
+
};
|
|
217
|
+
};
|
|
218
|
+
put?: never;
|
|
219
|
+
post?: never;
|
|
220
|
+
delete?: never;
|
|
221
|
+
options?: never;
|
|
222
|
+
head?: never;
|
|
223
|
+
patch?: never;
|
|
224
|
+
trace?: never;
|
|
225
|
+
};
|
|
226
|
+
"/ads-management/v1/campaign-options": {
|
|
227
|
+
parameters: {
|
|
228
|
+
query?: never;
|
|
229
|
+
header?: never;
|
|
230
|
+
path?: never;
|
|
231
|
+
cookie?: never;
|
|
232
|
+
};
|
|
233
|
+
/**
|
|
234
|
+
* Get campaign options
|
|
235
|
+
* @description Returns the values accepted when creating a campaign: supported objectives, payment types, ad formats, and targeting dimensions. When universeId is supplied, the response also includes an eligibility block indicating whether that experience can currently be advertised, along with the reasons when it cannot.
|
|
236
|
+
*/
|
|
237
|
+
get: {
|
|
238
|
+
parameters: {
|
|
239
|
+
query?: {
|
|
240
|
+
/** @description Universe ID to check eligibility for */
|
|
241
|
+
universeId?: string;
|
|
242
|
+
/** @description Objective filter (ENGAGEMENT in v1) */
|
|
243
|
+
objective?: string;
|
|
244
|
+
};
|
|
245
|
+
header?: never;
|
|
246
|
+
path?: never;
|
|
247
|
+
cookie?: never;
|
|
248
|
+
};
|
|
249
|
+
requestBody?: never;
|
|
250
|
+
responses: {
|
|
251
|
+
/** @description OK */
|
|
252
|
+
200: {
|
|
253
|
+
headers: {
|
|
254
|
+
[name: string]: unknown;
|
|
255
|
+
};
|
|
256
|
+
content: {
|
|
257
|
+
"application/json": components["schemas"]["internal_public_v1.CampaignOptionsResponse"];
|
|
258
|
+
};
|
|
259
|
+
};
|
|
260
|
+
/** @description Invalid objective or universeId */
|
|
261
|
+
400: {
|
|
262
|
+
headers: {
|
|
263
|
+
[name: string]: unknown;
|
|
264
|
+
};
|
|
265
|
+
content: {
|
|
266
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
267
|
+
};
|
|
268
|
+
};
|
|
269
|
+
/** @description Permission denied */
|
|
270
|
+
403: {
|
|
271
|
+
headers: {
|
|
272
|
+
[name: string]: unknown;
|
|
273
|
+
};
|
|
274
|
+
content: {
|
|
275
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
276
|
+
};
|
|
277
|
+
};
|
|
278
|
+
/** @description Rate limit exceeded */
|
|
279
|
+
429: {
|
|
280
|
+
headers: {
|
|
281
|
+
[name: string]: unknown;
|
|
282
|
+
};
|
|
283
|
+
content: {
|
|
284
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
285
|
+
};
|
|
286
|
+
};
|
|
287
|
+
/** @description Internal server error */
|
|
288
|
+
500: {
|
|
289
|
+
headers: {
|
|
290
|
+
[name: string]: unknown;
|
|
291
|
+
};
|
|
292
|
+
content: {
|
|
293
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
294
|
+
};
|
|
295
|
+
};
|
|
296
|
+
};
|
|
297
|
+
};
|
|
298
|
+
put?: never;
|
|
299
|
+
post?: never;
|
|
300
|
+
delete?: never;
|
|
301
|
+
options?: never;
|
|
302
|
+
head?: never;
|
|
303
|
+
patch?: never;
|
|
304
|
+
trace?: never;
|
|
305
|
+
};
|
|
306
|
+
"/ads-management/v1/campaigns": {
|
|
307
|
+
parameters: {
|
|
308
|
+
query?: never;
|
|
309
|
+
header?: never;
|
|
310
|
+
path?: never;
|
|
311
|
+
cookie?: never;
|
|
312
|
+
};
|
|
313
|
+
/**
|
|
314
|
+
* List campaigns
|
|
315
|
+
* @description Lists the campaigns in the caller's billing account. Campaigns are grouped by status (ACTIVE first, then PAUSED, then CANCELLED) and returned newest first within each group. Results are paginated with a cursor (pageToken); each page returns up to maxPageSize campaigns (default 50, max 100).
|
|
316
|
+
*/
|
|
317
|
+
get: {
|
|
318
|
+
parameters: {
|
|
319
|
+
query?: {
|
|
320
|
+
/** @description Maximum results per page (1-100, default 50) */
|
|
321
|
+
maxPageSize?: number;
|
|
322
|
+
/** @description Opaque cursor from a prior nextPageToken */
|
|
323
|
+
pageToken?: string;
|
|
324
|
+
};
|
|
325
|
+
header?: never;
|
|
326
|
+
path?: never;
|
|
327
|
+
cookie?: never;
|
|
328
|
+
};
|
|
329
|
+
requestBody?: never;
|
|
330
|
+
responses: {
|
|
331
|
+
/** @description OK */
|
|
332
|
+
200: {
|
|
333
|
+
headers: {
|
|
334
|
+
[name: string]: unknown;
|
|
335
|
+
};
|
|
336
|
+
content: {
|
|
337
|
+
"application/json": components["schemas"]["internal_public_v1.ListCampaignsResponse"];
|
|
338
|
+
};
|
|
339
|
+
};
|
|
340
|
+
/** @description Invalid maxPageSize or pageToken */
|
|
341
|
+
400: {
|
|
342
|
+
headers: {
|
|
343
|
+
[name: string]: unknown;
|
|
344
|
+
};
|
|
345
|
+
content: {
|
|
346
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
347
|
+
};
|
|
348
|
+
};
|
|
349
|
+
/** @description Permission denied */
|
|
350
|
+
403: {
|
|
351
|
+
headers: {
|
|
352
|
+
[name: string]: unknown;
|
|
353
|
+
};
|
|
354
|
+
content: {
|
|
355
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
356
|
+
};
|
|
357
|
+
};
|
|
358
|
+
/** @description Rate limit exceeded */
|
|
359
|
+
429: {
|
|
360
|
+
headers: {
|
|
361
|
+
[name: string]: unknown;
|
|
362
|
+
};
|
|
363
|
+
content: {
|
|
364
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
365
|
+
};
|
|
366
|
+
};
|
|
367
|
+
/** @description Internal server error */
|
|
368
|
+
500: {
|
|
369
|
+
headers: {
|
|
370
|
+
[name: string]: unknown;
|
|
371
|
+
};
|
|
372
|
+
content: {
|
|
373
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
374
|
+
};
|
|
375
|
+
};
|
|
376
|
+
};
|
|
377
|
+
};
|
|
378
|
+
put?: never;
|
|
379
|
+
/**
|
|
380
|
+
* Create a campaign
|
|
381
|
+
* @description Creates an ad campaign in the billing account. The creatives you reference must already exist as Open Cloud image assets that you have permission to use; they are validated and saved to your account's reusable creatives when the campaign is created. On success the campaign is returned with deliveryStatus IN_REVIEW, meaning it is queued for ad-policy review and not yet serving — poll the campaign (or campaigns:batchGetStatus) until this changes. budget.amountMicros is the budget in micro-USD as a decimal string (e.g. "5000000" = $5.00). It must be at least the minimum campaign budget; an amount below the minimum returns 400 with the required minimum stated in the error message. schedule.durationInDays must not exceed 3650 (~10 years). The x-idempotency-key header is required and must be a UUID: retrying the same key with an identical body within 24 hours returns the original campaign (200), while reusing a key with a different body returns 409.
|
|
382
|
+
*/
|
|
383
|
+
post: {
|
|
384
|
+
parameters: {
|
|
385
|
+
query?: never;
|
|
386
|
+
header: {
|
|
387
|
+
/** @description Idempotency key (UUID); 24h dedupe window. Identical replay returns the original campaign (200); mismatched replay may conflict (409). */
|
|
388
|
+
"x-idempotency-key": string;
|
|
389
|
+
};
|
|
390
|
+
path?: never;
|
|
391
|
+
cookie?: never;
|
|
392
|
+
};
|
|
393
|
+
/** @description Campaign creation request */
|
|
394
|
+
requestBody: {
|
|
395
|
+
content: {
|
|
396
|
+
"application/json": components["schemas"]["internal_public_v1.CreateCampaignRequest"];
|
|
397
|
+
};
|
|
398
|
+
};
|
|
399
|
+
responses: {
|
|
400
|
+
/** @description Campaign created, or idempotent replay of a prior create with the same key and body */
|
|
401
|
+
200: {
|
|
402
|
+
headers: {
|
|
403
|
+
[name: string]: unknown;
|
|
404
|
+
};
|
|
405
|
+
content: {
|
|
406
|
+
"application/json": components["schemas"]["internal_public_v1.Campaign"];
|
|
407
|
+
};
|
|
408
|
+
};
|
|
409
|
+
/** @description Validation error, invalid asset, or endTime sent */
|
|
410
|
+
400: {
|
|
411
|
+
headers: {
|
|
412
|
+
[name: string]: unknown;
|
|
413
|
+
};
|
|
414
|
+
content: {
|
|
415
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
416
|
+
};
|
|
417
|
+
};
|
|
418
|
+
/** @description Cannot manage account, universe not advertisable, or USE-permission denied */
|
|
419
|
+
403: {
|
|
420
|
+
headers: {
|
|
421
|
+
[name: string]: unknown;
|
|
422
|
+
};
|
|
423
|
+
content: {
|
|
424
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
425
|
+
};
|
|
426
|
+
};
|
|
427
|
+
/** @description Idempotency key reused with a different request body, or concurrent write conflict */
|
|
428
|
+
409: {
|
|
429
|
+
headers: {
|
|
430
|
+
[name: string]: unknown;
|
|
431
|
+
};
|
|
432
|
+
content: {
|
|
433
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
434
|
+
};
|
|
435
|
+
};
|
|
436
|
+
/** @description Rate limit exceeded */
|
|
437
|
+
429: {
|
|
438
|
+
headers: {
|
|
439
|
+
[name: string]: unknown;
|
|
440
|
+
};
|
|
441
|
+
content: {
|
|
442
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
443
|
+
};
|
|
444
|
+
};
|
|
445
|
+
/** @description Internal server error */
|
|
446
|
+
500: {
|
|
447
|
+
headers: {
|
|
448
|
+
[name: string]: unknown;
|
|
449
|
+
};
|
|
450
|
+
content: {
|
|
451
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
452
|
+
};
|
|
453
|
+
};
|
|
454
|
+
};
|
|
455
|
+
};
|
|
456
|
+
delete?: never;
|
|
457
|
+
options?: never;
|
|
458
|
+
head?: never;
|
|
459
|
+
patch?: never;
|
|
460
|
+
trace?: never;
|
|
461
|
+
};
|
|
462
|
+
"/ads-management/v1/campaigns/{id}": {
|
|
463
|
+
parameters: {
|
|
464
|
+
query?: never;
|
|
465
|
+
header?: never;
|
|
466
|
+
path?: never;
|
|
467
|
+
cookie?: never;
|
|
468
|
+
};
|
|
469
|
+
/**
|
|
470
|
+
* Get a campaign
|
|
471
|
+
* @description Returns a single campaign, including its status (the lifecycle state you control: ACTIVE, PAUSED, or CANCELLED) and its deliveryStatus (whether it is currently serving: SERVING, IN_REVIEW, NOT_SERVING, or REJECTED). deliveryStatusReasons lists any reasons that affect delivery — for example why a campaign is not serving or was rejected, or that a serving campaign is still in its initial learning period. Returns 404 if the campaign does not exist or is not owned by the caller.
|
|
472
|
+
*/
|
|
473
|
+
get: {
|
|
474
|
+
parameters: {
|
|
475
|
+
query?: never;
|
|
476
|
+
header?: never;
|
|
477
|
+
path: {
|
|
478
|
+
/** @description Campaign ID */
|
|
479
|
+
id: string;
|
|
480
|
+
};
|
|
481
|
+
cookie?: never;
|
|
482
|
+
};
|
|
483
|
+
requestBody?: never;
|
|
484
|
+
responses: {
|
|
485
|
+
/** @description OK */
|
|
486
|
+
200: {
|
|
487
|
+
headers: {
|
|
488
|
+
[name: string]: unknown;
|
|
489
|
+
};
|
|
490
|
+
content: {
|
|
491
|
+
"application/json": components["schemas"]["internal_public_v1.Campaign"];
|
|
492
|
+
};
|
|
493
|
+
};
|
|
494
|
+
/** @description Invalid campaign ID */
|
|
495
|
+
400: {
|
|
496
|
+
headers: {
|
|
497
|
+
[name: string]: unknown;
|
|
498
|
+
};
|
|
499
|
+
content: {
|
|
500
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
501
|
+
};
|
|
502
|
+
};
|
|
503
|
+
/** @description Permission denied */
|
|
504
|
+
403: {
|
|
505
|
+
headers: {
|
|
506
|
+
[name: string]: unknown;
|
|
507
|
+
};
|
|
508
|
+
content: {
|
|
509
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
510
|
+
};
|
|
511
|
+
};
|
|
512
|
+
/** @description Campaign not found */
|
|
513
|
+
404: {
|
|
514
|
+
headers: {
|
|
515
|
+
[name: string]: unknown;
|
|
516
|
+
};
|
|
517
|
+
content: {
|
|
518
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
519
|
+
};
|
|
520
|
+
};
|
|
521
|
+
/** @description Rate limit exceeded */
|
|
522
|
+
429: {
|
|
523
|
+
headers: {
|
|
524
|
+
[name: string]: unknown;
|
|
525
|
+
};
|
|
526
|
+
content: {
|
|
527
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
528
|
+
};
|
|
529
|
+
};
|
|
530
|
+
/** @description Internal server error */
|
|
531
|
+
500: {
|
|
532
|
+
headers: {
|
|
533
|
+
[name: string]: unknown;
|
|
534
|
+
};
|
|
535
|
+
content: {
|
|
536
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
537
|
+
};
|
|
538
|
+
};
|
|
539
|
+
};
|
|
540
|
+
};
|
|
541
|
+
put?: never;
|
|
542
|
+
post?: never;
|
|
543
|
+
delete?: never;
|
|
544
|
+
options?: never;
|
|
545
|
+
head?: never;
|
|
546
|
+
/**
|
|
547
|
+
* Update a campaign
|
|
548
|
+
* @description Updates the mutable fields of a campaign. You can change: name, budget.amountMicros, schedule.startTime and schedule.durationInDays (schedule changes are only allowed before the campaign starts), and status. Set status to ACTIVE to run or resume the campaign, PAUSED to pause it, or CANCELLED to cancel it permanently. budget.type cannot be changed — only the amount. A budget increase takes effect immediately, but a budget decrease on a running campaign is scheduled for the next midnight in the account's time zone; while a decrease is pending, the response reports it in budget.scheduledAmountMicros and budget.scheduledEffectiveTime. The fields objective, paymentType, targeting, creativeAssetIds, and bid are fixed after creation and return 400 if included. The updated campaign is returned with its recomputed deliveryStatus.
|
|
549
|
+
*/
|
|
550
|
+
patch: {
|
|
551
|
+
parameters: {
|
|
552
|
+
query?: never;
|
|
553
|
+
header?: never;
|
|
554
|
+
path: {
|
|
555
|
+
/** @description Campaign ID */
|
|
556
|
+
id: string;
|
|
557
|
+
};
|
|
558
|
+
cookie?: never;
|
|
559
|
+
};
|
|
560
|
+
/** @description Fields to update */
|
|
561
|
+
requestBody: {
|
|
562
|
+
content: {
|
|
563
|
+
"application/json": components["schemas"]["internal_public_v1.UpdateCampaignRequest"];
|
|
564
|
+
};
|
|
565
|
+
};
|
|
566
|
+
responses: {
|
|
567
|
+
/** @description OK */
|
|
568
|
+
200: {
|
|
569
|
+
headers: {
|
|
570
|
+
[name: string]: unknown;
|
|
571
|
+
};
|
|
572
|
+
content: {
|
|
573
|
+
"application/json": components["schemas"]["internal_public_v1.Campaign"];
|
|
574
|
+
};
|
|
575
|
+
};
|
|
576
|
+
/** @description Validation error or immutable field supplied */
|
|
577
|
+
400: {
|
|
578
|
+
headers: {
|
|
579
|
+
[name: string]: unknown;
|
|
580
|
+
};
|
|
581
|
+
content: {
|
|
582
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
583
|
+
};
|
|
584
|
+
};
|
|
585
|
+
/** @description Permission denied */
|
|
586
|
+
403: {
|
|
587
|
+
headers: {
|
|
588
|
+
[name: string]: unknown;
|
|
589
|
+
};
|
|
590
|
+
content: {
|
|
591
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
592
|
+
};
|
|
593
|
+
};
|
|
594
|
+
/** @description Campaign not found */
|
|
595
|
+
404: {
|
|
596
|
+
headers: {
|
|
597
|
+
[name: string]: unknown;
|
|
598
|
+
};
|
|
599
|
+
content: {
|
|
600
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
601
|
+
};
|
|
602
|
+
};
|
|
603
|
+
/** @description Rate limit exceeded */
|
|
604
|
+
429: {
|
|
605
|
+
headers: {
|
|
606
|
+
[name: string]: unknown;
|
|
607
|
+
};
|
|
608
|
+
content: {
|
|
609
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
610
|
+
};
|
|
611
|
+
};
|
|
612
|
+
/** @description Internal server error */
|
|
613
|
+
500: {
|
|
614
|
+
headers: {
|
|
615
|
+
[name: string]: unknown;
|
|
616
|
+
};
|
|
617
|
+
content: {
|
|
618
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
619
|
+
};
|
|
620
|
+
};
|
|
621
|
+
};
|
|
622
|
+
};
|
|
623
|
+
trace?: never;
|
|
624
|
+
};
|
|
625
|
+
"/ads-management/v1/campaigns/{id}/performance": {
|
|
626
|
+
parameters: {
|
|
627
|
+
query?: never;
|
|
628
|
+
header?: never;
|
|
629
|
+
path?: never;
|
|
630
|
+
cookie?: never;
|
|
631
|
+
};
|
|
632
|
+
/**
|
|
633
|
+
* Get campaign performance
|
|
634
|
+
* @description Returns aggregate performance for a single campaign over the requested period: impressions, clicks, plays, spend, CPM (cost per 1,000 impressions), CPP (cost per play), playRate, and CTR (click-through rate). Metrics are calculated in the billing account's time zone. Money fields (spendMicros, cpmMicros, cppMicros) are micro-USD returned as decimal strings (e.g. "5000000" = $5.00). Set the period query parameter to choose the window (defaults to LAST_7_DAYS).
|
|
635
|
+
*/
|
|
636
|
+
get: {
|
|
637
|
+
parameters: {
|
|
638
|
+
query?: {
|
|
639
|
+
/** @description Reporting period (TODAY, YESTERDAY, LAST_7_DAYS, LAST_30_DAYS, THIS_MONTH, LAST_MONTH, YEAR_TO_DATE, PREVIOUS_YEAR; default LAST_7_DAYS) */
|
|
640
|
+
period?: string;
|
|
641
|
+
};
|
|
642
|
+
header?: never;
|
|
643
|
+
path: {
|
|
644
|
+
/** @description Campaign ID */
|
|
645
|
+
id: string;
|
|
646
|
+
};
|
|
647
|
+
cookie?: never;
|
|
648
|
+
};
|
|
649
|
+
requestBody?: never;
|
|
650
|
+
responses: {
|
|
651
|
+
/** @description OK */
|
|
652
|
+
200: {
|
|
653
|
+
headers: {
|
|
654
|
+
[name: string]: unknown;
|
|
655
|
+
};
|
|
656
|
+
content: {
|
|
657
|
+
"application/json": components["schemas"]["internal_public_v1.PerformanceResponse"];
|
|
658
|
+
};
|
|
659
|
+
};
|
|
660
|
+
/** @description Invalid period value */
|
|
661
|
+
400: {
|
|
662
|
+
headers: {
|
|
663
|
+
[name: string]: unknown;
|
|
664
|
+
};
|
|
665
|
+
content: {
|
|
666
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
667
|
+
};
|
|
668
|
+
};
|
|
669
|
+
/** @description Permission denied */
|
|
670
|
+
403: {
|
|
671
|
+
headers: {
|
|
672
|
+
[name: string]: unknown;
|
|
673
|
+
};
|
|
674
|
+
content: {
|
|
675
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
676
|
+
};
|
|
677
|
+
};
|
|
678
|
+
/** @description Campaign not found */
|
|
679
|
+
404: {
|
|
680
|
+
headers: {
|
|
681
|
+
[name: string]: unknown;
|
|
682
|
+
};
|
|
683
|
+
content: {
|
|
684
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
685
|
+
};
|
|
686
|
+
};
|
|
687
|
+
/** @description Rate limit exceeded */
|
|
688
|
+
429: {
|
|
689
|
+
headers: {
|
|
690
|
+
[name: string]: unknown;
|
|
691
|
+
};
|
|
692
|
+
content: {
|
|
693
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
694
|
+
};
|
|
695
|
+
};
|
|
696
|
+
/** @description Internal server error */
|
|
697
|
+
500: {
|
|
698
|
+
headers: {
|
|
699
|
+
[name: string]: unknown;
|
|
700
|
+
};
|
|
701
|
+
content: {
|
|
702
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
703
|
+
};
|
|
704
|
+
};
|
|
705
|
+
};
|
|
706
|
+
};
|
|
707
|
+
put?: never;
|
|
708
|
+
post?: never;
|
|
709
|
+
delete?: never;
|
|
710
|
+
options?: never;
|
|
711
|
+
head?: never;
|
|
712
|
+
patch?: never;
|
|
713
|
+
trace?: never;
|
|
714
|
+
};
|
|
715
|
+
"/ads-management/v1/campaigns:batchGetPerformance": {
|
|
716
|
+
parameters: {
|
|
717
|
+
query?: never;
|
|
718
|
+
header?: never;
|
|
719
|
+
path?: never;
|
|
720
|
+
cookie?: never;
|
|
721
|
+
};
|
|
722
|
+
get?: never;
|
|
723
|
+
put?: never;
|
|
724
|
+
/**
|
|
725
|
+
* Batch get campaign performance
|
|
726
|
+
* @description Returns aggregate performance for up to 100 campaigns over a single shared period (default LAST_7_DAYS), calculated in the billing account's time zone. Each result carries the same metrics as the single-campaign performance endpoint: impressions, clicks, plays, spend, CPM (cost per 1,000 impressions), CPP (cost per play), playRate, and CTR (click-through rate). Provide the campaign IDs in campaignIds; any ID that is not found or is not owned by the caller is returned in the failures array with reason NOT_FOUND. Prefer this over calling the single-campaign endpoint in a loop when building account-wide dashboards.
|
|
727
|
+
*/
|
|
728
|
+
post: {
|
|
729
|
+
parameters: {
|
|
730
|
+
query?: never;
|
|
731
|
+
header?: never;
|
|
732
|
+
path?: never;
|
|
733
|
+
cookie?: never;
|
|
734
|
+
};
|
|
735
|
+
/** @description Campaign IDs (max 100) and optional period */
|
|
736
|
+
requestBody: {
|
|
737
|
+
content: {
|
|
738
|
+
"application/json": components["schemas"]["internal_public_v1.BatchGetPerformanceRequest"];
|
|
739
|
+
};
|
|
740
|
+
};
|
|
741
|
+
responses: {
|
|
742
|
+
/** @description OK */
|
|
743
|
+
200: {
|
|
744
|
+
headers: {
|
|
745
|
+
[name: string]: unknown;
|
|
746
|
+
};
|
|
747
|
+
content: {
|
|
748
|
+
"application/json": components["schemas"]["internal_public_v1.BatchGetPerformanceResponse"];
|
|
749
|
+
};
|
|
750
|
+
};
|
|
751
|
+
/** @description Invalid request, exceeds 100 IDs, or invalid period */
|
|
752
|
+
400: {
|
|
753
|
+
headers: {
|
|
754
|
+
[name: string]: unknown;
|
|
755
|
+
};
|
|
756
|
+
content: {
|
|
757
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
758
|
+
};
|
|
759
|
+
};
|
|
760
|
+
/** @description Permission denied */
|
|
761
|
+
403: {
|
|
762
|
+
headers: {
|
|
763
|
+
[name: string]: unknown;
|
|
764
|
+
};
|
|
765
|
+
content: {
|
|
766
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
767
|
+
};
|
|
768
|
+
};
|
|
769
|
+
/** @description Rate limit exceeded */
|
|
770
|
+
429: {
|
|
771
|
+
headers: {
|
|
772
|
+
[name: string]: unknown;
|
|
773
|
+
};
|
|
774
|
+
content: {
|
|
775
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
776
|
+
};
|
|
777
|
+
};
|
|
778
|
+
/** @description Internal server error */
|
|
779
|
+
500: {
|
|
780
|
+
headers: {
|
|
781
|
+
[name: string]: unknown;
|
|
782
|
+
};
|
|
783
|
+
content: {
|
|
784
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
785
|
+
};
|
|
786
|
+
};
|
|
787
|
+
};
|
|
788
|
+
};
|
|
789
|
+
delete?: never;
|
|
790
|
+
options?: never;
|
|
791
|
+
head?: never;
|
|
792
|
+
patch?: never;
|
|
793
|
+
trace?: never;
|
|
794
|
+
};
|
|
795
|
+
"/ads-management/v1/campaigns:batchGetStatus": {
|
|
796
|
+
parameters: {
|
|
797
|
+
query?: never;
|
|
798
|
+
header?: never;
|
|
799
|
+
path?: never;
|
|
800
|
+
cookie?: never;
|
|
801
|
+
};
|
|
802
|
+
get?: never;
|
|
803
|
+
put?: never;
|
|
804
|
+
/**
|
|
805
|
+
* Batch get campaign status
|
|
806
|
+
* @description Returns the status (lifecycle state) and deliveryStatus (whether the campaign is currently serving), along with deliveryStatusReasons, for up to 100 campaigns in a single call. This is the recommended way to poll the review and serving state of many campaigns at once. Provide the campaign IDs in campaignIds; any ID that is not found or is not owned by the caller is returned in the failures array with reason NOT_FOUND.
|
|
807
|
+
*/
|
|
808
|
+
post: {
|
|
809
|
+
parameters: {
|
|
810
|
+
query?: never;
|
|
811
|
+
header?: never;
|
|
812
|
+
path?: never;
|
|
813
|
+
cookie?: never;
|
|
814
|
+
};
|
|
815
|
+
/** @description List of campaign IDs (max 100) */
|
|
816
|
+
requestBody: {
|
|
817
|
+
content: {
|
|
818
|
+
"application/json": components["schemas"]["internal_public_v1.BatchGetStatusRequest"];
|
|
819
|
+
};
|
|
820
|
+
};
|
|
821
|
+
responses: {
|
|
822
|
+
/** @description OK */
|
|
823
|
+
200: {
|
|
824
|
+
headers: {
|
|
825
|
+
[name: string]: unknown;
|
|
826
|
+
};
|
|
827
|
+
content: {
|
|
828
|
+
"application/json": components["schemas"]["internal_public_v1.BatchGetStatusResponse"];
|
|
829
|
+
};
|
|
830
|
+
};
|
|
831
|
+
/** @description Invalid request or exceeds 100 IDs */
|
|
832
|
+
400: {
|
|
833
|
+
headers: {
|
|
834
|
+
[name: string]: unknown;
|
|
835
|
+
};
|
|
836
|
+
content: {
|
|
837
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
838
|
+
};
|
|
839
|
+
};
|
|
840
|
+
/** @description Permission denied */
|
|
841
|
+
403: {
|
|
842
|
+
headers: {
|
|
843
|
+
[name: string]: unknown;
|
|
844
|
+
};
|
|
845
|
+
content: {
|
|
846
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
847
|
+
};
|
|
848
|
+
};
|
|
849
|
+
/** @description Rate limit exceeded */
|
|
850
|
+
429: {
|
|
851
|
+
headers: {
|
|
852
|
+
[name: string]: unknown;
|
|
853
|
+
};
|
|
854
|
+
content: {
|
|
855
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
856
|
+
};
|
|
857
|
+
};
|
|
858
|
+
/** @description Internal server error */
|
|
859
|
+
500: {
|
|
860
|
+
headers: {
|
|
861
|
+
[name: string]: unknown;
|
|
862
|
+
};
|
|
863
|
+
content: {
|
|
864
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
865
|
+
};
|
|
866
|
+
};
|
|
867
|
+
};
|
|
868
|
+
};
|
|
869
|
+
delete?: never;
|
|
870
|
+
options?: never;
|
|
871
|
+
head?: never;
|
|
872
|
+
patch?: never;
|
|
873
|
+
trace?: never;
|
|
874
|
+
};
|
|
875
|
+
"/ads-management/v1/creatives": {
|
|
876
|
+
parameters: {
|
|
877
|
+
query?: never;
|
|
878
|
+
header?: never;
|
|
879
|
+
path?: never;
|
|
880
|
+
cookie?: never;
|
|
881
|
+
};
|
|
882
|
+
/**
|
|
883
|
+
* List creatives
|
|
884
|
+
* @description Lists the reusable creatives saved to the caller's billing account. Each creative includes its assetId, name, moderation status, dimensions, and source. Use isArchived to filter by archive state. Results are paginated with a cursor (pageToken).
|
|
885
|
+
*/
|
|
886
|
+
get: {
|
|
887
|
+
parameters: {
|
|
888
|
+
query?: {
|
|
889
|
+
/** @description Filter by archived status */
|
|
890
|
+
isArchived?: boolean;
|
|
891
|
+
/** @description Maximum results per page (1-100, default 50) */
|
|
892
|
+
maxPageSize?: number;
|
|
893
|
+
/** @description Opaque cursor from a prior nextPageToken */
|
|
894
|
+
pageToken?: string;
|
|
895
|
+
};
|
|
896
|
+
header?: never;
|
|
897
|
+
path?: never;
|
|
898
|
+
cookie?: never;
|
|
899
|
+
};
|
|
900
|
+
requestBody?: never;
|
|
901
|
+
responses: {
|
|
902
|
+
/** @description OK */
|
|
903
|
+
200: {
|
|
904
|
+
headers: {
|
|
905
|
+
[name: string]: unknown;
|
|
906
|
+
};
|
|
907
|
+
content: {
|
|
908
|
+
"application/json": components["schemas"]["internal_public_v1.ListCreativesResponse"];
|
|
909
|
+
};
|
|
910
|
+
};
|
|
911
|
+
/** @description Invalid maxPageSize or pageToken */
|
|
912
|
+
400: {
|
|
913
|
+
headers: {
|
|
914
|
+
[name: string]: unknown;
|
|
915
|
+
};
|
|
916
|
+
content: {
|
|
917
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
918
|
+
};
|
|
919
|
+
};
|
|
920
|
+
/** @description Permission denied */
|
|
921
|
+
403: {
|
|
922
|
+
headers: {
|
|
923
|
+
[name: string]: unknown;
|
|
924
|
+
};
|
|
925
|
+
content: {
|
|
926
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
927
|
+
};
|
|
928
|
+
};
|
|
929
|
+
/** @description Rate limit exceeded */
|
|
930
|
+
429: {
|
|
931
|
+
headers: {
|
|
932
|
+
[name: string]: unknown;
|
|
933
|
+
};
|
|
934
|
+
content: {
|
|
935
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
936
|
+
};
|
|
937
|
+
};
|
|
938
|
+
/** @description Internal server error */
|
|
939
|
+
500: {
|
|
940
|
+
headers: {
|
|
941
|
+
[name: string]: unknown;
|
|
942
|
+
};
|
|
943
|
+
content: {
|
|
944
|
+
"application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
|
|
945
|
+
};
|
|
946
|
+
};
|
|
947
|
+
};
|
|
948
|
+
};
|
|
949
|
+
put?: never;
|
|
950
|
+
post?: never;
|
|
951
|
+
delete?: never;
|
|
952
|
+
options?: never;
|
|
953
|
+
head?: never;
|
|
954
|
+
patch?: never;
|
|
955
|
+
trace?: never;
|
|
956
|
+
};
|
|
2
957
|
"/analytics-query-api/v1/universes/{universeId}/dimension-values": {
|
|
3
958
|
parameters: {
|
|
4
959
|
query?: never;
|
|
@@ -30942,26 +31897,167 @@ export interface paths {
|
|
|
30942
31897
|
};
|
|
30943
31898
|
};
|
|
30944
31899
|
put?: never;
|
|
30945
|
-
post?: never;
|
|
30946
|
-
delete?: never;
|
|
30947
|
-
options?: never;
|
|
30948
|
-
head?: never;
|
|
30949
|
-
/** Update universe settings for an owned universe. */
|
|
30950
|
-
patch: {
|
|
31900
|
+
post?: never;
|
|
31901
|
+
delete?: never;
|
|
31902
|
+
options?: never;
|
|
31903
|
+
head?: never;
|
|
31904
|
+
/** Update universe settings for an owned universe. */
|
|
31905
|
+
patch: {
|
|
31906
|
+
parameters: {
|
|
31907
|
+
query?: never;
|
|
31908
|
+
header?: never;
|
|
31909
|
+
path: {
|
|
31910
|
+
/** @description The universeId. */
|
|
31911
|
+
universeId: number;
|
|
31912
|
+
};
|
|
31913
|
+
cookie?: never;
|
|
31914
|
+
};
|
|
31915
|
+
/** @description The Roblox.Api.Develop.Models.UniverseSettingsRequest model. */
|
|
31916
|
+
requestBody: {
|
|
31917
|
+
content: {
|
|
31918
|
+
"application/json": components["schemas"]["Roblox.Api.Develop.Models.UniverseSettingsRequest"];
|
|
31919
|
+
"text/json": components["schemas"]["Roblox.Api.Develop.Models.UniverseSettingsRequest"];
|
|
31920
|
+
};
|
|
31921
|
+
};
|
|
31922
|
+
responses: {
|
|
31923
|
+
/** @description OK */
|
|
31924
|
+
200: {
|
|
31925
|
+
headers: {
|
|
31926
|
+
[name: string]: unknown;
|
|
31927
|
+
};
|
|
31928
|
+
content: {
|
|
31929
|
+
"application/json": components["schemas"]["Roblox.Api.Develop.Models.UniverseSettingsResponse"];
|
|
31930
|
+
"text/json": components["schemas"]["Roblox.Api.Develop.Models.UniverseSettingsResponse"];
|
|
31931
|
+
};
|
|
31932
|
+
};
|
|
31933
|
+
/**
|
|
31934
|
+
* @description 1: The universe does not exist.
|
|
31935
|
+
* 3: Invalid UniverseAvatarType.
|
|
31936
|
+
* 4: Invalid UniverseScaleType.
|
|
31937
|
+
* 5: Invalid UniverseAnimationType.
|
|
31938
|
+
* 6: Invalid UniverseCollisionType.
|
|
31939
|
+
* 7: New universe name or description has been rejected.
|
|
31940
|
+
* 8: New universe name is too long.
|
|
31941
|
+
* 10: Invalid UniverseBodyType.
|
|
31942
|
+
* 11: Invalid UniverseJointPositioningType.
|
|
31943
|
+
* 12: The universe has no root place.
|
|
31944
|
+
* 15: Price is required when isForSale is true.
|
|
31945
|
+
* 16: This game cannot be offered for sale because it is not public.
|
|
31946
|
+
* 17: This game cannot be offered for sale because it has private servers enabled.
|
|
31947
|
+
* 18: The game price is outside of the allowed range.
|
|
31948
|
+
* 19: Invalid genre.
|
|
31949
|
+
* 20: The request body is missing.
|
|
31950
|
+
* 21: Invalid device type.
|
|
31951
|
+
* 22: Invalid asset type.
|
|
31952
|
+
* 23: Invalid value, the min must be less than or equal to the max
|
|
31953
|
+
* 24: Invalid scale value
|
|
31954
|
+
* 41: You cannot change the private server price again so soon after the previous change. Please try again later.
|
|
31955
|
+
*/
|
|
31956
|
+
400: {
|
|
31957
|
+
headers: {
|
|
31958
|
+
[name: string]: unknown;
|
|
31959
|
+
};
|
|
31960
|
+
content?: never;
|
|
31961
|
+
};
|
|
31962
|
+
/** @description 0: Authorization has been denied for this request. */
|
|
31963
|
+
401: {
|
|
31964
|
+
headers: {
|
|
31965
|
+
[name: string]: unknown;
|
|
31966
|
+
};
|
|
31967
|
+
content?: never;
|
|
31968
|
+
};
|
|
31969
|
+
/**
|
|
31970
|
+
* @description 0: Token Validation Failed
|
|
31971
|
+
* 2: You are not authorized to configure this universe.
|
|
31972
|
+
* 14: You are not authorized to sell games.
|
|
31973
|
+
*/
|
|
31974
|
+
403: {
|
|
31975
|
+
headers: {
|
|
31976
|
+
[name: string]: unknown;
|
|
31977
|
+
};
|
|
31978
|
+
content?: never;
|
|
31979
|
+
};
|
|
31980
|
+
/** @description 9: Failed to shutdown all intances of game after changing AvatarType. The change has been reverted. */
|
|
31981
|
+
409: {
|
|
31982
|
+
headers: {
|
|
31983
|
+
[name: string]: unknown;
|
|
31984
|
+
};
|
|
31985
|
+
content?: never;
|
|
31986
|
+
};
|
|
31987
|
+
};
|
|
31988
|
+
};
|
|
31989
|
+
trace?: never;
|
|
31990
|
+
};
|
|
31991
|
+
"/v1/universes/{universeId}/configuration/playtesters": {
|
|
31992
|
+
parameters: {
|
|
31993
|
+
query?: never;
|
|
31994
|
+
header?: never;
|
|
31995
|
+
path?: never;
|
|
31996
|
+
cookie?: never;
|
|
31997
|
+
};
|
|
31998
|
+
/** Get the list of playtesters for an owned universe. */
|
|
31999
|
+
get: {
|
|
32000
|
+
parameters: {
|
|
32001
|
+
query?: never;
|
|
32002
|
+
header?: never;
|
|
32003
|
+
path: {
|
|
32004
|
+
/** @description The universe Id. */
|
|
32005
|
+
universeId: number;
|
|
32006
|
+
};
|
|
32007
|
+
cookie?: never;
|
|
32008
|
+
};
|
|
32009
|
+
requestBody?: never;
|
|
32010
|
+
responses: {
|
|
32011
|
+
/** @description OK */
|
|
32012
|
+
200: {
|
|
32013
|
+
headers: {
|
|
32014
|
+
[name: string]: unknown;
|
|
32015
|
+
};
|
|
32016
|
+
content: {
|
|
32017
|
+
"application/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersResponse"];
|
|
32018
|
+
"text/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersResponse"];
|
|
32019
|
+
};
|
|
32020
|
+
};
|
|
32021
|
+
/** @description 1: The universe does not exist. */
|
|
32022
|
+
400: {
|
|
32023
|
+
headers: {
|
|
32024
|
+
[name: string]: unknown;
|
|
32025
|
+
};
|
|
32026
|
+
content?: never;
|
|
32027
|
+
};
|
|
32028
|
+
/** @description 0: Authorization has been denied for this request. */
|
|
32029
|
+
401: {
|
|
32030
|
+
headers: {
|
|
32031
|
+
[name: string]: unknown;
|
|
32032
|
+
};
|
|
32033
|
+
content?: never;
|
|
32034
|
+
};
|
|
32035
|
+
/** @description 2: You are not authorized to configure this universe. */
|
|
32036
|
+
403: {
|
|
32037
|
+
headers: {
|
|
32038
|
+
[name: string]: unknown;
|
|
32039
|
+
};
|
|
32040
|
+
content?: never;
|
|
32041
|
+
};
|
|
32042
|
+
};
|
|
32043
|
+
};
|
|
32044
|
+
put?: never;
|
|
32045
|
+
/** Add playtesters to an owned universe. Existing ids are ignored (additive union). */
|
|
32046
|
+
post: {
|
|
30951
32047
|
parameters: {
|
|
30952
32048
|
query?: never;
|
|
30953
32049
|
header?: never;
|
|
30954
32050
|
path: {
|
|
30955
|
-
/** @description The
|
|
32051
|
+
/** @description The universe Id. */
|
|
30956
32052
|
universeId: number;
|
|
30957
32053
|
};
|
|
30958
32054
|
cookie?: never;
|
|
30959
32055
|
};
|
|
30960
|
-
/** @description The
|
|
32056
|
+
/** @description The playtesters to add. */
|
|
30961
32057
|
requestBody: {
|
|
30962
32058
|
content: {
|
|
30963
|
-
"application/json": components["schemas"]["Roblox.Api.Develop.Models.
|
|
30964
|
-
"text/json": components["schemas"]["Roblox.Api.Develop.Models.
|
|
32059
|
+
"application/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersRequest"];
|
|
32060
|
+
"text/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersRequest"];
|
|
30965
32061
|
};
|
|
30966
32062
|
};
|
|
30967
32063
|
responses: {
|
|
@@ -30971,32 +32067,14 @@ export interface paths {
|
|
|
30971
32067
|
[name: string]: unknown;
|
|
30972
32068
|
};
|
|
30973
32069
|
content: {
|
|
30974
|
-
"application/json": components["schemas"]["Roblox.Api.Develop.Models.
|
|
30975
|
-
"text/json": components["schemas"]["Roblox.Api.Develop.Models.
|
|
32070
|
+
"application/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersResponse"];
|
|
32071
|
+
"text/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersResponse"];
|
|
30976
32072
|
};
|
|
30977
32073
|
};
|
|
30978
32074
|
/**
|
|
30979
32075
|
* @description 1: The universe does not exist.
|
|
30980
|
-
*
|
|
30981
|
-
*
|
|
30982
|
-
* 5: Invalid UniverseAnimationType.
|
|
30983
|
-
* 6: Invalid UniverseCollisionType.
|
|
30984
|
-
* 7: New universe name or description has been rejected.
|
|
30985
|
-
* 8: New universe name is too long.
|
|
30986
|
-
* 10: Invalid UniverseBodyType.
|
|
30987
|
-
* 11: Invalid UniverseJointPositioningType.
|
|
30988
|
-
* 12: The universe has no root place.
|
|
30989
|
-
* 15: Price is required when isForSale is true.
|
|
30990
|
-
* 16: This game cannot be offered for sale because it is not public.
|
|
30991
|
-
* 17: This game cannot be offered for sale because it has private servers enabled.
|
|
30992
|
-
* 18: The game price is outside of the allowed range.
|
|
30993
|
-
* 19: Invalid genre.
|
|
30994
|
-
* 20: The request body is missing.
|
|
30995
|
-
* 21: Invalid device type.
|
|
30996
|
-
* 22: Invalid asset type.
|
|
30997
|
-
* 23: Invalid value, the min must be less than or equal to the max
|
|
30998
|
-
* 24: Invalid scale value
|
|
30999
|
-
* 41: You cannot change the private server price again so soon after the previous change. Please try again later.
|
|
32076
|
+
* 48: The playtesters list is missing or empty.
|
|
32077
|
+
* 49: Too many playtesters were specified in a single request.
|
|
31000
32078
|
*/
|
|
31001
32079
|
400: {
|
|
31002
32080
|
headers: {
|
|
@@ -31014,7 +32092,6 @@ export interface paths {
|
|
|
31014
32092
|
/**
|
|
31015
32093
|
* @description 0: Token Validation Failed
|
|
31016
32094
|
* 2: You are not authorized to configure this universe.
|
|
31017
|
-
* 14: You are not authorized to sell games.
|
|
31018
32095
|
*/
|
|
31019
32096
|
403: {
|
|
31020
32097
|
headers: {
|
|
@@ -31022,8 +32099,60 @@ export interface paths {
|
|
|
31022
32099
|
};
|
|
31023
32100
|
content?: never;
|
|
31024
32101
|
};
|
|
31025
|
-
|
|
31026
|
-
|
|
32102
|
+
};
|
|
32103
|
+
};
|
|
32104
|
+
/** Remove playtesters from an owned universe. */
|
|
32105
|
+
delete: {
|
|
32106
|
+
parameters: {
|
|
32107
|
+
query?: never;
|
|
32108
|
+
header?: never;
|
|
32109
|
+
path: {
|
|
32110
|
+
/** @description The universe Id. */
|
|
32111
|
+
universeId: number;
|
|
32112
|
+
};
|
|
32113
|
+
cookie?: never;
|
|
32114
|
+
};
|
|
32115
|
+
/** @description The playtesters to remove. */
|
|
32116
|
+
requestBody: {
|
|
32117
|
+
content: {
|
|
32118
|
+
"application/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersRequest"];
|
|
32119
|
+
"text/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersRequest"];
|
|
32120
|
+
};
|
|
32121
|
+
};
|
|
32122
|
+
responses: {
|
|
32123
|
+
/** @description OK */
|
|
32124
|
+
200: {
|
|
32125
|
+
headers: {
|
|
32126
|
+
[name: string]: unknown;
|
|
32127
|
+
};
|
|
32128
|
+
content: {
|
|
32129
|
+
"application/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersResponse"];
|
|
32130
|
+
"text/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersResponse"];
|
|
32131
|
+
};
|
|
32132
|
+
};
|
|
32133
|
+
/**
|
|
32134
|
+
* @description 1: The universe does not exist.
|
|
32135
|
+
* 48: The playtesters list is missing or empty.
|
|
32136
|
+
* 49: Too many playtesters were specified in a single request.
|
|
32137
|
+
*/
|
|
32138
|
+
400: {
|
|
32139
|
+
headers: {
|
|
32140
|
+
[name: string]: unknown;
|
|
32141
|
+
};
|
|
32142
|
+
content?: never;
|
|
32143
|
+
};
|
|
32144
|
+
/** @description 0: Authorization has been denied for this request. */
|
|
32145
|
+
401: {
|
|
32146
|
+
headers: {
|
|
32147
|
+
[name: string]: unknown;
|
|
32148
|
+
};
|
|
32149
|
+
content?: never;
|
|
32150
|
+
};
|
|
32151
|
+
/**
|
|
32152
|
+
* @description 0: Token Validation Failed
|
|
32153
|
+
* 2: You are not authorized to configure this universe.
|
|
32154
|
+
*/
|
|
32155
|
+
403: {
|
|
31027
32156
|
headers: {
|
|
31028
32157
|
[name: string]: unknown;
|
|
31029
32158
|
};
|
|
@@ -31031,6 +32160,9 @@ export interface paths {
|
|
|
31031
32160
|
};
|
|
31032
32161
|
};
|
|
31033
32162
|
};
|
|
32163
|
+
options?: never;
|
|
32164
|
+
head?: never;
|
|
32165
|
+
patch?: never;
|
|
31034
32166
|
trace?: never;
|
|
31035
32167
|
};
|
|
31036
32168
|
"/v1/universes/{universeId}/configuration/vip-servers": {
|
|
@@ -43753,7 +44885,7 @@ export interface components {
|
|
|
43753
44885
|
* @description Enum describing the different available filter fields.
|
|
43754
44886
|
* @enum {string}
|
|
43755
44887
|
*/
|
|
43756
|
-
FilterField: "EngineVersion" | "ALL";
|
|
44888
|
+
FilterField: "EngineVersion" | "PlaceVersion" | "ALL";
|
|
43757
44889
|
/** @description Describes the metadata and available values for a single filter field. */
|
|
43758
44890
|
FilterFieldInfo: {
|
|
43759
44891
|
/** @description The technical name of the field. */
|
|
@@ -48431,6 +49563,10 @@ export interface components {
|
|
|
48431
49563
|
};
|
|
48432
49564
|
/** @description The result of various checks for a user's eligibility to activate a given universe from private to public. */
|
|
48433
49565
|
"Roblox.Api.Develop.Models.ActivationEligibilityResponse": {
|
|
49566
|
+
/**
|
|
49567
|
+
* @description The overall result of activation eligibility. This requires the user publish gate
|
|
49568
|
+
* and either a maturity rating or an intact Build seal.
|
|
49569
|
+
*/
|
|
48434
49570
|
isEligible?: boolean;
|
|
48435
49571
|
/** @description Whether the place has an active content maturity rating or not. */
|
|
48436
49572
|
maturityRated?: boolean;
|
|
@@ -48455,6 +49591,105 @@ export interface components {
|
|
|
48455
49591
|
creatorTier?: 0 | 1 | 2 | 3 | 4;
|
|
48456
49592
|
/** @description Audiences the universe is allowed to be published to. */
|
|
48457
49593
|
allowedAudiences?: (0 | 1 | 2 | 3 | 4)[];
|
|
49594
|
+
/**
|
|
49595
|
+
* @description Whether the universe has a provisional rating via a Build seal in Content Catalog.
|
|
49596
|
+
* When true, the universe is eligible for activation even without a full maturity questionnaire.
|
|
49597
|
+
*/
|
|
49598
|
+
provisionalRatingAllowed?: boolean;
|
|
49599
|
+
provisionalRating?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse"];
|
|
49600
|
+
};
|
|
49601
|
+
/** @description The complete build-generated rating preview returned by Experience Guidelines. */
|
|
49602
|
+
"Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse": {
|
|
49603
|
+
ageRecommendationDetails?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRecommendationDetailsModel"];
|
|
49604
|
+
/** @description Country-specific restrictions produced by the preview. */
|
|
49605
|
+
restrictedCountries?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.RestrictedCountryModel"][];
|
|
49606
|
+
};
|
|
49607
|
+
/** @description Age range for a descriptor usage. */
|
|
49608
|
+
"Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRangeModel": {
|
|
49609
|
+
/**
|
|
49610
|
+
* Format: int32
|
|
49611
|
+
* @description Inclusive minimum age.
|
|
49612
|
+
*/
|
|
49613
|
+
minAgeInclusive?: number;
|
|
49614
|
+
/**
|
|
49615
|
+
* Format: int32
|
|
49616
|
+
* @description Inclusive maximum age.
|
|
49617
|
+
*/
|
|
49618
|
+
maxAgeInclusive?: number;
|
|
49619
|
+
};
|
|
49620
|
+
/** @description Age recommendation details. */
|
|
49621
|
+
"Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRecommendationDetailsModel": {
|
|
49622
|
+
ageRecommendationSummary?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRecommendationSummaryModel"];
|
|
49623
|
+
/** @description Descriptor usages that contributed to the recommendation. */
|
|
49624
|
+
experienceDescriptorUsages?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorUsageModel"][];
|
|
49625
|
+
};
|
|
49626
|
+
/** @description Age recommendation. */
|
|
49627
|
+
"Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRecommendationModel": {
|
|
49628
|
+
/** @description Localized display name. */
|
|
49629
|
+
displayName?: string;
|
|
49630
|
+
/**
|
|
49631
|
+
* Format: int32
|
|
49632
|
+
* @description Minimum recommended age.
|
|
49633
|
+
*/
|
|
49634
|
+
minimumAge?: number;
|
|
49635
|
+
/** @description Localized short display name including the maturity header. */
|
|
49636
|
+
displayNameWithHeaderShort?: string;
|
|
49637
|
+
/** @description Localized minimum-age display value. */
|
|
49638
|
+
minimumAgeDisplay?: string;
|
|
49639
|
+
/** @description Explicit content maturity value. */
|
|
49640
|
+
contentMaturity?: string;
|
|
49641
|
+
/** @description IGRS rating enum name, when present. */
|
|
49642
|
+
igrsRating?: string;
|
|
49643
|
+
/** @description Localized IGRS rating display message, when present. */
|
|
49644
|
+
igrsRatingDisplayMessage?: string;
|
|
49645
|
+
};
|
|
49646
|
+
/** @description Age recommendation summary. */
|
|
49647
|
+
"Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRecommendationSummaryModel": {
|
|
49648
|
+
ageRecommendation?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRecommendationModel"];
|
|
49649
|
+
};
|
|
49650
|
+
/** @description Descriptor dimension usage. */
|
|
49651
|
+
"Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorDimensionUsageModel": {
|
|
49652
|
+
/** @description Dimension name. */
|
|
49653
|
+
dimensionName?: string;
|
|
49654
|
+
/** @description Dimension value. */
|
|
49655
|
+
dimensionValue?: string;
|
|
49656
|
+
};
|
|
49657
|
+
/** @description Experience descriptor definition. */
|
|
49658
|
+
"Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorModel": {
|
|
49659
|
+
/** @description Descriptor name. */
|
|
49660
|
+
name?: string;
|
|
49661
|
+
/** @description Localized descriptor display name. */
|
|
49662
|
+
displayName?: string;
|
|
49663
|
+
/** @description Whether the descriptor is supported by the Compliance API. */
|
|
49664
|
+
complianceApiSupported?: boolean;
|
|
49665
|
+
/** @description Descriptor icon URL. */
|
|
49666
|
+
iconUrl?: string;
|
|
49667
|
+
};
|
|
49668
|
+
/** @description A descriptor usage that contributed to a recommendation. */
|
|
49669
|
+
"Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorUsageModel": {
|
|
49670
|
+
/** @description Descriptor usage name. */
|
|
49671
|
+
name?: string;
|
|
49672
|
+
/** @description Whether this usage follows the Compliance API, when specified. */
|
|
49673
|
+
followsComplianceApi?: boolean;
|
|
49674
|
+
experienceDescriptor?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorModel"];
|
|
49675
|
+
/** @description Dimensions associated with this usage. */
|
|
49676
|
+
experienceDescriptorDimensionUsages?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorDimensionUsageModel"][];
|
|
49677
|
+
/** @description Whether the experience contains this descriptor. */
|
|
49678
|
+
contains?: boolean;
|
|
49679
|
+
ageRange?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRangeModel"];
|
|
49680
|
+
/** @description Localized descriptor display name. */
|
|
49681
|
+
descriptorDisplayName?: string;
|
|
49682
|
+
/** @description Localized age-range display name. */
|
|
49683
|
+
ageRangeDisplayName?: string;
|
|
49684
|
+
};
|
|
49685
|
+
/** @description Country-specific restrictions. */
|
|
49686
|
+
"Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.RestrictedCountryModel": {
|
|
49687
|
+
/** @description ISO country code. */
|
|
49688
|
+
countryCode?: string;
|
|
49689
|
+
/** @description Descriptor usages responsible for the restriction. */
|
|
49690
|
+
experienceDescriptorUsages?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorUsageModel"][];
|
|
49691
|
+
/** @description Localized country display name. */
|
|
49692
|
+
countryDisplayName?: string;
|
|
48458
49693
|
};
|
|
48459
49694
|
/** @description Represents a game template in API endpoint responses. */
|
|
48460
49695
|
"Roblox.Api.Develop.Models.GameTemplateModel": {
|
|
@@ -48597,6 +49832,16 @@ export interface components {
|
|
|
48597
49832
|
/** @description Returns whether this place is the root place. */
|
|
48598
49833
|
isRootPlace?: boolean;
|
|
48599
49834
|
};
|
|
49835
|
+
/** @description Request model for adding or removing playtesters. */
|
|
49836
|
+
"Roblox.Api.Develop.Models.PlaytestersRequest": {
|
|
49837
|
+
/** @description The user ids to add or remove as playtesters for this universe. */
|
|
49838
|
+
playtesters?: number[];
|
|
49839
|
+
};
|
|
49840
|
+
/** @description Response model for playtester list endpoints. */
|
|
49841
|
+
"Roblox.Api.Develop.Models.PlaytestersResponse": {
|
|
49842
|
+
/** @description The user ids that are playtesters for this universe. */
|
|
49843
|
+
playtesters?: number[];
|
|
49844
|
+
};
|
|
48600
49845
|
/** @description Model for private server details responses from the UniverseSettings controller. */
|
|
48601
49846
|
"Roblox.Api.Develop.Models.PrivateServerDetailsResponse": {
|
|
48602
49847
|
/** @description Whether or not VIP servers are enabled on this universe. */
|
|
@@ -56807,6 +58052,449 @@ export interface components {
|
|
|
56807
58052
|
*/
|
|
56808
58053
|
upVotePercent?: number;
|
|
56809
58054
|
} | null;
|
|
58055
|
+
"internal_public_v1.AdFormat": {
|
|
58056
|
+
/** @description The ad format name. */
|
|
58057
|
+
format?: string;
|
|
58058
|
+
/** @description The format height in pixels. */
|
|
58059
|
+
height?: number;
|
|
58060
|
+
/** @description The format width in pixels. */
|
|
58061
|
+
width?: number;
|
|
58062
|
+
};
|
|
58063
|
+
"internal_public_v1.AdvertisableUniverse": {
|
|
58064
|
+
/**
|
|
58065
|
+
* @description The identifier of an experience the caller can advertise, as a decimal string.
|
|
58066
|
+
* Resolve its name via the Open Cloud Universe API.
|
|
58067
|
+
*/
|
|
58068
|
+
universeId?: string;
|
|
58069
|
+
};
|
|
58070
|
+
"internal_public_v1.BatchGetPerformanceRequest": {
|
|
58071
|
+
/** @description The campaign IDs to report on. Required. At most 100 per request. */
|
|
58072
|
+
campaignIds?: string[];
|
|
58073
|
+
/**
|
|
58074
|
+
* @description The reporting window applied to every campaign in the batch. Optional; defaults
|
|
58075
|
+
* to `LAST_7_DAYS`. Can be `TODAY`, `YESTERDAY`, `LAST_7_DAYS`, `LAST_30_DAYS`,
|
|
58076
|
+
* `THIS_MONTH`, `LAST_MONTH`, `YEAR_TO_DATE`, or `PREVIOUS_YEAR`.
|
|
58077
|
+
* @enum {string}
|
|
58078
|
+
*/
|
|
58079
|
+
period?: "TODAY" | "YESTERDAY" | "LAST_7_DAYS" | "LAST_30_DAYS" | "THIS_MONTH" | "LAST_MONTH" | "YEAR_TO_DATE" | "PREVIOUS_YEAR";
|
|
58080
|
+
};
|
|
58081
|
+
"internal_public_v1.BatchGetPerformanceResponse": {
|
|
58082
|
+
/** @description The time the metrics were current, as an RFC 3339 UTC timestamp. */
|
|
58083
|
+
dataAsOf?: string;
|
|
58084
|
+
/** @description The last day of the window (inclusive), as YYYY-MM-DD in the account's time zone. */
|
|
58085
|
+
endDate?: string;
|
|
58086
|
+
/** @description The IDs that could not be resolved. Omitted when every ID resolved. */
|
|
58087
|
+
failures?: components["schemas"]["internal_public_v1.CampaignIDFailure"][];
|
|
58088
|
+
/**
|
|
58089
|
+
* @description The reporting window applied to every campaign. Can be `TODAY`, `YESTERDAY`,
|
|
58090
|
+
* `LAST_7_DAYS`, `LAST_30_DAYS`, `THIS_MONTH`, `LAST_MONTH`, `YEAR_TO_DATE`, or `PREVIOUS_YEAR`.
|
|
58091
|
+
* @enum {string}
|
|
58092
|
+
*/
|
|
58093
|
+
period?: "TODAY" | "YESTERDAY" | "LAST_7_DAYS" | "LAST_30_DAYS" | "THIS_MONTH" | "LAST_MONTH" | "YEAR_TO_DATE" | "PREVIOUS_YEAR";
|
|
58094
|
+
/** @description One entry per successfully resolved campaign. */
|
|
58095
|
+
results?: components["schemas"]["internal_public_v1.CampaignPerformance"][];
|
|
58096
|
+
/** @description The first day of the window (inclusive), as YYYY-MM-DD in the account's time zone. */
|
|
58097
|
+
startDate?: string;
|
|
58098
|
+
/** @description The IANA time zone the window and metrics are computed in. */
|
|
58099
|
+
timeZone?: string;
|
|
58100
|
+
};
|
|
58101
|
+
"internal_public_v1.BatchGetStatusRequest": {
|
|
58102
|
+
/** @description The campaign IDs to look up. Required. At most 100 per request. */
|
|
58103
|
+
campaignIds?: string[];
|
|
58104
|
+
};
|
|
58105
|
+
"internal_public_v1.BatchGetStatusResponse": {
|
|
58106
|
+
/** @description The IDs that could not be resolved. Omitted when every ID resolved. */
|
|
58107
|
+
failures?: components["schemas"]["internal_public_v1.CampaignIDFailure"][];
|
|
58108
|
+
/** @description One entry per successfully resolved campaign. */
|
|
58109
|
+
statuses?: components["schemas"]["internal_public_v1.CampaignStatus"][];
|
|
58110
|
+
};
|
|
58111
|
+
"internal_public_v1.Bid": {
|
|
58112
|
+
/**
|
|
58113
|
+
* @description The bidding strategy. v1 campaigns are always `AUTOMATED`.
|
|
58114
|
+
* @enum {string}
|
|
58115
|
+
*/
|
|
58116
|
+
strategy?: "AUTOMATED";
|
|
58117
|
+
};
|
|
58118
|
+
"internal_public_v1.BillingAccount": {
|
|
58119
|
+
/** @description The time the account was created, as an RFC 3339 UTC timestamp. */
|
|
58120
|
+
createTime?: string;
|
|
58121
|
+
/** @description The human-readable name of the account. */
|
|
58122
|
+
displayName?: string;
|
|
58123
|
+
/** @description The unique identifier of the billing account. Use it as the {id} path parameter. */
|
|
58124
|
+
id?: string;
|
|
58125
|
+
/** @description The identifier of the organization that owns the account. */
|
|
58126
|
+
organizationId?: string;
|
|
58127
|
+
/**
|
|
58128
|
+
* @description The current state of the account. Can be `ACTIVE`, `DISABLED`, or `ARCHIVED`.
|
|
58129
|
+
* @enum {string}
|
|
58130
|
+
*/
|
|
58131
|
+
status?: "ACTIVE" | "DISABLED" | "ARCHIVED";
|
|
58132
|
+
/**
|
|
58133
|
+
* @description The IANA time zone the account's reporting dates and budget schedules are
|
|
58134
|
+
* interpreted in. Example: `America/Los_Angeles`.
|
|
58135
|
+
*/
|
|
58136
|
+
timeZone?: string;
|
|
58137
|
+
/**
|
|
58138
|
+
* @description The account category. External advertisers are always SELF_SERVICE; MANAGED and
|
|
58139
|
+
* INTERNAL are Roblox-operated accounts. Can be `SELF_SERVICE`, `MANAGED`, or `INTERNAL`.
|
|
58140
|
+
* @enum {string}
|
|
58141
|
+
*/
|
|
58142
|
+
type?: "SELF_SERVICE" | "MANAGED" | "INTERNAL";
|
|
58143
|
+
/** @description The time the account was last updated, as an RFC 3339 UTC timestamp. */
|
|
58144
|
+
updateTime?: string;
|
|
58145
|
+
};
|
|
58146
|
+
"internal_public_v1.Budget": {
|
|
58147
|
+
/**
|
|
58148
|
+
* @description The budget amount in micro-USD, as a decimal string (for example, `5000000` =
|
|
58149
|
+
* $5.00). Money is sent and returned as a string so large values keep full
|
|
58150
|
+
* precision in every client. On a request it must be a numeric string of micro-USD.
|
|
58151
|
+
*/
|
|
58152
|
+
amountMicros?: string;
|
|
58153
|
+
/**
|
|
58154
|
+
* @description The queued lower budget for a pending decrease, in micro-USD as a decimal string
|
|
58155
|
+
* (same format as amountMicros). A budget increase takes effect immediately, but a
|
|
58156
|
+
* decrease on a running campaign is applied at the next midnight in the account's
|
|
58157
|
+
* time zone; until then the campaign keeps serving on amountMicros (the current,
|
|
58158
|
+
* higher budget). Omitted when no decrease is pending.
|
|
58159
|
+
*/
|
|
58160
|
+
scheduledAmountMicros?: string;
|
|
58161
|
+
/**
|
|
58162
|
+
* @description The time a pending budget decrease takes effect, as an RFC 3339 UTC timestamp.
|
|
58163
|
+
* Omitted when no decrease is pending.
|
|
58164
|
+
*/
|
|
58165
|
+
scheduledEffectiveTime?: string;
|
|
58166
|
+
/**
|
|
58167
|
+
* @description The budget cadence. Fixed when the campaign is created. Can be `DAILY` or `LIFETIME`.
|
|
58168
|
+
* @enum {string}
|
|
58169
|
+
*/
|
|
58170
|
+
type?: "DAILY" | "LIFETIME";
|
|
58171
|
+
};
|
|
58172
|
+
"internal_public_v1.Campaign": {
|
|
58173
|
+
bid?: components["schemas"]["internal_public_v1.Bid"];
|
|
58174
|
+
/** @description The billing account that owns and funds the campaign. */
|
|
58175
|
+
billingAccountId?: string;
|
|
58176
|
+
budget?: components["schemas"]["internal_public_v1.Budget"];
|
|
58177
|
+
/** @description The time the campaign was created, as an RFC 3339 UTC timestamp. */
|
|
58178
|
+
createTime?: string;
|
|
58179
|
+
/** @description The Open Cloud image asset IDs the campaign advertises, as decimal strings. */
|
|
58180
|
+
creativeAssetIds?: string[];
|
|
58181
|
+
/**
|
|
58182
|
+
* @description The current serving state, derived by the system (read-only). Can be `SERVING`,
|
|
58183
|
+
* `IN_REVIEW`, `NOT_SERVING`, or `REJECTED`.
|
|
58184
|
+
* @enum {string}
|
|
58185
|
+
*/
|
|
58186
|
+
deliveryStatus?: "SERVING" | "IN_REVIEW" | "NOT_SERVING" | "REJECTED";
|
|
58187
|
+
/**
|
|
58188
|
+
* @description The reasons behind the current deliveryStatus, such as why a campaign is not
|
|
58189
|
+
* serving or was rejected, or `LEARNING` while a serving campaign ramps up. Omitted
|
|
58190
|
+
* when there are none.
|
|
58191
|
+
*/
|
|
58192
|
+
deliveryStatusReasons?: ("SCHEDULED" | "AUTO_PAUSED" | "PAUSED" | "INACTIVE" | "COMPLETED" | "EXPIRED" | "CANCELLED" | "MODERATED" | "CLICK_BAIT" | "GAME_FILTERED" | "PRIVATE" | "PLACE_JOIN_RESTRICTED" | "LEARNING")[];
|
|
58193
|
+
/** @description The server-assigned unique identifier of the campaign. */
|
|
58194
|
+
id?: string;
|
|
58195
|
+
/** @description The display name of the campaign. */
|
|
58196
|
+
name?: string;
|
|
58197
|
+
/**
|
|
58198
|
+
* @description The advertising goal of the campaign. Only `ENGAGEMENT` is supported in v1.
|
|
58199
|
+
* @enum {string}
|
|
58200
|
+
*/
|
|
58201
|
+
objective?: "ENGAGEMENT";
|
|
58202
|
+
/**
|
|
58203
|
+
* @description How the campaign is paid for. Fixed when the campaign is created. Can be
|
|
58204
|
+
* `CREDIT_CARD`, `ADS_CREDIT`, or `INVOICE`.
|
|
58205
|
+
* @enum {string}
|
|
58206
|
+
*/
|
|
58207
|
+
paymentType?: "CREDIT_CARD" | "ADS_CREDIT" | "INVOICE";
|
|
58208
|
+
schedule?: components["schemas"]["internal_public_v1.Schedule"];
|
|
58209
|
+
/**
|
|
58210
|
+
* @description The lifecycle state you control through update requests. Can be `ACTIVE`,
|
|
58211
|
+
* `PAUSED`, or `CANCELLED`. `CANCELLED` is permanent.
|
|
58212
|
+
* @enum {string}
|
|
58213
|
+
*/
|
|
58214
|
+
status?: "ACTIVE" | "PAUSED" | "CANCELLED";
|
|
58215
|
+
/** @description The identifier of the experience the campaign advertises. */
|
|
58216
|
+
targetUniverseId?: string;
|
|
58217
|
+
targeting?: components["schemas"]["internal_public_v1.Targeting"];
|
|
58218
|
+
/** @description The time the campaign was last updated, as an RFC 3339 UTC timestamp. */
|
|
58219
|
+
updateTime?: string;
|
|
58220
|
+
};
|
|
58221
|
+
"internal_public_v1.CampaignIDFailure": {
|
|
58222
|
+
/** @description The campaign ID that could not be resolved. */
|
|
58223
|
+
id?: string;
|
|
58224
|
+
/**
|
|
58225
|
+
* @description Why the ID could not be resolved. `NOT_FOUND` means the campaign does not exist
|
|
58226
|
+
* or is not owned by the caller.
|
|
58227
|
+
* @enum {string}
|
|
58228
|
+
*/
|
|
58229
|
+
reason?: "NOT_FOUND";
|
|
58230
|
+
};
|
|
58231
|
+
"internal_public_v1.CampaignOptionsResponse": {
|
|
58232
|
+
/** @description The supported creative formats and their pixel dimensions. */
|
|
58233
|
+
adFormats?: components["schemas"]["internal_public_v1.AdFormat"][];
|
|
58234
|
+
/**
|
|
58235
|
+
* @description The eligibility result for the requested experience. Present only when
|
|
58236
|
+
* universeId was supplied in the request.
|
|
58237
|
+
*/
|
|
58238
|
+
eligibility?: components["schemas"]["internal_public_v1.UniverseEligibility"];
|
|
58239
|
+
/** @description The campaign objectives you can create. Only `ENGAGEMENT` is supported in v1. */
|
|
58240
|
+
objectives?: "ENGAGEMENT"[];
|
|
58241
|
+
/**
|
|
58242
|
+
* @description The payment types available for the caller's account. Values can be
|
|
58243
|
+
* `CREDIT_CARD`, `ADS_CREDIT`, or `INVOICE`.
|
|
58244
|
+
*/
|
|
58245
|
+
paymentTypes?: ("CREDIT_CARD" | "ADS_CREDIT" | "INVOICE")[];
|
|
58246
|
+
targetingDimensions?: components["schemas"]["internal_public_v1.TargetingDimensions"];
|
|
58247
|
+
};
|
|
58248
|
+
"internal_public_v1.CampaignPerformance": {
|
|
58249
|
+
/** @description The campaign these metrics belong to. */
|
|
58250
|
+
campaignId?: string;
|
|
58251
|
+
totals?: components["schemas"]["internal_public_v1.PerformanceTotals"];
|
|
58252
|
+
};
|
|
58253
|
+
"internal_public_v1.CampaignStatus": {
|
|
58254
|
+
/**
|
|
58255
|
+
* @description The current serving state. Can be `SERVING`, `IN_REVIEW`, `NOT_SERVING`, or `REJECTED`.
|
|
58256
|
+
* @enum {string}
|
|
58257
|
+
*/
|
|
58258
|
+
deliveryStatus?: "SERVING" | "IN_REVIEW" | "NOT_SERVING" | "REJECTED";
|
|
58259
|
+
/** @description The reasons behind the current deliveryStatus. Omitted when there are none. */
|
|
58260
|
+
deliveryStatusReasons?: ("SCHEDULED" | "AUTO_PAUSED" | "PAUSED" | "INACTIVE" | "COMPLETED" | "EXPIRED" | "CANCELLED" | "MODERATED" | "CLICK_BAIT" | "GAME_FILTERED" | "PRIVATE" | "PLACE_JOIN_RESTRICTED" | "LEARNING")[];
|
|
58261
|
+
/** @description The campaign identifier. */
|
|
58262
|
+
id?: string;
|
|
58263
|
+
/**
|
|
58264
|
+
* @description The lifecycle state. Can be `ACTIVE`, `PAUSED`, or `CANCELLED`.
|
|
58265
|
+
* @enum {string}
|
|
58266
|
+
*/
|
|
58267
|
+
status?: "ACTIVE" | "PAUSED" | "CANCELLED";
|
|
58268
|
+
};
|
|
58269
|
+
"internal_public_v1.CreateCampaignRequest": {
|
|
58270
|
+
/** @description Optional bidding strategy. Only `AUTOMATED` is accepted in v1; may be omitted. */
|
|
58271
|
+
bid?: components["schemas"]["internal_public_v1.Bid"];
|
|
58272
|
+
budget?: components["schemas"]["internal_public_v1.Budget"];
|
|
58273
|
+
/**
|
|
58274
|
+
* @description The Open Cloud image asset IDs to advertise, as decimal strings. Required. The
|
|
58275
|
+
* assets must already exist and be usable by the caller.
|
|
58276
|
+
*/
|
|
58277
|
+
creativeAssetIds?: string[];
|
|
58278
|
+
/** @description The display name of the campaign. Required. */
|
|
58279
|
+
name?: string;
|
|
58280
|
+
/**
|
|
58281
|
+
* @description The advertising goal. Required. Only `ENGAGEMENT` is supported in v1.
|
|
58282
|
+
* @enum {string}
|
|
58283
|
+
*/
|
|
58284
|
+
objective?: "ENGAGEMENT";
|
|
58285
|
+
/**
|
|
58286
|
+
* @description How the campaign is paid for. Required. Can be `CREDIT_CARD`, `ADS_CREDIT`, or
|
|
58287
|
+
* `INVOICE`, subject to what the billing account supports.
|
|
58288
|
+
* @enum {string}
|
|
58289
|
+
*/
|
|
58290
|
+
paymentType?: "CREDIT_CARD" | "ADS_CREDIT" | "INVOICE";
|
|
58291
|
+
schedule?: components["schemas"]["internal_public_v1.Schedule"];
|
|
58292
|
+
/** @description The identifier of the experience to advertise. Required. */
|
|
58293
|
+
targetUniverseId?: string;
|
|
58294
|
+
/** @description Optional audience targeting. Omit it, or send an empty object, to reach all audiences. */
|
|
58295
|
+
targeting?: components["schemas"]["internal_public_v1.Targeting"];
|
|
58296
|
+
};
|
|
58297
|
+
"internal_public_v1.Creative": {
|
|
58298
|
+
/** @description The Open Cloud image asset ID backing this creative, as a decimal string. */
|
|
58299
|
+
assetId?: string;
|
|
58300
|
+
/** @description The display name of the underlying asset. */
|
|
58301
|
+
assetName?: string;
|
|
58302
|
+
/**
|
|
58303
|
+
* @description The media type of the asset. Only `IMAGE` is supported in v1.
|
|
58304
|
+
* @enum {string}
|
|
58305
|
+
*/
|
|
58306
|
+
assetType?: "IMAGE";
|
|
58307
|
+
/** @description The time the creative was added to the library, as an RFC 3339 UTC timestamp. */
|
|
58308
|
+
createTime?: string;
|
|
58309
|
+
/** @description The height of the asset in pixels. Omitted when unknown. */
|
|
58310
|
+
height?: number;
|
|
58311
|
+
/** @description The identifier of the creative library entry. This is distinct from assetId. */
|
|
58312
|
+
id?: string;
|
|
58313
|
+
/** @description Whether the creative has been archived (soft-deleted). */
|
|
58314
|
+
isArchived?: boolean;
|
|
58315
|
+
/**
|
|
58316
|
+
* @description The content-review outcome for the asset. Can be `PENDING_REVIEW`, `APPROVED`, or `REJECTED`.
|
|
58317
|
+
* @enum {string}
|
|
58318
|
+
*/
|
|
58319
|
+
moderationStatus?: "PENDING_REVIEW" | "APPROVED" | "REJECTED";
|
|
58320
|
+
/**
|
|
58321
|
+
* @description How the asset was produced. Can be `UPLOAD` or `IN_HOUSE_GEN_AI`.
|
|
58322
|
+
* @enum {string}
|
|
58323
|
+
*/
|
|
58324
|
+
source?: "UPLOAD" | "IN_HOUSE_GEN_AI";
|
|
58325
|
+
/**
|
|
58326
|
+
* @description The identifier of the experience the creative is associated with, if any, as a
|
|
58327
|
+
* decimal string. Omitted when not associated with an experience.
|
|
58328
|
+
*/
|
|
58329
|
+
universeId?: string;
|
|
58330
|
+
/** @description The time the creative was last updated, as an RFC 3339 UTC timestamp. */
|
|
58331
|
+
updateTime?: string;
|
|
58332
|
+
/** @description The width of the asset in pixels. Omitted when unknown. */
|
|
58333
|
+
width?: number;
|
|
58334
|
+
};
|
|
58335
|
+
"internal_public_v1.ErrorEnvelope": {
|
|
58336
|
+
/** @description A human-readable explanation of this specific failure. */
|
|
58337
|
+
detail?: string;
|
|
58338
|
+
/** @description The individual errors. There is at least one entry; each has a code and message. */
|
|
58339
|
+
errors?: components["schemas"]["internal_public_v1.PublicError"][];
|
|
58340
|
+
/** @description The HTTP status code, repeated here for convenience. */
|
|
58341
|
+
status?: number;
|
|
58342
|
+
/** @description A short summary of the error class. */
|
|
58343
|
+
title?: string;
|
|
58344
|
+
};
|
|
58345
|
+
"internal_public_v1.ListAdvertisableUniversesResponse": {
|
|
58346
|
+
/**
|
|
58347
|
+
* @description The complete set of experiences the caller can advertise. This endpoint is not
|
|
58348
|
+
* paginated; the full list is returned in one response.
|
|
58349
|
+
*/
|
|
58350
|
+
advertisableUniverses?: components["schemas"]["internal_public_v1.AdvertisableUniverse"][];
|
|
58351
|
+
};
|
|
58352
|
+
"internal_public_v1.ListBillingAccountsResponse": {
|
|
58353
|
+
/** @description The page of billing accounts. */
|
|
58354
|
+
billingAccounts?: components["schemas"]["internal_public_v1.BillingAccount"][];
|
|
58355
|
+
/**
|
|
58356
|
+
* @description The cursor for the next page. Pass it as pageToken to fetch the next page.
|
|
58357
|
+
* Absent on the last page.
|
|
58358
|
+
*/
|
|
58359
|
+
nextPageToken?: string;
|
|
58360
|
+
};
|
|
58361
|
+
"internal_public_v1.ListCampaignsResponse": {
|
|
58362
|
+
/** @description The page of campaigns. */
|
|
58363
|
+
campaigns?: components["schemas"]["internal_public_v1.Campaign"][];
|
|
58364
|
+
/**
|
|
58365
|
+
* @description The cursor for the next page. Pass it as pageToken to fetch the next page.
|
|
58366
|
+
* Absent on the last page.
|
|
58367
|
+
*/
|
|
58368
|
+
nextPageToken?: string;
|
|
58369
|
+
};
|
|
58370
|
+
"internal_public_v1.ListCreativesResponse": {
|
|
58371
|
+
/** @description The page of creatives. */
|
|
58372
|
+
creatives?: components["schemas"]["internal_public_v1.Creative"][];
|
|
58373
|
+
/**
|
|
58374
|
+
* @description The cursor for the next page. Pass it as pageToken to fetch the next page.
|
|
58375
|
+
* Absent on the last page.
|
|
58376
|
+
*/
|
|
58377
|
+
nextPageToken?: string;
|
|
58378
|
+
};
|
|
58379
|
+
"internal_public_v1.PerformanceResponse": {
|
|
58380
|
+
/** @description The campaign these metrics belong to. */
|
|
58381
|
+
campaignId?: string;
|
|
58382
|
+
/** @description The time the metrics were current, as an RFC 3339 UTC timestamp. */
|
|
58383
|
+
dataAsOf?: string;
|
|
58384
|
+
/** @description The last day of the window (inclusive), as YYYY-MM-DD in the account's time zone. */
|
|
58385
|
+
endDate?: string;
|
|
58386
|
+
/**
|
|
58387
|
+
* @description The reporting window applied. Can be `TODAY`, `YESTERDAY`, `LAST_7_DAYS`,
|
|
58388
|
+
* `LAST_30_DAYS`, `THIS_MONTH`, `LAST_MONTH`, `YEAR_TO_DATE`, or `PREVIOUS_YEAR`.
|
|
58389
|
+
* @enum {string}
|
|
58390
|
+
*/
|
|
58391
|
+
period?: "TODAY" | "YESTERDAY" | "LAST_7_DAYS" | "LAST_30_DAYS" | "THIS_MONTH" | "LAST_MONTH" | "YEAR_TO_DATE" | "PREVIOUS_YEAR";
|
|
58392
|
+
/** @description The first day of the window (inclusive), as YYYY-MM-DD in the account's time zone. */
|
|
58393
|
+
startDate?: string;
|
|
58394
|
+
/** @description The IANA time zone the window and metrics are computed in. */
|
|
58395
|
+
timeZone?: string;
|
|
58396
|
+
totals?: components["schemas"]["internal_public_v1.PerformanceTotals"];
|
|
58397
|
+
};
|
|
58398
|
+
"internal_public_v1.PerformanceTotals": {
|
|
58399
|
+
/** @description The number of clicks on an ad. */
|
|
58400
|
+
clicks?: number;
|
|
58401
|
+
/** @description Cost per 1,000 impressions in micro-USD, as a decimal string. */
|
|
58402
|
+
cpmMicros?: string;
|
|
58403
|
+
/** @description Cost per play in micro-USD, as a decimal string. */
|
|
58404
|
+
cppMicros?: string;
|
|
58405
|
+
/** @description The click-through rate: clicks divided by impressions, from 0 to 1. */
|
|
58406
|
+
ctr?: number;
|
|
58407
|
+
/** @description The number of times an ad was shown. */
|
|
58408
|
+
impressions?: number;
|
|
58409
|
+
/** @description The play rate: plays divided by impressions, from 0 to 1. */
|
|
58410
|
+
playRate?: number;
|
|
58411
|
+
/** @description The number of resulting experience plays. */
|
|
58412
|
+
plays?: number;
|
|
58413
|
+
/** @description Total spend in micro-USD, as a decimal string (for example, `5000000` = $5.00). */
|
|
58414
|
+
spendMicros?: string;
|
|
58415
|
+
};
|
|
58416
|
+
"internal_public_v1.PublicError": {
|
|
58417
|
+
/**
|
|
58418
|
+
* @description A stable, machine-readable error code (for example, `INVALID_ARGUMENT`,
|
|
58419
|
+
* `NOT_FOUND`, `PERMISSION_DENIED`, or `RATE_LIMITED`).
|
|
58420
|
+
*/
|
|
58421
|
+
code?: string;
|
|
58422
|
+
/** @description A human-readable description of the error. */
|
|
58423
|
+
message?: string;
|
|
58424
|
+
};
|
|
58425
|
+
"internal_public_v1.Schedule": {
|
|
58426
|
+
/**
|
|
58427
|
+
* @description How long the campaign runs from startTime, in days. Must not exceed 3650 (about
|
|
58428
|
+
* 10 years).
|
|
58429
|
+
*/
|
|
58430
|
+
durationInDays?: number;
|
|
58431
|
+
/**
|
|
58432
|
+
* @description Not accepted in v1 and never returned; supplying it returns 400. Use
|
|
58433
|
+
* durationInDays to set when the campaign ends. Reserved for a future objective.
|
|
58434
|
+
*/
|
|
58435
|
+
endTime?: string;
|
|
58436
|
+
/**
|
|
58437
|
+
* @description The time the campaign starts serving, as an RFC 3339 UTC timestamp. On a create
|
|
58438
|
+
* request it must not be in the past.
|
|
58439
|
+
*/
|
|
58440
|
+
startTime?: string;
|
|
58441
|
+
};
|
|
58442
|
+
"internal_public_v1.Targeting": {
|
|
58443
|
+
/**
|
|
58444
|
+
* @description The age brackets to deliver to. Empty means all ages. Values can be `AGE_13_17`,
|
|
58445
|
+
* `AGE_18_24`, or `AGE_25_PLUS`.
|
|
58446
|
+
*/
|
|
58447
|
+
ageGroups?: ("AGE_13_17" | "AGE_18_24" | "AGE_25_PLUS")[];
|
|
58448
|
+
/**
|
|
58449
|
+
* @description The ISO 3166-1 alpha-2 country codes to deliver to (for example, `US`). Empty
|
|
58450
|
+
* means all countries.
|
|
58451
|
+
*/
|
|
58452
|
+
countries?: string[];
|
|
58453
|
+
/**
|
|
58454
|
+
* @description The device types to deliver to. Empty means all devices. Values can be `PHONE`,
|
|
58455
|
+
* `TABLET`, `DESKTOP`, or `CONSOLE`.
|
|
58456
|
+
*/
|
|
58457
|
+
devices?: ("PHONE" | "TABLET" | "DESKTOP" | "CONSOLE")[];
|
|
58458
|
+
};
|
|
58459
|
+
"internal_public_v1.TargetingDimensions": {
|
|
58460
|
+
/** @description The selectable age brackets. Values can be `AGE_13_17`, `AGE_18_24`, or `AGE_25_PLUS`. */
|
|
58461
|
+
ageGroups?: ("AGE_13_17" | "AGE_18_24" | "AGE_25_PLUS")[];
|
|
58462
|
+
/** @description The selectable ISO 3166-1 alpha-2 country codes (for example, `US`). */
|
|
58463
|
+
countries?: string[];
|
|
58464
|
+
/** @description The selectable device types. Values can be `PHONE`, `TABLET`, `DESKTOP`, or `CONSOLE`. */
|
|
58465
|
+
devices?: ("PHONE" | "TABLET" | "DESKTOP" | "CONSOLE")[];
|
|
58466
|
+
};
|
|
58467
|
+
"internal_public_v1.UniverseEligibility": {
|
|
58468
|
+
/** @description Whether the experience can currently be advertised. */
|
|
58469
|
+
eligible?: boolean;
|
|
58470
|
+
/**
|
|
58471
|
+
* @description The reasons the experience is not eligible. Omitted when eligible. Values can be
|
|
58472
|
+
* `NO_PERMISSION` or `BLOCKED`.
|
|
58473
|
+
*/
|
|
58474
|
+
reasons?: ("NO_PERMISSION" | "BLOCKED")[];
|
|
58475
|
+
/** @description The identifier of the experience that was checked. */
|
|
58476
|
+
universeId?: string;
|
|
58477
|
+
};
|
|
58478
|
+
"internal_public_v1.UpdateCampaignRequest": {
|
|
58479
|
+
/** @description Immutable in v1; including it returns 400. */
|
|
58480
|
+
bid?: components["schemas"]["internal_public_v1.Bid"];
|
|
58481
|
+
/** @description A budget change. Only the amount may change; the budget type is immutable. */
|
|
58482
|
+
budget?: components["schemas"]["internal_public_v1.Budget"];
|
|
58483
|
+
/** @description Immutable in v1; including it returns 400. */
|
|
58484
|
+
creativeAssetIds?: string[];
|
|
58485
|
+
/** @description A new display name for the campaign. */
|
|
58486
|
+
name?: string;
|
|
58487
|
+
/** @description A schedule change. Allowed only before the campaign starts. */
|
|
58488
|
+
schedule?: components["schemas"]["internal_public_v1.Schedule"];
|
|
58489
|
+
/**
|
|
58490
|
+
* @description A lifecycle transition: `ACTIVE` to run or resume, `PAUSED` to pause, or
|
|
58491
|
+
* `CANCELLED` to cancel permanently.
|
|
58492
|
+
* @enum {string}
|
|
58493
|
+
*/
|
|
58494
|
+
status?: "ACTIVE" | "PAUSED" | "CANCELLED";
|
|
58495
|
+
/** @description Immutable in v1; including it returns 400. */
|
|
58496
|
+
targeting?: components["schemas"]["internal_public_v1.Targeting"];
|
|
58497
|
+
};
|
|
56810
58498
|
/** @description A simple container used to hold and organize Roblox instances. */
|
|
56811
58499
|
"roblox.engine.Folder": Record<string, never>;
|
|
56812
58500
|
/** @description Instance is the base class for all classes in the Roblox class hierarchy. */
|