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/lib/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/lib/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/lib/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/lib/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/lib/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/lib/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/lib/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/lib/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