Datastores (v1)
OpenCloud v1 reference for Datastores.
Base URL: https://apis.roblox.com/datastores
Endpoints
Section titled “Endpoints”| Method | Path | Name |
|---|---|---|
GET |
/v1/universes/:universeId/standard-datastores |
getUniversesUniverseIdDatastores (deprecated) |
GET |
/v1/universes/:universeId/standard-datastores/datastore/entries |
getUniversesUniverseIdDatastoresDatastoreEntries (deprecated) |
GET |
/v1/universes/:universeId/standard-datastores/datastore/entries/entry |
getUniversesUniverseIdDatastoresDatastoreEntriesEntry (deprecated) |
POST |
/v1/universes/:universeId/standard-datastores/datastore/entries/entry |
postUniversesUniverseIdDatastoresDatastoreEntriesEntry (deprecated) |
DELETE |
/v1/universes/:universeId/standard-datastores/datastore/entries/entry |
deleteUniversesUniverseIdDatastoresDatastoreEntriesEntry (deprecated) |
POST |
/v1/universes/:universeId/standard-datastores/datastore/entries/entry/increment |
postUniversesUniverseIdDatastoresDatastoreEntriesEntryIncrement (deprecated) |
GET |
/v1/universes/:universeId/standard-datastores/datastore/entries/entry/versions |
getUniversesUniverseIdDatastoresDatastoreEntriesEntryVersions (deprecated) |
GET |
/v1/universes/:universeId/standard-datastores/datastore/entries/entry/versions/version |
getUniversesUniverseIdDatastoresDatastoreEntriesEntryVersionsVersion (deprecated) |
getUniversesUniverseIdDatastores deprecated
Section titled “getUniversesUniverseIdDatastores deprecated”GET /v1/universes/:universeId/standard-datastores
Returns a list of an experience’s data stores.
See:
GET https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores
Scopes: universe-datastores.control:list
Usage
import { fetchApi } from 'rozod';import { getUniversesUniverseIdDatastores } from 'rozod/opencloud/v1/datastores';
const data = await fetchApi(getUniversesUniverseIdDatastores, { universeId: /* integer */, cursor: /* string \| null? */, limit: /* integer? = 1 */, prefix: /* string \| null? */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
universeId |
integer |
Yes | The identifier of the experience with data stores that you want to access. You can find your experience’s universe ID on Creator Hub. |
cursor |
string | null? |
No | Provide to request the next set of data. |
limit |
integer? = 1 |
No | The maximum number of items to return. Each call only reads one partition, so it can return fewer than the given value when running out of objectives on one partition. |
prefix |
string | null? |
No | Provide to return only data stores with this prefix. |
Response
Section titled “Response”Type: object
getUniversesUniverseIdDatastoresDatastoreEntries deprecated
Section titled “getUniversesUniverseIdDatastoresDatastoreEntries deprecated”GET /v1/universes/:universeId/standard-datastores/datastore/entries
Returns a list of entry keys within a data store. Entries marked deleted with a tombstone version are still included in the response if they have yet to be permanently deleted.
See:
GET https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entriesSee:GET https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries
Scopes: universe-datastores.objects:list
Usage
import { fetchApi } from 'rozod';import { getUniversesUniverseIdDatastoresDatastoreEntries } from 'rozod/opencloud/v1/datastores';
const data = await fetchApi(getUniversesUniverseIdDatastoresDatastoreEntries, { universeId: /* integer */, datastoreName: /* string \| null? */, scope: /* string \| null? */, allScopes: /* boolean? */, prefix: /* string \| null? */, cursor: /* string \| null? */, limit: /* integer? = 16 */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
universeId |
integer |
Yes | The identifier of the experience with data stores that you want to access. You can find your experience’s universe ID on Creator Hub. |
datastoreName |
string | null? |
No | The name of the data store. |
scope |
string | null? |
No | The value is global by default. See Scopes. |
allScopes |
boolean? |
No | Set to true to return keys from all scopes. |
prefix |
string | null? |
No | Provide to return only keys with this prefix. |
cursor |
string | null? |
No | Provide to request the next set of data. |
limit |
integer? = 16 |
No | The maximum number of items to return. Each call only reads one partition, so it can return fewer than the given value when running out of objectives on one partition. |
Response
Section titled “Response”Type: object
getUniversesUniverseIdDatastoresDatastoreEntriesEntry deprecated
Section titled “getUniversesUniverseIdDatastoresDatastoreEntriesEntry deprecated”GET /v1/universes/:universeId/standard-datastores/datastore/entries/entry
Returns the value and metadata associated with an entry. Entries marked deleted with a tombstone version will return 404 Not Found. Metadata can be found in the response headers like the following: text content-md5: zuYxEhwuySMv0i8CitXImw== roblox-entry-version: 08D9E6A3F2188CFF.0000000001.08D9E6A3F2188CFF.01 roblox-entry-created-time: 2022-02-02T23:30:06.5388799+00:00 roblox-entry-version-created-time: 2022-02-02T23:30:06.5388799+00:00 roblox-entry-attributes: { "myAttribute": "myValue" } roblox-entry-userids: [1, 2, 3] | Header | Description | |—|—| | content-md5 | The base64-encoded MD5 checksum of the content. See Content-MD5. | | roblox-entry-version | The version of the returned entry. | | roblox-entry-created-time | The time at which the entry was created. | | roblox-entry-version-created-time | The time at which this particular version was created. | | roblox-entry-attributes | Attributes tagged with the entry. Serialized JSON map object. | | roblox-entry-userids | Comma-separated list of Roblox user IDs tagged with the entry. |
See:
GET https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}See:GET https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries/{entry_id}
Scopes: universe-datastores.objects:read
Usage
import { fetchApi } from 'rozod';import { getUniversesUniverseIdDatastoresDatastoreEntriesEntry } from 'rozod/opencloud/v1/datastores';
const data = await fetchApi(getUniversesUniverseIdDatastoresDatastoreEntriesEntry, { universeId: /* integer */, datastoreName: /* string \| null? */, entryKey: /* string \| null? */, scope: /* string \| null? = "global" */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
universeId |
integer |
Yes | The identifier of the experience with data stores that you want to access. You can find your experience’s universe ID on Creator Hub. |
datastoreName |
string | null? |
No | The name of the data store. |
entryKey |
string | null? |
No | The key identifying the entry. |
scope |
string | null? = "global" |
No | The value is global by default. See Scopes. |
Response
Section titled “Response”Type: unknown
postUniversesUniverseIdDatastoresDatastoreEntriesEntry deprecated
Section titled “postUniversesUniverseIdDatastoresDatastoreEntriesEntry deprecated”POST /v1/universes/:universeId/standard-datastores/datastore/entries/entry
Sets the value, metadata and user IDs associated with an entry.
See:
PATCH https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}See:PATCH https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries/{entry_id}See:POST https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entriesSee:POST https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries
Scopes: universe-datastores.objects:update, universe-datastores.objects:create, universe-datastores.control:create
Usage
import { fetchApi } from 'rozod';import { postUniversesUniverseIdDatastoresDatastoreEntriesEntry } from 'rozod/opencloud/v1/datastores';
const data = await fetchApi(postUniversesUniverseIdDatastoresDatastoreEntriesEntry, { universeId: /* integer */, datastoreName: /* string \| null? */, entryKey: /* string \| null? */, matchVersion: /* string \| null? */, exclusiveCreate: /* boolean? */, scope: /* string \| null? = "global" */, body: { /* ... */ }});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
universeId |
integer |
Yes | The identifier of the experience with data stores that you want to access. You can find your experience’s universe ID on Creator Hub. |
datastoreName |
string | null? |
No | The name of the data store. |
entryKey |
string | null? |
No | The key identifying the entry. |
matchVersion |
string | null? |
No | Provide to update only if the current version matches this. |
exclusiveCreate |
boolean? |
No | Create the entry only if it does not exist. |
scope |
string | null? = "global" |
No | The value is global by default. See Scopes. |
Request Body
Section titled “Request Body”Type: string
Response
Section titled “Response”Type: unknown
deleteUniversesUniverseIdDatastoresDatastoreEntriesEntry deprecated
Section titled “deleteUniversesUniverseIdDatastoresDatastoreEntriesEntry deprecated”DELETE /v1/universes/:universeId/standard-datastores/datastore/entries/entry
Marks the entry as deleted by creating a tombstone version. Entries are deleted permanently after 30 days.
See:
DELETE https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}See:DELETE https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries/{entry_id}
Scopes: universe-datastores.objects:delete
Usage
import { fetchApi } from 'rozod';import { deleteUniversesUniverseIdDatastoresDatastoreEntriesEntry } from 'rozod/opencloud/v1/datastores';
const data = await fetchApi(deleteUniversesUniverseIdDatastoresDatastoreEntriesEntry, { universeId: /* integer */, datastoreName: /* string \| null? */, entryKey: /* string \| null? */, scope: /* string \| null? = "global" */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
universeId |
integer |
Yes | The identifier of the experience with data stores that you want to access. You can find your experience’s universe ID on Creator Hub. |
datastoreName |
string | null? |
No | The name of the data store. |
entryKey |
string | null? |
No | The key identifying the entry. |
scope |
string | null? = "global" |
No | The value is global by default. See Scopes. |
Response
Section titled “Response”Type: unknown
postUniversesUniverseIdDatastoresDatastoreEntriesEntryIncrement deprecated
Section titled “postUniversesUniverseIdDatastoresDatastoreEntriesEntryIncrement deprecated”POST /v1/universes/:universeId/standard-datastores/datastore/entries/entry/increment
Increments the value for an entry by a given amount, or create a new entry with that amount. Returns the entry and metadata. Metadata can be found in the response headers like the following: text content-md5: zuYxEhwuySMv0i8CitXImw== roblox-entry-version: 08D9E6A3F2188CFF.0000000001.08D9E6A3F2188CFF.01 roblox-entry-created-time: 2022-02-02T23:30:06.5388799+00:00 roblox-entry-version-created-time: 2022-02-02T23:30:06.5388799+00:00 roblox-entry-attributes: { "myAttribute": "myValue" } roblox-entry-userids: [1, 2, 3] | Header | Description | |—|—| | content-md5 | The base64-encoded MD5 checksum of the content. See Content-MD5. | | roblox-entry-version | The version of the returned entry. | | roblox-entry-created-time | The time at which the entry was created. | | roblox-entry-version-created-time | The time at which this particular version was created. | | roblox-entry-attributes | Attributes tagged with the entry. Serialized JSON map object. | | roblox-entry-userids | Comma-separated list of Roblox user IDs tagged with the entry. |
See:
POST https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}:incrementSee:POST https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries/{entry_id}:increment
Scopes: universe-datastores.objects:update, universe-datastores.objects:create, universe-datastores.control:create
Usage
import { fetchApi } from 'rozod';import { postUniversesUniverseIdDatastoresDatastoreEntriesEntryIncrement } from 'rozod/opencloud/v1/datastores';
const data = await fetchApi(postUniversesUniverseIdDatastoresDatastoreEntriesEntryIncrement, { universeId: /* integer */, datastoreName: /* string \| null? */, entryKey: /* string \| null? */, incrementBy: /* integer? = 1 */, scope: /* string \| null? = "global" */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
universeId |
integer |
Yes | The identifier of the experience with data stores that you want to access. You can find your experience’s universe ID on Creator Hub. |
datastoreName |
string | null? |
No | The name of the data store. |
entryKey |
string | null? |
No | The key identifying the entry. |
incrementBy |
integer? = 1 |
No | The amount by which the entry should be incremented, or the starting value if it doesn’t exist. |
scope |
string | null? = "global" |
No | The value is global by default. See Scopes. |
Response
Section titled “Response”Type: unknown
getUniversesUniverseIdDatastoresDatastoreEntriesEntryVersions deprecated
Section titled “getUniversesUniverseIdDatastoresDatastoreEntriesEntryVersions deprecated”GET /v1/universes/:universeId/standard-datastores/datastore/entries/entry/versions
Returns a list of versions for an entry.
See:
GET https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}:listRevisionsSee:GET https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries/{entry_id}:listRevisions
Scopes: universe-datastores.versions:list
Usage
import { fetchApi } from 'rozod';import { getUniversesUniverseIdDatastoresDatastoreEntriesEntryVersions } from 'rozod/opencloud/v1/datastores';
const data = await fetchApi(getUniversesUniverseIdDatastoresDatastoreEntriesEntryVersions, { universeId: /* integer */, datastoreName: /* string \| null? */, entryKey: /* string \| null? */, scope: /* string \| null? = "global" */, cursor: /* string */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
universeId |
integer |
Yes | The identifier of the experience with data stores that you want to access. You can find your experience’s universe ID on Creator Hub. |
datastoreName |
string | null? |
No | The name of the data store. |
entryKey |
string | null? |
No | The key identifying the entry. |
scope |
string | null? = "global" |
No | The value is global by default. See Scopes. |
cursor |
string |
Yes | Provide to request the next set of data. |
Response
Section titled “Response”Type: unknown
Errors
Section titled “Errors”| Status | Description |
|---|---|
| 400 | Invalid request / Invalid file content. |
| 403 | Publish not allowed on place. |
| 404 | The experience or data store was not found. |
| 429 | Too Many Requests. |
getUniversesUniverseIdDatastoresDatastoreEntriesEntryVersionsVersion deprecated
Section titled “getUniversesUniverseIdDatastoresDatastoreEntriesEntryVersionsVersion deprecated”GET /v1/universes/:universeId/standard-datastores/datastore/entries/entry/versions/version
Returns the value and metadata of a specific version of an entry. Metadata can be found in the response headers like the following: text content-md5: zuYxEhwuySMv0i8CitXImw== roblox-entry-version: 08D9E6A3F2188CFF.0000000001.08D9E6A3F2188CFF.01 roblox-entry-created-time: 2022-02-02T23:30:06.5388799+00:00 roblox-entry-version-created-time: 2022-02-02T23:30:06.5388799+00:00 roblox-entry-attributes: { "myAttribute": "myValue" } roblox-entry-userids: [1, 2, 3] | Header | Description | |—|—| | content-md5 | The base64-encoded MD5 checksum of the content. See Content-MD5. | | roblox-entry-version | The version of the returned entry. | | roblox-entry-created-time | The time at which the entry was created. | | roblox-entry-version-created-time | The time at which this particular version was created. | | roblox-entry-attributes | Attributes tagged with the entry. Serialized JSON map object. | | roblox-entry-userids | Comma-separated list of Roblox user IDs tagged with the entry. |
See:
GET https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}See:GET https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries/{entry_id}
Scopes: universe-datastores.versions:read
Usage
import { fetchApi } from 'rozod';import { getUniversesUniverseIdDatastoresDatastoreEntriesEntryVersionsVersion } from 'rozod/opencloud/v1/datastores';
const data = await fetchApi(getUniversesUniverseIdDatastoresDatastoreEntriesEntryVersionsVersion, { universeId: /* integer */, datastoreName: /* string \| null? */, entryKey: /* string \| null? */, versionId: /* string \| null? */, scope: /* string \| null? = "global" */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
universeId |
integer |
Yes | The identifier of the experience with data stores that you want to access. You can find your experience’s universe ID on Creator Hub. |
datastoreName |
string | null? |
No | The name of the data store. |
entryKey |
string | null? |
No | The key identifying the entry. |
versionId |
string | null? |
No | The version to inspect. |
scope |
string | null? = "global" |
No | The value is global by default. See Scopes. |
Response
Section titled “Response”Type: unknown