Standard Data Stores

Datastores

https://apis.roblox.com/datastores
The following endpoints are available at paths relative to the base URL.

List Data Stores

GET /v1/universes/{universeId}/standard-datastores

Parameters

universeId number
Path
Required
cursor string
limit number
prefix string

Request

curl

curl --include --location --request GET "https://apis.roblox.com/datastores/v1/universes/3310576216/standard-datastores" \
--header "x-api-key: ${API_KEY}" \
--get \
-d "prefix=Player" \
-d "limit=5"

Response

200 - OK
Returns an object
application/json

{
"datastores": [
{
"name": "PlayerInventory",
"createdTime": "2022-02-18T22:38:59.9244932Z"
},
{
"name": "PlayerExperience",
"createdTime": "2022-02-18T23:00:10.4773508Z"
},
{
"name": "PlayerWeapons",
"createdTime": "2022-02-18T23:00:22.3725681Z"
},
{
"name": "PlayerArmor",
"createdTime": "2022-02-18T22:59:33.8472882Z"
},
{
"name": "PlayerHP",
"createdTime": "2022-02-18T22:58:47.6904028Z"
}
],
"nextPageCursor": "..."
}
data array<object>
nextPageCursor string

Required Permissions

  • List Datastores

Entries

https://apis.roblox.com/datastores
The following endpoints are available at paths relative to the base URL.

List Entries

GET /v1/universes/{universeId}/standard-datastores/datastore/entries

Parameters

universeId number
Path
Required
datastoreName string
scope string
allScopes boolean
prefix string
cursor string
limit number

Request

curl

curl --include --location --request GET "https://apis.roblox.com/datastores/v1/universes/3310576216/standard-datastores/datastore/entries" \
--header "x-api-key: ${API_KEY}" \
--get \
-d "datastoreName=Coins" \
-d "prefix=" \
-d "limit=5"

Response

200 - OK
Returns an object
application/json

{
"keys": [
{
"key": "269323"
}
],
"nextPageCursor": "eyJ2ZXJzaW9uIjoxLCJjdXJzb3IiOiIzIyJ9"
}
keys array<string>
nextPageCursor string

Required Permissions

  • List Entry Keys

Get Entry

GET /v1/universes/{universeId}/standard-datastores/datastore/entries/entry

Parameters

universeId number
Path
Required
datastoreName string
entryKey string
scope string

Request

curl

curl --include --location --request GET "https://apis.roblox.com/datastores/v1/universes/3310576216/standard-datastores/datastore/entries/entry" \
--header "x-api-key: ${API_KEY}" \
--get \
-d "datastoreName=Coins" \
-d "entryKey=269323"

Response

200 - OK
Returns the user content of the entry in the body of the response.
Returns an object
application/json

{
"content-md5": "zuYxEhwuySMvOi8CitXImw==",
"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-userids": [ 1, 2, 3 ]
}
roblox-entry-created-time string
last-modified string
roblox-entry-version string
roblox-entry-attributes string
roblox-entry-userids array<number>
content-md5 string

Required Permissions

  • Read Entry

Set Entry

POST /v1/universes/{universeId}/standard-datastores/datastore/entries/entry

Parameters

universeId number
Path
Required
datastoreName string
entryKey string
matchVersion string
exclusiveCreate boolean
scope string
roblox-entry-attributes string
Header
roblox-entry-userids string
Header
content-md5 string
Header

Request

curl

curl --include --location --request POST "https://apis.roblox.com/datastores/v1/universes/3310576216/standard-datastores/datastore/entries/entry?datastoreName=Coins&entryKey=269323" \
--header "x-api-key: ${API_KEY}" \
--header "content-md5: IGPBYI1uC6+AJJxC4r5YBA==" \
--header "content-type: application/json" \
--header "roblox-entry-userids: [269323]" \
--header "roblox-entry-attributes: {}" \
--d "value"

Response

200 - OK
Returns an object
version string
deleted boolean
contentLength number
createdTime string
objectCreatedTime string

Required Permissions

  • Create Entry
  • Update Entry

Delete Entry

DELETE /v1/universes/{universeId}/standard-datastores/datastore/entries/entry

