Skip to content

Datastores (v1)

OpenCloud v1 reference for Datastores.

Base URL: https://apis.roblox.com/datastores

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? */
});
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.

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}/entries See: 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 */
});
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.

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" */
});
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.

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}/entries See: 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: { /* ... */ }
});
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.

Type: string

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" */
});
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.

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}:increment See: 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" */
});
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.

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}:listRevisions See: 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 */
});
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.

Type: unknown

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" */
});
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.

Type: unknown