4 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

DataStoreEntry — cloud.docs

A key-value entry in a data store.

Properties

NameTypeRequiredDescription
pathstringfalseThe resource path of the data store entry. Formats: * universes/{universe_id}/data-stores/{data_store_id}/entries/{data_store_entry_id} * universes/{universe_id}/data-stores/{data_store_id}/scopes/{data_store_scope_id}/entries/{data_store_entry_id}
createTimestringfalseThe timestamp when the data store entry was created.
revisionIdstringfalseThe revision ID of the data store entry. A new revision is committed whenever the data store entry is changed in any way. The format is an arbitrary string. Example: "foo"
revisionCreateTimestringfalseThe timestamp when the revision was created.
statestringfalseThe state of the data store entry. Possible values: | Value | Description | | --- | --- | | STATE_UNSPECIFIED | The default value. This value is used if the state is omitted. | | ACTIVE | The data store entry is active. The default state of a newly created data store entry. | | DELETED | The data store entry is deleted. At some point in the future, it will be permanently deleted. |
etagstringfalseThis checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests (and potentially on certain custom methods) to ensure the client has an up-to-date value before proceeding.
value#/components/schemas/GoogleProtobufValuefalseThe value of the entry. When a stored value contains a non-finite Luau number that JSON can't represent, Open Cloud responses replace the number with a tagged JSON object: * Positive infinity: {"m": null, "t": "numeric", "v": "inf"} * Negative infinity: {"m": null, "t": "numeric", "v": "-inf"} * NaN: {"m": null, "t": "numeric", "v": "nan"}
idstringfalseThe resource ID of the entry. This matches the last segment of the resource path, and is provided only for convenience.
usersarrayfalseUsers associated with the entry. Each value must be a user resource path in the format users/{user_id}, not a bare user ID.
attributesobjectfalseAn arbitrary set of attributes associated with the entry.

Complete Schema

{
  "type": "object",
  "properties": {
    "path": {
      "example": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
      "type": "string",
      "description": "The resource path of the data store entry.\n\nFormats:\n* `universes/{universe_id}/data-stores/{data_store_id}/entries/{data_store_entry_id}`\n* `universes/{universe_id}/data-stores/{data_store_id}/scopes/{data_store_scope_id}/entries/{data_store_entry_id}`"
    },
    "createTime": {
      "readOnly": true,
      "example": "2023-07-05T12:34:56Z",
      "type": "string",
      "description": "The timestamp when the data store entry was created.",
      "format": "date-time"
    },
    "revisionId": {
      "readOnly": true,
      "type": "string",
      "description": "The revision ID of the data store entry.\n\nA new revision is committed whenever the data store entry is changed in any\nway.\n\nThe format is an arbitrary string.\nExample: \"foo\"",
      "x-immutable": true
    },
    "revisionCreateTime": {
      "readOnly": true,
      "example": "2023-07-05T12:34:56Z",
      "type": "string",
      "description": "The timestamp when the revision was created.",
      "format": "date-time"
    },
    "state": {
      "readOnly": true,
      "example": "STATE_UNSPECIFIED",
      "enum": [
        "STATE_UNSPECIFIED",
        "ACTIVE",
        "DELETED"
      ],
      "type": "string",
      "description": "The state of the data store entry.\n\nPossible values:\n\n  | Value | Description |\n  | --- | --- |\n  | STATE_UNSPECIFIED | The default value. This value is used if the state is omitted. |\n  | ACTIVE | The data store entry is active.  The default state of a newly created data store entry. |\n  | DELETED | The data store entry is deleted.  At some point in the future, it will be permanently deleted. |",
      "format": "enum"
    },
    "etag": {
      "type": "string",
      "description": "This checksum is computed by the server based on the value of other\nfields, and may be sent on update and delete requests (and potentially\non certain custom methods) to ensure the client has an up-to-date\nvalue before proceeding."
    },
    "value": {
      "$ref": "#/components/schemas/GoogleProtobufValue",
      "description": "The value of the entry.\n\nWhen a stored value contains a non-finite Luau number that JSON can't\nrepresent, Open Cloud responses replace the number with a tagged JSON\nobject:\n\n* Positive infinity: `{\"m\": null, \"t\": \"numeric\", \"v\": \"inf\"}`\n* Negative infinity: `{\"m\": null, \"t\": \"numeric\", \"v\": \"-inf\"}`\n* NaN: `{\"m\": null, \"t\": \"numeric\", \"v\": \"nan\"}`"
    },
    "id": {
      "readOnly": true,
      "type": "string",
      "description": "The resource ID of the entry.\n\nThis matches the last segment of the resource path, and is provided\nonly for convenience."
    },
    "users": {
      "example": "users/123",
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Users associated with the entry.\n\nEach value must be a user resource path in the format `users/{user_id}`,\nnot a bare user ID."
    },
    "attributes": {
      "type": "object",
      "description": "An arbitrary set of attributes associated with the entry."
    }
  },
  "description": "A key-value entry in a data store.",
  "x-aep-resource": {
    "patterns": [
      "universes/{universe_id}/data-stores/{data_store_id}/entries/{data_store_entry_id}",
      "universes/{universe_id}/data-stores/{data_store_id}/scopes/{data_store_scope_id}/entries/{data_store_entry_id}"
    ],
    "plural": "data-store-entries",
    "singular": "data-store-entry"
  },
  "x-resource": true
}