Parameters

universeId number
Path
Required
datastoreName string
entryKey string
scope string

Request

curl

curl --include --location --request DELETE "https://apis.roblox.com/datastores/v1/universes/3310576216/standard-datastores/datastore/entries/entry" \
--header "x-api-key: ${API_KEY}" \
--get \
-d "datastoreName=Coins" \
-d "entryKey=269323"

Response

Required Permissions

  • Delete Entry

Increment Entry

POST /v1/universes/{universeId}/standard-datastores/datastore/entries/entry/increment

Parameters

universeId number
Path
Required
datastoreName string
entryKey string
incrementBy number
scope string
roblox-entry-attributes string
Header
roblox-entry-userids string
Header

Request

curl

curl --include --location --request POST "https://apis.roblox.com/datastores/v1/universes/3310576216/standard-datastores/datastore/entries/entry/increment" \
--header "x-api-key: ${API_KEY}" \
--header 'content-length: 0' \
--get \
-d "datastoreName=Coins" \
-d "entryKey=269323" \
-d "incrementBy=3"

Response

200 - OK
Returns the latest version of the entry after it has been incremented.
Returns an object
application/json

{
"content-md5": "K4phWUsfTE2wkCqKOVztkw==",
"roblox-entry-version": "08D9E6A3F2188CFF.0000000009.08D9E6DF74AC5F42.01",
"roblox-entry-created-time": "2022-02-02T23:30:06.5388799+00:00",
"roblox-entry-version-created-time": "2022-02-03T06:36:05.9184962+00:00",
"roblox-entry-userids": []
}
roblox-entry-created-time string
last-modified string
roblox-entry-version string
roblox-entry-attributes string
roblox-entry-userids array<number>
content-md5 string

Required Permissions

  • Create Entry
  • Update Entry

Get Entry Version

GET /v1/universes/{universeId}/standard-datastores/datastore/entries/entry/versions/version

Parameters

universeId number
Path
Required
datastoreName string
entryKey string
versionId string
scope string

Request

curl

curl --include --location --request GET "https://apis.roblox.com/datastores/v1/universes/3310576216/standard-datastores/datastore/entries/entry/versions/version" \
--header "x-api-key: ${API_KEY}" \
--get \
-d "datastoreName=Coins" \
-d "entryKey=269323" \
-d "versionId=08D9E6A3F2188CFF.0000000003.08D9E6DE485A7680.01"

Response

200 - OK
Returns an object
application/json

{
"content-md5": "sTf90fedVsft8zZf6nUg8g==",
"roblox-entry-version": "08D9E6A3F2188CFF.0000000003.08D9E6DE485A7680.01",
"roblox-entry-created-time": "2022-02-02T23:30:06.5388799+00:00",
"roblox-entry-version-created-time": "2022-02-03T06:27:42.0652160+00:00",
"roblox-entry-attributes": {},
"roblox-entry-userids": [ 269323 ]
}
roblox-entry-created-time string
last-modified string
roblox-entry-version string

Required Permissions

  • Read Version

Limits

Per API Key: 100 requests every 60 seconds per IP Address

List Entry Versions

GET /v1/universes/{universeId}/standard-datastores/datastore/entries/entry/versions

Parameters

universeId number
Path
Required
datastoreName string
entryKey string
scope string
cursor string
startTime string
endTime string
sortOrder string
limit number

Request

curl

curl --include --location --request GET "https://apis.roblox.com/datastores/v1/universes/3310576216/standard-datastores/datastore/entries/entry/versions" \
--header "x-api-key: ${API_KEY}" \
--get \
-d "datastoreName=Coins" \
-d "entryKey=269323" \
-d "limit=5"

Response

200 - OK
Returns an object
version string
deleted boolean
contentLength number
createdTime string
objectCreatedTime string

Required Permissions

  • List Versions

Objects

The following objects describe payloads that are accepted or returned. See each individual endpoint for more information on when these objects are used.

DataStore

Attributes

name string
createdTime string

EntryVersion

Attributes

version string
deleted boolean
contentLength number
createdTime string
objectCreatedTime string