Roblox Engine API Places API

Place publishing and management

OpenAPI Specification

roblox-engine-api-places-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Roblox Open Cloud Assets Places 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: Places
  description: Place publishing and management
paths:
  /cloud/v2/universes/{universeId}/places/{placeId}:
    get:
      operationId: getPlace
      summary: Get Place
      description: Retrieve details about a specific place within a universe.
      tags:
      - Places
      security:
      - ApiKeyAuth: []
      parameters:
      - name: universeId
        in: path
        required: true
        schema:
          type: string
      - name: placeId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Place details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Place'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updatePlace
      summary: Update Place
      description: Update settings for a place.
      tags:
      - Places
      security:
      - ApiKeyAuth: []
      parameters:
      - name: universeId
        in: path
        required: true
        schema:
          type: string
      - name: placeId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePlaceRequest'
      responses:
        '200':
          description: Place updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Place'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /universes/v1/{universeId}/places/{placeId}/versions:
    post:
      operationId: publishPlace
      summary: Publish Place
      description: Publish a new version of a place by uploading a .rbxl or .rbxlx file. This deploys the new place version to production.
      tags:
      - Places
      security:
      - ApiKeyAuth: []
      parameters:
      - name: universeId
        in: path
        required: true
        schema:
          type: string
      - name: placeId
        in: path
        required: true
        schema:
          type: string
      - name: versionType
        in: query
        required: true
        schema:
          type: string
          enum:
          - Published
          - Saved
      requestBody:
        required: true
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
      responses:
        '200':
          description: Place published successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlaceVersion'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  schemas:
    PlaceVersion:
      type: object
      properties:
        versionNumber:
          type: integer
        versionType:
          type: string
    UpdatePlaceRequest:
      type: object
      properties:
        displayName:
          type: string
        description:
          type: string
        serverSize:
          type: integer
    Place:
      type: object
      properties:
        id:
          type: string
        displayName:
          type: string
        description:
          type: string
        serverSize:
          type: integer
        createTime:
          type: string
          format: date-time
        updateTime:
          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'
    Forbidden:
      description: Insufficient permissions for this resource
      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