Roblox Engine API Data Stores API

Persistent data storage for experiences

OpenAPI Specification

roblox-engine-api-data-stores-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Roblox Open Cloud Assets Data Stores API
  description: The Roblox Open Cloud API provides external programmatic access to Roblox platform resources. It enables server-side operations on experiences, places, data stores, memory stores, users, groups, assets, messaging, badges, game passes, and subscriptions. Authentication uses API keys scoped to specific resources. The API is organized into Open Cloud v2, v1, and Legacy tiers with consistent RESTful patterns.
  version: v2
  contact:
    name: Roblox Developer Relations
    url: https://devforum.roblox.com
  termsOfService: https://en.help.roblox.com/hc/en-us/articles/115004647846
  license:
    name: Proprietary
servers:
- url: https://apis.roblox.com
  description: Roblox Open Cloud API
tags:
- name: Data Stores
  description: Persistent data storage for experiences
paths:
  /datastores/v1/universes/{universeId}/standard-datastores:
    get:
      operationId: listDataStores
      summary: List Data Stores
      description: List all data stores in a universe.
      tags:
      - Data Stores
      security:
      - ApiKeyAuth: []
      parameters:
      - name: universeId
        in: path
        required: true
        schema:
          type: string
      - name: prefix
        in: query
        schema:
          type: string
        description: Filter data stores by name prefix
      - name: limit
        in: query
        schema:
          type: integer
          maximum: 100
      - name: cursor
        in: query
        schema:
          type: string
      responses:
        '200':
          description: List of data stores
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataStoreList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /datastores/v1/universes/{universeId}/standard-datastores/datastore/entries:
    get:
      operationId: listDataStoreEntries
      summary: List Data Store Entries
      description: List all entries (keys) in a data store.
      tags:
      - Data Stores
      security:
      - ApiKeyAuth: []
      parameters:
      - name: universeId
        in: path
        required: true
        schema:
          type: string
      - name: datastoreName
        in: query
        required: true
        schema:
          type: string
      - name: scope
        in: query
        schema:
          type: string
          default: global
      - name: prefix
        in: query
        schema:
          type: string
      - name: limit
        in: query
        schema:
          type: integer
      - name: cursor
        in: query
        schema:
          type: string
      responses:
        '200':
          description: List of data store entry keys
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataStoreEntryList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /datastores/v1/universes/{universeId}/standard-datastores/datastore/entries/entry:
    get:
      operationId: getDataStoreEntry
      summary: Get Data Store Entry
      description: Retrieve the value and metadata for a specific data store entry.
      tags:
      - Data Stores
      security:
      - ApiKeyAuth: []
      parameters:
      - name: universeId
        in: path
        required: true
        schema:
          type: string
      - name: datastoreName
        in: query
        required: true
        schema:
          type: string
      - name: entryKey
        in: query
        required: true
        schema:
          type: string
      - name: scope
        in: query
        schema:
          type: string
          default: global
      - name: versionId
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Data store entry value
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataStoreEntry'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: setDataStoreEntry
      summary: Set Data Store Entry
      description: Set or update the value of a data store entry.
      tags:
      - Data Stores
      security:
      - ApiKeyAuth: []
      parameters:
      - name: universeId
        in: path
        required: true
        schema:
          type: string
      - name: datastoreName
        in: query
        required: true
        schema:
          type: string
      - name: entryKey
        in: query
        required: true
        schema:
          type: string
      - name: scope
        in: query
        schema:
          type: string
          default: global
      - name: matchVersion
        in: query
        schema:
          type: string
        description: Only update if current version matches
      - name: exclusiveCreate
        in: query
        schema:
          type: boolean
        description: Only create if entry does not exist
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Entry set successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataStoreEntryMetadata'
        '401':
          $ref: '#/components/responses/Unauthorized'
    delete:
      operationId: deleteDataStoreEntry
      summary: Delete Data Store Entry
      description: Remove an entry from a data store.
      tags:
      - Data Stores
      security:
      - ApiKeyAuth: []
      parameters:
      - name: universeId
        in: path
        required: true
        schema:
          type: string
      - name: datastoreName
        in: query
        required: true
        schema:
          type: string
      - name: entryKey
        in: query
        required: true
        schema:
          type: string
      - name: scope
        in: query
        schema:
          type: string
      responses:
        '204':
          description: Entry deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    DataStoreEntryList:
      type: object
      properties:
        keys:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
        nextPageCursor:
          type: string
    DataStoreList:
      type: object
      properties:
        datastores:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              createdTime:
                type: string
                format: date-time
        nextPageCursor:
          type: string
    DataStoreEntry:
      type: object
      properties:
        data:
          type: object
          additionalProperties: true
        version:
          type: string
        attributes:
          type: object
        userIds:
          type: array
          items:
            type: integer
    DataStoreEntryMetadata:
      type: object
      properties:
        version:
          type: string
        deleted:
          type: boolean
        contentLength:
          type: integer
        createdTime:
          type: string
          format: date-time
        objectCreatedTime:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        details:
          type: array
          items:
            type: object
  responses:
    Unauthorized:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Roblox Open Cloud API key scoped to specific resources