rozod 6.0.0 → 6.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/README.md +160 -17
- package/lib/endpoints/adconfigurationv2.d.ts +1 -1
- package/lib/endpoints/authv1.d.ts +5 -5
- package/lib/endpoints/catalogv1.d.ts +3 -3
- package/lib/endpoints/economycreatorstatsv1.d.ts +1 -1
- package/lib/endpoints/engagementpayoutsv1.d.ts +1 -1
- package/lib/endpoints/followingsv2.d.ts +1 -1
- package/lib/opencloud/v1/datastores-ordered.d.ts +14 -14
- package/lib/opencloud/v1/datastores-ordered.js +14 -14
- package/lib/opencloud/v1/datastores.d.ts +15 -15
- package/lib/opencloud/v1/datastores.js +15 -15
- package/lib/opencloud/v2/cloud.d.ts +72 -72
- package/lib/opencloud/v2/cloud.js +144 -144
- package/package.json +64 -63
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<h4 align="center">Type-safe Roblox API and OpenCloud client for TypeScript</h4>
|
|
7
7
|
|
|
8
8
|
<p align="center">
|
|
9
|
-
<a href="https://www.npmjs.com/package/rozod"><img alt="npm bundle size" src="https://img.shields.io/bundlephobia/
|
|
9
|
+
<a href="https://www.npmjs.com/package/rozod"><img alt="npm bundle size" src="https://img.shields.io/bundlephobia/min/rozod?style=for-the-badge"></a>
|
|
10
10
|
<a href="https://www.npmjs.com/package/rozod"><img alt="npm" src="https://img.shields.io/npm/v/rozod?style=for-the-badge"></a>
|
|
11
11
|
<a href="https://www.npmjs.com/package/rozod"><img alt="npm" src="https://img.shields.io/npm/dt/rozod?style=for-the-badge"></a>
|
|
12
12
|
</p>
|
|
@@ -24,16 +24,22 @@
|
|
|
24
24
|
---
|
|
25
25
|
|
|
26
26
|
## About
|
|
27
|
-
|
|
27
|
+
|
|
28
|
+
`RoZod` makes working with Roblox APIs simple and type-safe in TypeScript. With **650+ classic Roblox web API endpoints** and **95+ OpenCloud endpoints** (all code-generated from official Roblox documentation), you get comprehensive coverage of virtually every available Roblox API with full type safety.
|
|
29
|
+
|
|
30
|
+
Perfect for everything from small one-time NodeJS/Bun/Deno scripts to large-scale production applications. RoZod powers [RoGold](https://rogold.live), a browser extension with **800,000+ active users**, handling millions of API requests daily across both frontend extensions and backend workflows.
|
|
28
31
|
|
|
29
32
|
## Features
|
|
30
33
|
|
|
31
34
|
- ✨ **Simple Interface** - Easy to understand API with minimal boilerplate
|
|
32
35
|
- 🔒 **Type Safety** - Complete TypeScript type safety for requests and responses
|
|
33
|
-
- 📚 **
|
|
36
|
+
- 📚 **750+ Total Endpoints** - 650+ classic web APIs + 95+ OpenCloud APIs, all code-generated from official docs
|
|
37
|
+
- 🚀 **Production Ready** - Battle-tested in applications serving 800,000+ users
|
|
34
38
|
- 🔄 **Pagination Helpers** - Easy tools for handling paginated responses
|
|
35
39
|
- 🔁 **Batch Processing** - Split large requests automatically to avoid API limits
|
|
40
|
+
- 🌐 **Universal Runtime Support** - Works seamlessly in NodeJS, Bun, Deno, and browsers
|
|
36
41
|
- 🔍 **Custom Endpoints** - Define your own endpoints with full type safety
|
|
42
|
+
- 🧩 **Smart Error Handling** - Choose between safe unions or throw-on-error
|
|
37
43
|
|
|
38
44
|
## Installation
|
|
39
45
|
|
|
@@ -53,6 +59,9 @@ import { getUsersUserdetails } from 'rozod/lib/endpoints/usersv1';
|
|
|
53
59
|
|
|
54
60
|
// Fetch user details with full type safety
|
|
55
61
|
const userInfo = await fetchApi(getUsersUserdetails, { userIds: [1, 123456] });
|
|
62
|
+
if (isAnyErrorResponse(userInfo)) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
56
65
|
console.log(userInfo.data[0].displayName); // Properly typed!
|
|
57
66
|
```
|
|
58
67
|
|
|
@@ -88,8 +97,8 @@ import { getGroupsGroupidWallPosts } from 'rozod/lib/endpoints/groupsv2';
|
|
|
88
97
|
// Process pages as they arrive
|
|
89
98
|
const pages = fetchApiPagesGenerator(getGroupsGroupidWallPosts, { groupId: 11479637 });
|
|
90
99
|
for await (const page of pages) {
|
|
91
|
-
|
|
92
|
-
|
|
100
|
+
console.log(`Processing page with ${page.data.length} posts`);
|
|
101
|
+
// Do something with this page
|
|
93
102
|
}
|
|
94
103
|
```
|
|
95
104
|
|
|
@@ -101,13 +110,47 @@ import { getGamesIcons } from 'rozod/lib/endpoints/gamesv1';
|
|
|
101
110
|
|
|
102
111
|
// Will automatically split into smaller batches of 100 universeIds per request
|
|
103
112
|
const data = await fetchApiSplit(
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
113
|
+
getGamesIcons,
|
|
114
|
+
{ universeIds: [1, 2, 3, 4, 5 /* many more IDs */] },
|
|
115
|
+
{ universeIds: 100 },
|
|
107
116
|
);
|
|
108
117
|
console.log(data);
|
|
109
118
|
```
|
|
110
119
|
|
|
120
|
+
### Handling Errors
|
|
121
|
+
|
|
122
|
+
By default, requests return either the success type or a simple `AnyError`. Use the tiny helper to check:
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
import { fetchApi, isAnyErrorResponse } from 'rozod';
|
|
126
|
+
import { getGamesIcons } from 'rozod/lib/endpoints/gamesv1';
|
|
127
|
+
|
|
128
|
+
const res = await fetchApi(getGamesIcons, { universeIds: [1534453623] });
|
|
129
|
+
if (isAnyErrorResponse(res)) {
|
|
130
|
+
console.error(res.message);
|
|
131
|
+
} else {
|
|
132
|
+
console.log(res.data);
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Prefer a straight try/catch? Enable throwing:
|
|
137
|
+
|
|
138
|
+
```ts
|
|
139
|
+
try {
|
|
140
|
+
const res = await fetchApi(getGamesIcons, { universeIds: [1534453623] }, { throwOnError: true });
|
|
141
|
+
console.log(res.data);
|
|
142
|
+
} catch (err) {
|
|
143
|
+
console.error((err as Error).message);
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Need the raw Response? Use `returnRaw: true`:
|
|
148
|
+
|
|
149
|
+
```ts
|
|
150
|
+
const resp = await fetchApi(getGamesIcons, { universeIds: [1534453623] }, { returnRaw: true });
|
|
151
|
+
const json = await resp.json();
|
|
152
|
+
```
|
|
153
|
+
|
|
111
154
|
## OpenCloud
|
|
112
155
|
|
|
113
156
|
RoZod supports Roblox's newer OpenCloud APIs with the same easy interface:
|
|
@@ -117,8 +160,8 @@ import { fetchApi } from 'rozod';
|
|
|
117
160
|
import { v2 } from 'rozod/lib/opencloud';
|
|
118
161
|
|
|
119
162
|
// Get universe details through OpenCloud
|
|
120
|
-
const universeInfo = await fetchApi(v2.getCloudV2UniversesUniverseId, {
|
|
121
|
-
|
|
163
|
+
const universeInfo = await fetchApi(v2.getCloudV2UniversesUniverseId, {
|
|
164
|
+
universe_id: '123456789',
|
|
122
165
|
});
|
|
123
166
|
|
|
124
167
|
// Access typed properties
|
|
@@ -133,12 +176,110 @@ import { fetchApi } from 'rozod';
|
|
|
133
176
|
import { getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries } from 'rozod/lib/opencloud/v2/cloud';
|
|
134
177
|
|
|
135
178
|
// Get DataStore entries with type safety
|
|
136
|
-
const dataStoreEntries = await fetchApi(
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
179
|
+
const dataStoreEntries = await fetchApi(getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries, {
|
|
180
|
+
universe_id: '123456789',
|
|
181
|
+
data_store_id: 'MyStore',
|
|
182
|
+
});
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Authentication
|
|
186
|
+
|
|
187
|
+
RoZod handles Roblox authentication automatically with comprehensive security features:
|
|
188
|
+
|
|
189
|
+
### Browser Environments
|
|
190
|
+
|
|
191
|
+
In browsers, authentication works automatically when users are logged into Roblox:
|
|
192
|
+
|
|
193
|
+
```ts
|
|
194
|
+
import { fetchApi } from 'rozod';
|
|
195
|
+
import { getUsersUserdetails } from 'rozod/lib/endpoints/usersv1';
|
|
196
|
+
|
|
197
|
+
// Cookies are sent automatically - no setup required!
|
|
198
|
+
const userInfo = await fetchApi(getUsersUserdetails, { userIds: [123456] });
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Server Environments (Node.js/Bun/Deno)
|
|
202
|
+
|
|
203
|
+
For server environments, you need to provide the `.ROBLOSECURITY` cookie manually:
|
|
204
|
+
|
|
205
|
+
```ts
|
|
206
|
+
import { fetchApi } from 'rozod';
|
|
207
|
+
import { getUsersUserdetails } from 'rozod/lib/endpoints/usersv1';
|
|
208
|
+
|
|
209
|
+
const userInfo = await fetchApi(
|
|
210
|
+
getUsersUserdetails,
|
|
211
|
+
{ userIds: [123456] },
|
|
212
|
+
{
|
|
213
|
+
headers: {
|
|
214
|
+
'Cookie': '.ROBLOSECURITY=your_cookie_here'
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
);
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### Security Features
|
|
221
|
+
|
|
222
|
+
RoZod automatically handles advanced Roblox security requirements:
|
|
223
|
+
|
|
224
|
+
- **✅ XCSRF Token Management** - Automatic CSRF token retrieval and caching
|
|
225
|
+
- **✅ Hardware-Backed Authentication** - Full HBA signature support
|
|
226
|
+
- **✅ Challenge Handling** - Captchas, 2FA, and other authentication challenges
|
|
227
|
+
- **✅ Cookie Security** - Secure cookie parsing and validation
|
|
228
|
+
|
|
229
|
+
### Challenge Handling
|
|
230
|
+
|
|
231
|
+
For advanced authentication challenges (captchas, 2FA), set up a global challenge handler:
|
|
232
|
+
|
|
233
|
+
```ts
|
|
234
|
+
import { setHandleGenericChallenge } from 'rozod';
|
|
235
|
+
|
|
236
|
+
setHandleGenericChallenge(async (challenge) => {
|
|
237
|
+
// Handle captcha, 2FA, or other challenges
|
|
238
|
+
// Return the challenge response or undefined to skip
|
|
239
|
+
if (challenge.challengeType === 'captcha') {
|
|
240
|
+
const solution = await solveCaptcha(challenge.challengeId);
|
|
241
|
+
return {
|
|
242
|
+
challengeType: challenge.challengeType,
|
|
243
|
+
challengeId: challenge.challengeId,
|
|
244
|
+
challengeBase64Metadata: solution
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Hardware-Backed Authentication (Advanced)
|
|
251
|
+
|
|
252
|
+
For Node.js environments requiring custom HBA keys:
|
|
253
|
+
|
|
254
|
+
```ts
|
|
255
|
+
import { changeHBAKeys } from 'rozod';
|
|
256
|
+
|
|
257
|
+
// Provide your own crypto key pair for HBA signatures
|
|
258
|
+
const keyPair = await crypto.subtle.generateKey(
|
|
259
|
+
{ name: 'ECDSA', namedCurve: 'P-256' },
|
|
260
|
+
true,
|
|
261
|
+
['sign', 'verify']
|
|
262
|
+
);
|
|
263
|
+
|
|
264
|
+
changeHBAKeys(keyPair);
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### OpenCloud Authentication
|
|
268
|
+
|
|
269
|
+
OpenCloud APIs require API keys in headers:
|
|
270
|
+
|
|
271
|
+
```ts
|
|
272
|
+
import { fetchApi } from 'rozod';
|
|
273
|
+
import { v2 } from 'rozod/lib/opencloud';
|
|
274
|
+
|
|
275
|
+
const universeInfo = await fetchApi(
|
|
276
|
+
v2.getCloudV2UniversesUniverseId,
|
|
277
|
+
{ universe_id: '123456789' },
|
|
278
|
+
{
|
|
279
|
+
headers: {
|
|
280
|
+
'x-api-key': 'your_opencloud_api_key_here'
|
|
141
281
|
}
|
|
282
|
+
}
|
|
142
283
|
);
|
|
143
284
|
```
|
|
144
285
|
|
|
@@ -156,11 +297,11 @@ const myCustomEndpoint = endpoint({
|
|
|
156
297
|
baseUrl: 'https://my-api.example.com',
|
|
157
298
|
parameters: {
|
|
158
299
|
customId: z.string(),
|
|
159
|
-
optional: z.string().optional()
|
|
300
|
+
optional: z.string().optional(),
|
|
160
301
|
},
|
|
161
302
|
response: z.object({
|
|
162
303
|
success: z.boolean(),
|
|
163
|
-
data: z.array(z.string())
|
|
304
|
+
data: z.array(z.string()),
|
|
164
305
|
}),
|
|
165
306
|
});
|
|
166
307
|
|
|
@@ -168,7 +309,9 @@ const response = await fetchApi(myCustomEndpoint, { customId: '123' });
|
|
|
168
309
|
```
|
|
169
310
|
|
|
170
311
|
## Credits
|
|
312
|
+
|
|
171
313
|
This repository is maintained by Alrovi ApS, the company behind RoGold.
|
|
172
314
|
|
|
173
315
|
## Disclaimer
|
|
316
|
+
|
|
174
317
|
RoZod is not affiliated with, maintained, authorized, endorsed, or sponsored by Roblox Corporation or any of its affiliates.
|
|
@@ -344,7 +344,7 @@ export const getSponsoredCampaignsMultiGetCanUserSponsor = endpoint({
|
|
|
344
344
|
campaignTargetType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]),
|
|
345
345
|
campaignTargetIds: z.array(z.number()),
|
|
346
346
|
},
|
|
347
|
-
response: z.
|
|
347
|
+
response: z.boolean(),
|
|
348
348
|
errors: [
|
|
349
349
|
{
|
|
350
350
|
status: 400,
|
|
@@ -147,7 +147,7 @@ const Roblox_Authentication_Api_Models_Request_ExternalAccessRequest = z
|
|
|
147
147
|
.object({
|
|
148
148
|
authenticationProof: z.string(),
|
|
149
149
|
identityProviderPlatformType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]),
|
|
150
|
-
additionalInfoPayload: z.
|
|
150
|
+
additionalInfoPayload: z.object({}),
|
|
151
151
|
})
|
|
152
152
|
.passthrough();
|
|
153
153
|
const Roblox_Authentication_Api_Models_Response_ExternalIdentityGateway_ExternalIdentityAccessResponse = z.object({
|
|
@@ -169,7 +169,7 @@ const Roblox_Authentication_Api_Models_Request_ExternalLoginRequest = z
|
|
|
169
169
|
z.literal(8),
|
|
170
170
|
z.literal(999),
|
|
171
171
|
]),
|
|
172
|
-
additionalData: z.
|
|
172
|
+
additionalData: z.object({}),
|
|
173
173
|
authenticationProof: z.string(),
|
|
174
174
|
})
|
|
175
175
|
.passthrough();
|
|
@@ -194,7 +194,7 @@ const Roblox_Authentication_Api_Models_Request_ExternalLoginAndLinkRequest = z
|
|
|
194
194
|
password: z.string(),
|
|
195
195
|
authenticationProof: z.string(),
|
|
196
196
|
IdentityProviderPlatformType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]),
|
|
197
|
-
additionalInfoPayload: z.
|
|
197
|
+
additionalInfoPayload: z.object({}),
|
|
198
198
|
})
|
|
199
199
|
.passthrough();
|
|
200
200
|
const Roblox_Authentication_Api_Models_Request_ExternalSignupRequest = z
|
|
@@ -205,13 +205,13 @@ const Roblox_Authentication_Api_Models_Request_ExternalSignupRequest = z
|
|
|
205
205
|
locale: z.string(),
|
|
206
206
|
authenticationProof: z.string(),
|
|
207
207
|
IdentityProviderPlatformType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]),
|
|
208
|
-
additionalInfoPayload: z.
|
|
208
|
+
additionalInfoPayload: z.object({}),
|
|
209
209
|
})
|
|
210
210
|
.passthrough();
|
|
211
211
|
const Roblox_Authentication_Api_Models_Request_ExternalUnlinkRequest = z
|
|
212
212
|
.object({
|
|
213
213
|
IdentityProviderPlatformType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]),
|
|
214
|
-
additionalInfoPayload: z.
|
|
214
|
+
additionalInfoPayload: z.object({}),
|
|
215
215
|
})
|
|
216
216
|
.passthrough();
|
|
217
217
|
const Roblox_Authentication_Api_Models_Request_IdentityVerificationLoginRequest = z.object({
|
|
@@ -523,7 +523,7 @@ export const getAssetToCategory = endpoint({
|
|
|
523
523
|
path: '/v1/asset-to-category',
|
|
524
524
|
baseUrl: 'https://catalog.roblox.com',
|
|
525
525
|
requestFormat: 'json',
|
|
526
|
-
response: z.
|
|
526
|
+
response: z.number().int(),
|
|
527
527
|
errors: [],
|
|
528
528
|
});
|
|
529
529
|
/**
|
|
@@ -535,7 +535,7 @@ export const getAssetToSubcategory = endpoint({
|
|
|
535
535
|
path: '/v1/asset-to-subcategory',
|
|
536
536
|
baseUrl: 'https://catalog.roblox.com',
|
|
537
537
|
requestFormat: 'json',
|
|
538
|
-
response: z.
|
|
538
|
+
response: z.number().int(),
|
|
539
539
|
errors: [],
|
|
540
540
|
});
|
|
541
541
|
/**
|
|
@@ -1168,7 +1168,7 @@ export const getSubcategories = endpoint({
|
|
|
1168
1168
|
path: '/v1/subcategories',
|
|
1169
1169
|
baseUrl: 'https://catalog.roblox.com',
|
|
1170
1170
|
requestFormat: 'json',
|
|
1171
|
-
response: z.
|
|
1171
|
+
response: z.number().int(),
|
|
1172
1172
|
errors: [],
|
|
1173
1173
|
});
|
|
1174
1174
|
/**
|
|
@@ -3,7 +3,7 @@ import { endpoint } from '..';
|
|
|
3
3
|
|
|
4
4
|
const Roblox_EconomyCreatorStats_Api_Models_StatisticsResponse = z.object({
|
|
5
5
|
dataGranularity: z.union([z.literal(0), z.literal(1), z.literal(2)]),
|
|
6
|
-
data: z.
|
|
6
|
+
data: z.array(z.array(z.number())),
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -39,7 +39,7 @@ export const getUniversePayoutHistory = endpoint({
|
|
|
39
39
|
startDate: z.string(),
|
|
40
40
|
endDate: z.string(),
|
|
41
41
|
},
|
|
42
|
-
response:
|
|
42
|
+
response: Roblox_EngagementPayouts_Api_PayoutResponseModel,
|
|
43
43
|
errors: [
|
|
44
44
|
{
|
|
45
45
|
status: 400,
|
|
@@ -5,7 +5,7 @@ const Roblox_Followings_Api_Models_FollowsByTypeResponse = z.object({
|
|
|
5
5
|
followerType: z.union([z.literal(0), z.literal(1)]),
|
|
6
6
|
followerId: z.number().int(),
|
|
7
7
|
sourceType: z.union([z.literal(0), z.literal(1)]),
|
|
8
|
-
followedSources: z.
|
|
8
|
+
followedSources: z.string().datetime({ offset: true }),
|
|
9
9
|
});
|
|
10
10
|
|
|
11
11
|
/**
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @api GET https://apis.roblox.com/cloud/v1/universes/:universeId/orderedDataStores/:orderedDataStore/scopes/:scope/entries
|
|
3
|
-
* @param universeId The identifier of the experience with ordered data stores that you want to access.
|
|
3
|
+
* @param universeId The identifier of the experience with ordered data stores that you want to access. You can find your experience's universe ID on Creator Hub.
|
|
4
4
|
* @param orderedDataStore The name of the target ordered data store.
|
|
5
|
-
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-
|
|
5
|
+
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-stores/request-handling.md#scopes).
|
|
6
6
|
* @param max_page_size The maximum number of entries to return. The service may return fewer than this value. The default value is `10`. The maximum value is `100`, and any input above 100 is coerced to `100`.
|
|
7
7
|
* @param page_token A page token received from a previous `List` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `List` must match the call providing the page token.
|
|
8
8
|
* @param order_by The enumeration direction. The order by default is ascending. Input a `desc` suffix for descending.
|
|
9
|
-
* @param filter The range of qualifying values of entries to return. See [Filters](../../../cloud/guides/data-
|
|
9
|
+
* @param filter The range of qualifying values of entries to return. See [Filters](../../../cloud/guides/data-stores/request-handling.md#filters).
|
|
10
10
|
* @description Returns a list of entries from an ordered data store.
|
|
11
11
|
*/
|
|
12
12
|
export declare const getUniversesUniverseIdOrderedDataStoresOrderedDataStoreScopesScopeEntries: import("../..").EndpointGeneric<{
|
|
@@ -28,9 +28,9 @@ export declare const getUniversesUniverseIdOrderedDataStoresOrderedDataStoreScop
|
|
|
28
28
|
/**
|
|
29
29
|
* @api POST https://apis.roblox.com/cloud/v1/universes/:universeId/orderedDataStores/:orderedDataStore/scopes/:scope/entries
|
|
30
30
|
* @param body
|
|
31
|
-
* @param universeId The identifier of the experience with ordered data stores that you want to access.
|
|
31
|
+
* @param universeId The identifier of the experience with ordered data stores that you want to access. You can find your experience's universe ID on Creator Hub.
|
|
32
32
|
* @param orderedDataStore The name of the ordered data store.
|
|
33
|
-
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-
|
|
33
|
+
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-stores/request-handling.md#scopes).
|
|
34
34
|
* @param id The name of the entry.
|
|
35
35
|
* @description Creates a new entry with the content value provided.
|
|
36
36
|
*/
|
|
@@ -48,9 +48,9 @@ export declare const postUniversesUniverseIdOrderedDataStoresOrderedDataStoreSco
|
|
|
48
48
|
}>;
|
|
49
49
|
/**
|
|
50
50
|
* @api GET https://apis.roblox.com/cloud/v1/universes/:universeId/orderedDataStores/:orderedDataStore/scopes/:scope/entries/:entry
|
|
51
|
-
* @param universeId The identifier of the experience with ordered data stores that you want to access.
|
|
51
|
+
* @param universeId The identifier of the experience with ordered data stores that you want to access. You can find your experience's universe ID on Creator Hub.
|
|
52
52
|
* @param orderedDataStore The name of the ordered data store.
|
|
53
|
-
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-
|
|
53
|
+
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-stores/request-handling.md#scopes).
|
|
54
54
|
* @param entry The entry ID.
|
|
55
55
|
* @description Gets and returns the specified entry.
|
|
56
56
|
*/
|
|
@@ -66,9 +66,9 @@ export declare const getUniversesUniverseIdOrderedDataStoresOrderedDataStoreScop
|
|
|
66
66
|
}, undefined>;
|
|
67
67
|
/**
|
|
68
68
|
* @api DELETE https://apis.roblox.com/cloud/v1/universes/:universeId/orderedDataStores/:orderedDataStore/scopes/:scope/entries/:entry
|
|
69
|
-
* @param universeId The identifier of the experience with ordered data stores that you want to access.
|
|
69
|
+
* @param universeId The identifier of the experience with ordered data stores that you want to access. You can find your experience's universe ID on Creator Hub.
|
|
70
70
|
* @param orderedDataStore The name of the ordered data store.
|
|
71
|
-
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-
|
|
71
|
+
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-stores/request-handling.md#scopes).
|
|
72
72
|
* @param entry The entry ID.
|
|
73
73
|
* @description Deletes the specified entry. Unlike standard data stores, which mark entries for deletion, ordered data store entries are deleted immediately.
|
|
74
74
|
*/
|
|
@@ -81,11 +81,11 @@ export declare const deleteUniversesUniverseIdOrderedDataStoresOrderedDataStoreS
|
|
|
81
81
|
/**
|
|
82
82
|
* @api PATCH https://apis.roblox.com/cloud/v1/universes/:universeId/orderedDataStores/:orderedDataStore/scopes/:scope/entries/:entry
|
|
83
83
|
* @param body
|
|
84
|
-
* @param universeId The identifier of the experience with ordered data stores that you want to access.
|
|
84
|
+
* @param universeId The identifier of the experience with ordered data stores that you want to access. You can find your experience's universe ID on Creator Hub.
|
|
85
85
|
* @param orderedDataStore The name of the ordered data store.
|
|
86
|
-
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-
|
|
86
|
+
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-stores/request-handling.md#scopes).
|
|
87
87
|
* @param entry The entry ID.
|
|
88
|
-
* @param allow_missing The flag to allow the creation of an entry if the entry doesn't exist. See [Allow missing flags](../../../cloud/guides/data-
|
|
88
|
+
* @param allow_missing The flag to allow the creation of an entry if the entry doesn't exist. See [Allow missing flags](../../../cloud/guides/data-stores/request-handling.md.md#allow-missing-flags).
|
|
89
89
|
* @description Updates an entry value and returns the updated entry.
|
|
90
90
|
*/
|
|
91
91
|
export declare const patchUniversesUniverseIdOrderedDataStoresOrderedDataStoreScopesScopeEntriesEntry: import("../..").EndpointGeneric<{
|
|
@@ -104,9 +104,9 @@ export declare const patchUniversesUniverseIdOrderedDataStoresOrderedDataStoreSc
|
|
|
104
104
|
/**
|
|
105
105
|
* @api POST https://apis.roblox.com/cloud/v1/universes/:universeId/orderedDataStores/:orderedDataStore/scopes/:scope/entries/:entry:increment
|
|
106
106
|
* @param body
|
|
107
|
-
* @param universeId The identifier of the experience with ordered data stores that you want to access.
|
|
107
|
+
* @param universeId The identifier of the experience with ordered data stores that you want to access. You can find your experience's universe ID on Creator Hub.
|
|
108
108
|
* @param orderedDataStore The name of the ordered data store.
|
|
109
|
-
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-
|
|
109
|
+
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-stores/request-handling.md#scopes).
|
|
110
110
|
* @param entry The entry ID.
|
|
111
111
|
* @description Increments the value of the key by the provided amount and returns the updated entry.
|
|
112
112
|
|
|
@@ -17,13 +17,13 @@ const UpdateEntryRequest = zod_1.z.object({ value: zod_1.z.number().int() });
|
|
|
17
17
|
const IncrementEntryRequest = zod_1.z.object({ amount: zod_1.z.number().int() });
|
|
18
18
|
/**
|
|
19
19
|
* @api GET https://apis.roblox.com/cloud/v1/universes/:universeId/orderedDataStores/:orderedDataStore/scopes/:scope/entries
|
|
20
|
-
* @param universeId The identifier of the experience with ordered data stores that you want to access.
|
|
20
|
+
* @param universeId The identifier of the experience with ordered data stores that you want to access. You can find your experience's universe ID on Creator Hub.
|
|
21
21
|
* @param orderedDataStore The name of the target ordered data store.
|
|
22
|
-
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-
|
|
22
|
+
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-stores/request-handling.md#scopes).
|
|
23
23
|
* @param max_page_size The maximum number of entries to return. The service may return fewer than this value. The default value is `10`. The maximum value is `100`, and any input above 100 is coerced to `100`.
|
|
24
24
|
* @param page_token A page token received from a previous `List` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `List` must match the call providing the page token.
|
|
25
25
|
* @param order_by The enumeration direction. The order by default is ascending. Input a `desc` suffix for descending.
|
|
26
|
-
* @param filter The range of qualifying values of entries to return. See [Filters](../../../cloud/guides/data-
|
|
26
|
+
* @param filter The range of qualifying values of entries to return. See [Filters](../../../cloud/guides/data-stores/request-handling.md#filters).
|
|
27
27
|
* @description Returns a list of entries from an ordered data store.
|
|
28
28
|
*/
|
|
29
29
|
exports.getUniversesUniverseIdOrderedDataStoresOrderedDataStoreScopesScopeEntries = (0, __1.endpoint)({
|
|
@@ -68,9 +68,9 @@ exports.getUniversesUniverseIdOrderedDataStoresOrderedDataStoreScopesScopeEntrie
|
|
|
68
68
|
/**
|
|
69
69
|
* @api POST https://apis.roblox.com/cloud/v1/universes/:universeId/orderedDataStores/:orderedDataStore/scopes/:scope/entries
|
|
70
70
|
* @param body
|
|
71
|
-
* @param universeId The identifier of the experience with ordered data stores that you want to access.
|
|
71
|
+
* @param universeId The identifier of the experience with ordered data stores that you want to access. You can find your experience's universe ID on Creator Hub.
|
|
72
72
|
* @param orderedDataStore The name of the ordered data store.
|
|
73
|
-
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-
|
|
73
|
+
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-stores/request-handling.md#scopes).
|
|
74
74
|
* @param id The name of the entry.
|
|
75
75
|
* @description Creates a new entry with the content value provided.
|
|
76
76
|
*/
|
|
@@ -115,9 +115,9 @@ exports.postUniversesUniverseIdOrderedDataStoresOrderedDataStoreScopesScopeEntri
|
|
|
115
115
|
});
|
|
116
116
|
/**
|
|
117
117
|
* @api GET https://apis.roblox.com/cloud/v1/universes/:universeId/orderedDataStores/:orderedDataStore/scopes/:scope/entries/:entry
|
|
118
|
-
* @param universeId The identifier of the experience with ordered data stores that you want to access.
|
|
118
|
+
* @param universeId The identifier of the experience with ordered data stores that you want to access. You can find your experience's universe ID on Creator Hub.
|
|
119
119
|
* @param orderedDataStore The name of the ordered data store.
|
|
120
|
-
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-
|
|
120
|
+
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-stores/request-handling.md#scopes).
|
|
121
121
|
* @param entry The entry ID.
|
|
122
122
|
* @description Gets and returns the specified entry.
|
|
123
123
|
*/
|
|
@@ -160,9 +160,9 @@ exports.getUniversesUniverseIdOrderedDataStoresOrderedDataStoreScopesScopeEntrie
|
|
|
160
160
|
});
|
|
161
161
|
/**
|
|
162
162
|
* @api DELETE https://apis.roblox.com/cloud/v1/universes/:universeId/orderedDataStores/:orderedDataStore/scopes/:scope/entries/:entry
|
|
163
|
-
* @param universeId The identifier of the experience with ordered data stores that you want to access.
|
|
163
|
+
* @param universeId The identifier of the experience with ordered data stores that you want to access. You can find your experience's universe ID on Creator Hub.
|
|
164
164
|
* @param orderedDataStore The name of the ordered data store.
|
|
165
|
-
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-
|
|
165
|
+
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-stores/request-handling.md#scopes).
|
|
166
166
|
* @param entry The entry ID.
|
|
167
167
|
* @description Deletes the specified entry. Unlike standard data stores, which mark entries for deletion, ordered data store entries are deleted immediately.
|
|
168
168
|
*/
|
|
@@ -206,11 +206,11 @@ exports.deleteUniversesUniverseIdOrderedDataStoresOrderedDataStoreScopesScopeEnt
|
|
|
206
206
|
/**
|
|
207
207
|
* @api PATCH https://apis.roblox.com/cloud/v1/universes/:universeId/orderedDataStores/:orderedDataStore/scopes/:scope/entries/:entry
|
|
208
208
|
* @param body
|
|
209
|
-
* @param universeId The identifier of the experience with ordered data stores that you want to access.
|
|
209
|
+
* @param universeId The identifier of the experience with ordered data stores that you want to access. You can find your experience's universe ID on Creator Hub.
|
|
210
210
|
* @param orderedDataStore The name of the ordered data store.
|
|
211
|
-
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-
|
|
211
|
+
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-stores/request-handling.md#scopes).
|
|
212
212
|
* @param entry The entry ID.
|
|
213
|
-
* @param allow_missing The flag to allow the creation of an entry if the entry doesn't exist. See [Allow missing flags](../../../cloud/guides/data-
|
|
213
|
+
* @param allow_missing The flag to allow the creation of an entry if the entry doesn't exist. See [Allow missing flags](../../../cloud/guides/data-stores/request-handling.md.md#allow-missing-flags).
|
|
214
214
|
* @description Updates an entry value and returns the updated entry.
|
|
215
215
|
*/
|
|
216
216
|
exports.patchUniversesUniverseIdOrderedDataStoresOrderedDataStoreScopesScopeEntriesEntry = (0, __1.endpoint)({
|
|
@@ -261,9 +261,9 @@ exports.patchUniversesUniverseIdOrderedDataStoresOrderedDataStoreScopesScopeEntr
|
|
|
261
261
|
/**
|
|
262
262
|
* @api POST https://apis.roblox.com/cloud/v1/universes/:universeId/orderedDataStores/:orderedDataStore/scopes/:scope/entries/:entry:increment
|
|
263
263
|
* @param body
|
|
264
|
-
* @param universeId The identifier of the experience with ordered data stores that you want to access.
|
|
264
|
+
* @param universeId The identifier of the experience with ordered data stores that you want to access. You can find your experience's universe ID on Creator Hub.
|
|
265
265
|
* @param orderedDataStore The name of the ordered data store.
|
|
266
|
-
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-
|
|
266
|
+
* @param scope The name of the data store scope. See [Scopes](../../../cloud/guides/data-stores/request-handling.md#scopes).
|
|
267
267
|
* @param entry The entry ID.
|
|
268
268
|
* @description Increments the value of the key by the provided amount and returns the updated entry.
|
|
269
269
|
|