Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.
GET /v1/universes/{universeId}/standard-datastores/datastore/entries/entry/versions — datastores-api/v1
List entry versions
Returns a list of versions for an entry.
Endpoint
Method: GET
Path: /v1/universes/{universeId}/standard-datastores/datastore/entries/entry/versions
Servers:
https://apis.roblox.com/datastores
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
| universeId | path | true | 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 | query | false | The name of the data store. |
| entryKey | query | false | The key identifying the entry. |
| scope | query | false | The value is global by default. See Scopes. |
| cursor | query | false | Provide to request the next set of data. |
| startTime | query | false | Provide to not include versions earlier than this timestamp. |
| endTime | query | false | Provide to not include versions later than this timestamp. |
| sortOrder | query | false | Either Ascending (earlier versions first) or Descending (later versions first). |
| limit | query | false | 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. |
[
{
"name": "universeId",
"in": "path",
"required": true,
"description": "The identifier of the experience with data stores that you want to access. You can find your experience's universe ID on Creator Hub.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "datastoreName",
"in": "query",
"description": "The name of the data store.",
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "entryKey",
"in": "query",
"description": "The key identifying the entry.",
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "scope",
"in": "query",
"description": "The value is `global` by default. See [Scopes](/cloud-services/data-stores/index.md#scopes).",
"schema": {
"type": "string",
"default": "global",
"nullable": true
}
},
{
"name": "cursor",
"in": "query",
"description": "Provide to request the next set of data.",
"schema": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
{
"name": "startTime",
"in": "query",
"description": "Provide to not include versions earlier than this timestamp.",
"schema": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
{
"name": "endTime",
"in": "query",
"description": "Provide to not include versions later than this timestamp.",
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "sortOrder",
"in": "query",
"description": "Either `Ascending` (earlier versions first) or `Descending` (later versions first).",
"schema": {
"type": "string",
"default": "Ascending",
"nullable": true
}
},
{
"name": "limit",
"in": "query",
"description": "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.",
"schema": {
"type": "integer",
"format": "int32",
"default": 16
}
}
] Responses
| Status | Description |
|---|---|
| 200 | |
| 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. |
{
"200": {
"description": "",
"content": {
"text/json": {
"schema": {
"$ref": "#/components/schemas/EntryVersion"
}
}
}
},
"400": {
"description": "Invalid request / Invalid file content."
},
"403": {
"description": "Publish not allowed on place."
},
"404": {
"description": "The experience or data store was not found."
},
"429": {
"description": "Too Many Requests."
}
} Authentication
{
"security": [
{
"roblox-api-key": [
"universe-datastores.versions:list"
]
}
],
"securitySchemes": {
"roblox-api-key": {
"type": "apiKey",
"description": "A configurable key that allows granular access to Roblox resources. See https://create.roblox.com/docs/cloud/auth/api-keys for more information.",
"in": "header",
"name": "x-api-key"
}
}
} Related Schemas
Complete Operation Definition
{
"tags": [
"Entries"
],
"summary": "List entry versions",
"description": "Returns a list of versions for an entry.",
"operationId": "Entries_ListEntryVersionsAsync",
"x-roblox-cloud-api-operation-name": "List Entry Versions",
"x-roblox-stability": "BETA",
"parameters": [
{
"name": "universeId",
"in": "path",
"required": true,
"description": "The identifier of the experience with data stores that you want to access. You can find your experience's universe ID on Creator Hub.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "datastoreName",
"in": "query",
"description": "The name of the data store.",
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "entryKey",
"in": "query",
"description": "The key identifying the entry.",
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "scope",
"in": "query",
"description": "The value is `global` by default. See [Scopes](/cloud-services/data-stores/index.md#scopes).",
"schema": {
"type": "string",
"default": "global",
"nullable": true
}
},
{
"name": "cursor",
"in": "query",
"description": "Provide to request the next set of data.",
"schema": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
{
"name": "startTime",
"in": "query",
"description": "Provide to not include versions earlier than this timestamp.",
"schema": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
{
"name": "endTime",
"in": "query",
"description": "Provide to not include versions later than this timestamp.",
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "sortOrder",
"in": "query",
"description": "Either `Ascending` (earlier versions first) or `Descending` (later versions first).",
"schema": {
"type": "string",
"default": "Ascending",
"nullable": true
}
},
{
"name": "limit",
"in": "query",
"description": "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.",
"schema": {
"type": "integer",
"format": "int32",
"default": 16
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"text/json": {
"schema": {
"$ref": "#/components/schemas/EntryVersion"
}
}
}
},
"400": {
"description": "Invalid request / Invalid file content."
},
"403": {
"description": "Publish not allowed on place."
},
"404": {
"description": "The experience or data store was not found."
},
"429": {
"description": "Too Many Requests."
}
},
"security": [
{
"roblox-api-key": [
"universe-datastores.versions:list"
]
}
],
"x-roblox-scopes": [
{
"name": "universe-datastores.versions:list"
}
],
"x-roblox-cloud-api-operation": true,
"x-roblox-lua-equivalent": "DataStore:ListVersionsAsync",
"x-roblox-cloud-api-operation-code-samples": [
{
"language": "curl",
"script": "curl --include --location --request GET \"https://apis.roblox.com/datastores/v1/universes/3310576216/standard-datastores/datastore/entries/entry/versions\" \\\n--header \"x-api-key: ${API_KEY}\" \\\n--get \\\n-d \"datastoreName=Coins\" \\\n-d \"entryKey=269323\" \\\n-d \"limit=5\""
}
],
"x-roblox-rate-limits": {
"description": "See [Throttling](/cloud/guides/data-stores/throttling.md)."
},
"x-roblox-recommended-alternatives": [
{
"url": "https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}:listRevisions",
"httpMethod": "GET"
},
{
"url": "https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/scopes/{scope_id}/entries/{entry_id}:listRevisions",
"httpMethod": "GET"
}
]
}