### Install rbxcloud CLI with Aftman Source: https://sleitnick.github.io/rbxcloud/cli/cli-install Installs the rbxcloud CLI using Aftman by adding it to the project's aftman.toml file and then running aftman install. This is the preferred method. ```bash $ aftman add Sleitnick/rbxcloud@0.17.0 ``` ```bash $ aftman install ``` -------------------------------- ### Install rbxcloud CLI with Foreman Source: https://sleitnick.github.io/rbxcloud/cli/cli-install Installs the rbxcloud CLI by adding it to the [tools] section of the foreman.toml file and then running foreman install. Aftman is preferred over Foreman. ```toml # foreman.toml [tools] rbxcloud = { github = "Sleitnick/rbxcloud", version = "0.17.0" } ``` ```bash $ foreman install ``` -------------------------------- ### Publish Place CLI Example Source: https://sleitnick.github.io/rbxcloud/cli/cli-experience A practical example of how to use the `rbxcloud experience publish` command with specific arguments for filename, version type, place ID, universe ID, and API key. ```bash $ rbxcloud experience publish -f myplace.rbxl -t published -p 12345 -u 98765 -a MY_KEY ``` -------------------------------- ### Install rbxcloud CLI with Foreman Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Installs the rbxcloud CLI using the Foreman package manager, a legacy option. It requires defining the tool in a foreman.toml file and then running the install command. Installation is verified by checking the CLI version. ```toml # foreman.toml [tools] rbxcloud = { github = "Sleitnick/rbxcloud", version = "0.17.0" } ``` ```bash # Install tools from foreman.toml $ foreman install # Verify installation $ rbxcloud --version ``` -------------------------------- ### Verify rbxcloud CLI Installation Source: https://sleitnick.github.io/rbxcloud/cli/cli-install Verifies that the rbxcloud CLI was installed successfully by running the --version flag. This command should output the installed version of the CLI. ```bash $ rbxcloud --version ``` -------------------------------- ### Install rbxcloud CLI with Aftman Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Installs the rbxcloud CLI using the Aftman package manager. This involves adding the package to your project's configuration and then installing all defined tools. Finally, it verifies the installation by checking the version. ```bash # Add rbxcloud to your project's aftman.toml $ aftman add Sleitnick/rbxcloud@0.17.0 # Install all tools defined in aftman.toml $ aftman install # Verify installation $ rbxcloud --version ``` -------------------------------- ### List DataStore Key Versions (rbxcloud CLI) Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Lists the version history of a specific DataStore key. Supports sorting by order (ascending/descending) and time-based filtering using start and end times. Requires datastore name, key, universe ID, and API key. Optional parameters include sort order, limit, start time, and end time. ```bash # List all versions in descending order $ rbxcloud datastore list-versions \ --datastore-name PlayerData \ --key user_123456789 \ --sort-order descending \ --limit 10 \ --universe-id 12345 \ --api-key YOUR_API_KEY # List versions within time range $ rbxcloud datastore list-versions \ --datastore-name PlayerData \ --key user_123456789 \ --sort-order ascending \ --start-time "2024-01-01T00:00:00Z" \ --end-time "2024-12-31T23:59:59Z" \ --limit 100 \ --universe-id 12345 \ --api-key YOUR_API_KEY ``` -------------------------------- ### GitHub Actions for Automated Place Deployment Source: https://sleitnick.github.io/rbxcloud/cli/cli-experience An example GitHub Actions workflow that automates the deployment of a Roblox place. It assumes the use of Aftman for dependency management and `rbxcloud` for publishing, leveraging environment variables and GitHub secrets for sensitive information like the API key. ```yaml # Deploy any time code is pushed to the 'main' branch name: Deploy on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Aftman uses: ok-nick/setup-aftman@v0 - name: Publish shell: bash env: UID: 123456789 # Universe ID PID: 123456789 # Place ID API_KEY: ${{ secrets.key }} # API Key (keep this in your GitHub Repository Secrets) FILE: my_place.rbxl # Roblox place file (e.g. might have a step before this to build the file with Rojo) run: rbxcloud experience publish -a "$API_KEY" -u "$UID" -p "$PID" -t published -f "$FILE" ``` -------------------------------- ### Get Subscription Info CLI Command Source: https://sleitnick.github.io/rbxcloud/cli/cli-subscription This command-line interface (CLI) command retrieves detailed information about a specific subscription. It requires the universe ID, product ID, subscription ID, and an API key for authentication. Optional flags allow for specifying a view type and formatting the output for better readability. ```bash Usage: rbxcloud subscription get [OPTIONS] --universe-id --product --subscription --api-key Options: -u, --universe-id Universe ID -S, --product Subscription product ID -s, --subscription Subscription ID -v, --view View type [possible values: basic, full] -p, --pretty Pretty-print the JSON response -a, --api-key Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] -h, --help Print help ``` ```bash $ rbxcloud subscription get -p -u 12345 -S 1234 -s 5678 -a MY_KEY ``` -------------------------------- ### Automate Roblox Place Deployment with GitHub Actions Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Automates the deployment of Roblox place files using a GitHub Actions workflow. This pipeline checks out the code, installs the Aftman tool, builds the place file using Rojo, and then publishes it to Roblox using the rbxcloud CLI. ```yaml # .github/workflows/deploy.yml name: Deploy to Roblox on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Aftman uses: ok-nick/setup-aftman@v0 - name: Build place with Rojo run: rojo build -o myplace.rbxl - name: Publish to Roblox env: RBXCLOUD_API_KEY: ${{ secrets.RBXCLOUD_API_KEY }} run: | rbxcloud experience publish \ -f myplace.rbxl \ -t published \ -p ${{ secrets.PLACE_ID }} -u ${{ secrets.UNIVERSE_ID }} ``` -------------------------------- ### Get User Information CLI Source: https://sleitnick.github.io/rbxcloud/cli/cli-user Retrieves user information using the rbxcloud CLI. Requires a user ID and API key. Supports pretty-printing the JSON response. ```bash Usage: rbxcloud user get [OPTIONS] --user-id --api-key Options: -u, --user-id User ID -p, --pretty Pretty-print the JSON response -a, --api-key Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] -h, --help Print help $ rbxcloud user get -p -u 12345 -a MY_KEY ``` -------------------------------- ### Get Universe Info with rbxcloud CLI Source: https://sleitnick.github.io/rbxcloud/cli/cli-universe Retrieves information about a specific Roblox universe using its ID. Requires an API key for authentication. The response can be pretty-printed for readability. This command uses the 'rbxcloud universe get' subcommand. ```bash Usage: rbxcloud universe get [OPTIONS] --universe-id --api-key Options: -u, --universe-id Universe ID -p, --pretty Pretty-print the JSON response -a, --api-key Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] -h, --help Print help Example: $ rbxcloud universe get -p -u 12345 -a MY_KEY ``` -------------------------------- ### Get Universe Information Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Retrieves information about a Roblox experience (universe) using its ID. The `--pretty` flag enhances output readability. An API key is required for authentication. ```bash # Get universe info $ rbxcloud universe get \ --universe-id 12345 \ --pretty \ --api-key YOUR_API_KEY ``` -------------------------------- ### Get Subscription Information with rbxcloud CLI Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Commands to retrieve details about a user's subscription to a product. Requires universe ID, product ID, subscription ID, and an API key. Supports different views like 'basic' and 'full' for the subscription details. ```bash # Get subscription with basic view $ rbxcloud subscription get \ --universe-id 12345 \ --product 1234 \ --subscription 5678 \ --view basic \ --pretty \ --api-key YOUR_API_KEY # Get subscription with full details $ rbxcloud subscription get \ --universe-id 12345 \ --product 1234 \ --subscription 5678 \ --view full \ --pretty \ --api-key YOUR_API_KEY ``` -------------------------------- ### List Roblox DataStore Key Versions Source: https://sleitnick.github.io/rbxcloud/cli/cli-datastore Lists all versions of a specific key within a Roblox DataStore. Requires DataStore name, key, sort order, limit, Universe ID, and API Key. Supports time-based filtering (start and end times), scope specification, and pagination via cursor. ```bash rbxcloud datastore list-versions --datastore-name --key --sort-order --limit --universe-id --api-key rbxcloud datastore list-versions -d -k -o -l -u -a -s -t -e -c ``` -------------------------------- ### Get User Information Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Retrieves public information for a given Roblox user ID. The `--pretty` flag formats the output for better readability. An API key is required. ```bash # Get user info with pretty formatting $ rbxcloud user get \ --user-id 123456789 \ --pretty \ --api-key YOUR_API_KEY ``` -------------------------------- ### Get OrderedDataStore Entry (rbxcloud CLI) Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Retrieves a specific entry from an OrderedDataStore using its ID. Requires datastore name, entry ID, universe ID, and API key. ```bash # Get an entry $ rbxcloud ordered-datastore get \ --datastore-name Leaderboard \ --id player_123456789 \ --universe-id 12345 \ --api-key YOUR_API_KEY ``` -------------------------------- ### Configure rbxcloud API Key using Environment Variable Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Sets the RBXCLOUD_API_KEY environment variable to configure your API key for rbxcloud. This avoids the need to pass the API key with every command. The example also shows how to set it in a GitHub Actions workflow. ```bash # Set API key as environment variable $ export RBXCLOUD_API_KEY="your_api_key_here" # Now you can run commands without --api-key flag $ rbxcloud datastore list-stores -u 12345 # In CI/CD (GitHub Actions example) env: RBXCLOUD_API_KEY: ${{ secrets.RBXCLOUD_API_KEY }} run: rbxcloud experience publish -f myplace.rbxl -t published -p 12345 -u 98765 ``` -------------------------------- ### Get User Restriction Logs with rbxcloud CLI Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Command to retrieve the history of user restriction actions for a specific universe. Requires universe ID and an API key. Allows specifying page size for the number of log entries to retrieve. ```bash # Get restriction logs $ rbxcloud user-restriction logs \ --universe-id 12345 \ --page-size 100 \ --pretty \ --api-key YOUR_API_KEY ``` -------------------------------- ### Subscription API - Get Subscription Info Source: https://sleitnick.github.io/rbxcloud/cli/cli-subscription Retrieves information about a specific subscription for a given Roblox universe and product. ```APIDOC ## GET /v1/subscriptions/{subscriptionId} ### Description Retrieves details for a specific subscription, including its status and associated product information. ### Method GET ### Endpoint `/v1/subscriptions/{subscriptionId}` ### Parameters #### Path Parameters - **subscriptionId** (string) - Required - The unique identifier of the subscription. #### Query Parameters - **universeId** (integer) - Required - The ID of the universe the subscription belongs to. - **productId** (string) - Required - The ID of the subscription product. - **view** (string) - Optional - The type of view for the subscription details. Possible values: `basic`, `full`. - **apiKey** (string) - Required - Your Roblox Open Cloud API Key. ### Request Example ```bash curl -X GET "https://apis.roblox.com/v1/subscriptions/{subscriptionId}?universeId=12345&productId=1234&view=full" \ -H "apiKey: YOUR_API_KEY" ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier of the subscription. - **universeId** (integer) - The ID of the universe. - **productId** (string) - The ID of the product. - **status** (string) - The current status of the subscription (e.g., "active", "canceled"). - **createdAt** (string) - The timestamp when the subscription was created. - **updatedAt** (string) - The timestamp when the subscription was last updated. #### Response Example ```json { "id": "5678", "universeId": 12345, "productId": "1234", "status": "active", "createdAt": "2023-10-27T10:00:00Z", "updatedAt": "2023-10-27T10:00:00Z" } ``` ``` -------------------------------- ### Publish Place CLI Command Usage Source: https://sleitnick.github.io/rbxcloud/cli/cli-experience Defines the command-line interface for publishing a Roblox place. It outlines the required arguments: filename, place ID, universe ID, version type, and API key, along with their corresponding options and environment variable mappings. ```bash USAGE: rbxcloud experience publish --filename --place-id --universe-id --version-type --api-key OPTIONS: -a, --api-key Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] -f, --filename Filename (full or relative) of the RBXL file -h, --help Print help information -p, --place-id Place ID of the experience -u, --universe-id Universe ID of the experience -t, --version-type Version type [possible values: saved, published] ``` -------------------------------- ### Get Entry Source: https://sleitnick.github.io/rbxcloud/cli/cli-ordered-datastore Retrieves a specific entry from an OrderedDataStore by its ID. ```APIDOC ## GET /v1/universes/{universeId}/orderedDataStores/{datastoreName}/entry/{id} ### Description Retrieves a specific entry from an OrderedDataStore by its ID. ### Method GET ### Endpoint `/v1/universes/{universeId}/orderedDataStores/{datastoreName}/entry/{id}` ### Parameters #### Path Parameters - **universeId** (string) - Required - The Universe ID of the experience. - **datastoreName** (string) - Required - DataStore name. - **id** (string) - Required - The ID of the entry. #### Query Parameters - **apiKey** (string) - Required - Roblox Open Cloud API Key. - **scope** (string) - Optional - DataStore scope. ### Request Example (No request body for GET requests) ### Response #### Success Response (200) - **key** (string) - The ID of the entry. - **value** (number) - The value of the entry. #### Response Example ```json { "key": "someEntryId", "value": 150 } ``` ``` -------------------------------- ### GET /universe Source: https://sleitnick.github.io/rbxcloud/cli/cli-universe Retrieves information about a specific Roblox universe. ```APIDOC ## GET /universe ### Description Retrieves information about a specific Roblox universe using its Universe ID. ### Method GET ### Endpoint `/v1/universes/{universeId}` ### Parameters #### Query Parameters - **universeId** (integer) - Required - The ID of the universe to retrieve. - **apiKey** (string) - Required - Your Roblox Open Cloud API Key. ### Request Example ```bash curl -X GET https://apis.roblox.com/universes/v1/{universeId}?apiKey={apiKey} ``` ### Response #### Success Response (200) - **universeId** (integer) - The ID of the universe. - **name** (string) - The name of the universe. - **description** (string) - The description of the universe. #### Response Example ```json { "universeId": 12345, "name": "My Awesome Experience", "description": "An amazing experience on Roblox." } ``` ``` -------------------------------- ### Publish Message to Experience (rbxcloud CLI) Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Publishes messages to live game servers via MessagingService topics. Useful for real-time communication between servers or with clients. Requires topic name, message content, universe ID, and API key. ```bash # Publish simple message $ rbxcloud messaging publish \ --topic PlayerJoined \ --message "New player connected" \ --universe-id 12345 \ --api-key YOUR_API_KEY ``` -------------------------------- ### DataStore API - List All DataStores Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Lists all datastores within an experience. Supports filtering by prefix and pagination using a cursor. ```APIDOC ## GET /v1/universes/{universeId}/datastores ### Description Lists all datastores within an experience. Supports filtering by prefix and pagination using a cursor. ### Method GET ### Endpoint `/v1/universes/{universeId}/datastores` ### Parameters #### Query Parameters - **universeId** (integer) - Required - The ID of the universe to list datastores for. - **prefix** (string) - Optional - Filters datastores by a specific prefix. - **limit** (integer) - Optional - The maximum number of datastores to return (default: 100). - **cursor** (string) - Optional - A cursor for retrieving the next page of results. - **api_key** (string) - Required - Your Roblox API key. ### Request Example ```bash rbxcloud datastore list-stores \ --universe-id 12345 \ --prefix "Player" \ --limit 50 \ --api-key YOUR_API_KEY ``` ### Response #### Success Response (200) - **datastores** (array) - A list of datastore objects. - **name** (string) - The name of the datastore. - **created_at** (string) - The timestamp when the datastore was created. - **updated_at** (string) - The timestamp when the datastore was last updated. - **next_page_cursor** (string) - A cursor for the next page of results, if any. ``` -------------------------------- ### Deploy Roblox Place File using rbxcloud CLI Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Deploys a place file to Roblox servers. Supports deploying as a 'published' version for live use or as a 'saved' version for drafts. Requires filename, version type, place ID, universe ID, and API key. ```bash # Publish to production $ rbxcloud experience publish \ --filename myplace.rbxl \ --version-type published \ --place-id 12345 \ --universe-id 98765 \ --api-key YOUR_API_KEY # Save as draft version $ rbxcloud experience publish \ --filename myplace.rbxl \ --version-type saved \ --place-id 12345 \ --universe-id 98765 \ --api-key YOUR_API_KEY ``` -------------------------------- ### Get Group Shout Source: https://sleitnick.github.io/rbxcloud/cli/cli-group Retrieves a group's current shout and its metadata. ```APIDOC ## GET /group/shout ### Description Get a group's current shout and its metadata. ### Method GET ### Endpoint /group/shout ### Parameters #### Query Parameters - **groupId** (integer) - Required - The ID of the group. - **apiKey** (string) - Required - Roblox Open Cloud API Key. - **pretty** (boolean) - Optional - Pretty-print the JSON response. - **onlyMessage** (boolean) - Optional - Only return the shout message string. ### Request Example ```bash GET /group/shout?groupId=12345&apiKey=MY_KEY&pretty=true ``` ```bash GET /group/shout?groupId=12345&apiKey=MY_KEY&pretty=true&onlyMessage=true ``` ### Response #### Success Response (200) - **message** (string) - The shout message. - **author** (object) - Information about the author of the shout. - **username** (string) - The username of the author. - **userId** (integer) - The ID of the author. - **created** (string) - The timestamp when the shout was created (ISO 8601 format). - **updated** (string) - The timestamp when the shout was last updated (ISO 8601 format). #### Response Example ```json { "message": "Welcome to the group!", "author": { "username": "ShouterName", "userId": 11223 }, "created": "2023-10-27T10:00:00Z", "updated": "2023-10-27T10:00:00Z" } ``` ```json "Welcome to the group!" ``` ``` -------------------------------- ### Get Group Info Source: https://sleitnick.github.io/rbxcloud/cli/cli-group Retrieves information about a specific group using its ID. ```APIDOC ## GET /group ### Description Get information about a group. ### Method GET ### Endpoint /group ### Parameters #### Query Parameters - **groupId** (integer) - Required - The ID of the group. - **apiKey** (string) - Required - Roblox Open Cloud API Key. - **pretty** (boolean) - Optional - Pretty-print the JSON response. ### Request Example ```bash GET /group?groupId=12345&apiKey=MY_KEY&pretty=true ``` ### Response #### Success Response (200) - **groupName** (string) - The name of the group. - **groupOwner** (object) - Information about the group owner. - **username** (string) - The username of the owner. - **userId** (integer) - The ID of the owner. - **memberCount** (integer) - The number of members in the group. #### Response Example ```json { "groupName": "Example Group", "groupOwner": { "username": "OwnerName", "userId": 67890 }, "memberCount": 1000 } ``` ``` -------------------------------- ### Create OrderedDataStore Entry (rbxcloud CLI) Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Creates a new entry in an OrderedDataStore with a specified ID and value. Requires datastore name, entry ID, value, universe ID, and API key. ```bash # Create entry with score $ rbxcloud ordered-datastore create \ --datastore-name Leaderboard \ --id player_123456789 \ --value 1500 \ --universe-id 12345 \ --api-key YOUR_API_KEY ``` -------------------------------- ### Getting Place Info Source: https://sleitnick.github.io/rbxcloud/cli/cli-place Retrieves information about a specific place within a given universe. ```APIDOC ## GET /universes/{universeId}/places/{placeId} ### Description Retrieves detailed information for a specific place belonging to a Roblox universe. ### Method GET ### Endpoint `/universes/{universeId}/places/{placeId}` ### Parameters #### Path Parameters - **universeId** (string) - Required - The ID of the universe. - **placeId** (string) - Required - The ID of the place. #### Query Parameters - **apiKey** (string) - Required - Your Roblox Open Cloud API Key. - **pretty** (boolean) - Optional - Whether to pretty-print the JSON response. ### Request Example ```bash rbxcloud place get --universe-id 12345 --place-id 67890 --api-key MY_KEY ``` ### Response #### Success Response (200) - **placeId** (string) - The ID of the place. - **universeId** (string) - The ID of the universe. - **name** (string) - The name of the place. - **description** (string) - The description of the place. - **isPublic** (boolean) - Indicates if the place is public. - **maxPlayers** (integer) - The maximum number of players allowed in the place. - **serverSize** (integer) - The server size for the place. #### Response Example ```json { "placeId": "67890", "universeId": "12345", "name": "My Awesome Place", "description": "Welcome to my place!", "isPublic": true, "maxPlayers": 10, "serverSize": 20 } ``` ``` -------------------------------- ### List OrderedDataStore Entries (rbxcloud CLI) Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Lists entries from an OrderedDataStore. Supports ordering by value (descending/ascending) and filtering by value range. Requires datastore name, universe ID, and API key. Optional parameters include scope, order by, filter, and max page size. ```bash # List entries in descending order $ rbxcloud ordered-datastore list \ --datastore-name Leaderboard \ --universe-id 12345 \ --order-by desc \ --api-key YOUR_API_KEY # List with value range filter $ rbxcloud ordered-datastore list \ --datastore-name Leaderboard \ --scope global \ --filter "value >= 1000 AND value <= 5000" \ --max-page-size 50 \ --universe-id 12345 \ --api-key YOUR_API_KEY ``` -------------------------------- ### Get Task Logs Source: https://sleitnick.github.io/rbxcloud/cli/cli-luau-execution Retrieves logs for a previously executed Luau task. ```APIDOC ## GET /v1/universes/{universeId}/places/{placeId}/sessions/{sessionId}/tasks/{taskId}/logs ### Description Retrieves logs on a previously executed task. ### Method GET ### Endpoint /v1/universes/{universeId}/places/{placeId}/sessions/{sessionId}/tasks/{taskId}/logs ### Parameters #### Path Parameters - **universeId** (string) - Required - The ID of the universe. - **placeId** (string) - Required - The ID of the place. - **sessionId** (string) - Required - The Luau execution session ID. - **taskId** (string) - Required - The Luau execution task ID. #### Query Parameters - **versionId** (string) - Optional - The version ID of the experience. - **maxPageSize** (integer) - Optional - Maximum number of log entries to return per page. - **pageToken** (string) - Optional - Token for the next page of logs. - **view** (string) - Optional - Log view type. Possible values: `flat`, `structured`. - **pretty** (boolean) - Optional - Pretty-print the JSON response. - **apiKey** (string) - Required - Roblox Open Cloud API Key. ### Request Body (None) ### Response #### Success Response (200) - **logs** (array) - An array of log entries. - **nextPageToken** (string) - Token for the next page of logs, if available. #### Response Example ```json { "logs": [ { "message": "Log entry message.", "timestamp": "2023-10-27T10:00:00Z" } ], "nextPageToken": "some-token" } ``` ``` -------------------------------- ### Create Entry Source: https://sleitnick.github.io/rbxcloud/cli/cli-ordered-datastore Creates a new entry in an OrderedDataStore with a specified ID and value. ```APIDOC ## POST /v1/universes/{universeId}/orderedDataStores/{datastoreName}/entry ### Description Creates a new entry in an OrderedDataStore with a specified ID and value. ### Method POST ### Endpoint `/v1/universes/{universeId}/orderedDataStores/{datastoreName}/entry` ### Parameters #### Path Parameters - **universeId** (string) - Required - The Universe ID of the experience. - **datastoreName** (string) - Required - DataStore name. #### Query Parameters - **apiKey** (string) - Required - Roblox Open Cloud API Key. - **scope** (string) - Optional - DataStore scope. #### Request Body - **id** (string) - Required - The ID of the entry. - **value** (number) - Required - The value of the entry. ### Request Example ```json { "id": "newEntry", "value": 50 } ``` ### Response #### Success Response (200 or 201) - **key** (string) - The ID of the created entry. - **value** (number) - The value of the created entry. #### Response Example ```json { "key": "newEntry", "value": 50 } ``` ``` -------------------------------- ### Get Task Information Source: https://sleitnick.github.io/rbxcloud/cli/cli-luau-execution Retrieves information about a previously executed Luau task. ```APIDOC ## GET /v1/universes/{universeId}/places/{placeId}/sessions/{sessionId}/tasks/{taskId} ### Description Gets information on a previously executed task. ### Method GET ### Endpoint /v1/universes/{universeId}/places/{placeId}/sessions/{sessionId}/tasks/{taskId} ### Parameters #### Path Parameters - **universeId** (string) - Required - The ID of the universe. - **placeId** (string) - Required - The ID of the place. - **sessionId** (string) - Required - The Luau execution session ID. - **taskId** (string) - Required - The Luau execution task ID. #### Query Parameters - **versionId** (string) - Optional - The version ID of the experience. - **pretty** (boolean) - Optional - Pretty-print the JSON response. - **apiKey** (string) - Required - Roblox Open Cloud API Key. ### Request Body (None) ### Response #### Success Response (200) - **status** (string) - The status of the task. - **result** (string) - The result of the task execution. #### Response Example ```json { "status": "Completed", "result": "Execution finished successfully." } ``` ``` -------------------------------- ### Publish Place Source: https://sleitnick.github.io/rbxcloud/cli/cli-experience Publishes a Roblox place (`*.rbxl` file) to a specified Place ID and Universe ID. ```APIDOC ## POST /experience/publish ### Description Publishes a place to a Roblox experience. This takes an `*.rbxl` file and publishes it to a specific Place ID. ### Method POST ### Endpoint /experience/publish ### Parameters #### Query Parameters - **filename** (string) - Required - Filename (full or relative) of the RBXL file - **place_id** (integer) - Required - Place ID of the experience - **universe_id** (integer) - Required - Universe ID of the experience - **version_type** (string) - Required - Version type. Possible values: `saved`, `published` - **api_key** (string) - Required - Roblox Open Cloud API Key ### Request Example ```bash rbxcloud experience publish --filename myplace.rbxl --version-type published --place-id 12345 --universe-id 98765 --api-key MY_KEY ``` ### Response #### Success Response (200) (No specific success response details provided in the source, but typically indicates a successful publish operation.) #### Response Example (No specific response example provided in the source.) ### GitHub Action Example ```yaml # Deploy any time code is pushed to the 'main' branch name: Deploy on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Aftman uses: ok-nick/setup-aftman@v0 - name: Publish shell: bash env: UID: 123456789 # Universe ID PID: 123456789 # Place ID API_KEY: ${{ secrets.key }} # API Key (keep this in your GitHub Repository Secrets) FILE: my_place.rbxl # Roblox place file (e.g. might have a step before this to build the file with Rojo) run: rbxcloud experience publish -a "$API_KEY" -u "$UID" -p "$PID" -t published -f "$FILE" ``` ``` -------------------------------- ### Get Key Version Source: https://sleitnick.github.io/rbxcloud/cli/cli-datastore Retrieves a specific version of an entry for a given key from a Roblox DataStore. ```APIDOC ## GET /v1/universes/{universeId}/datastores/{datastoreName}/entries/{key}/versions/{versionId} ### Description Get a specific entry of a key given the version. ### Method GET ### Endpoint `/v1/universes/{universeId}/datastores/{datastoreName}/entries/{key}/versions/{versionId}` ### Parameters #### Path Parameters - **universeId** (integer) - Required - Universe ID of the experience - **datastoreName** (string) - Required - DataStore name - **key** (string) - Required - The key of the entry - **versionId** (integer) - Required - The version of the key #### Query Parameters - **scope** (string) - Optional - DataStore scope ### Request Example (No request body needed for GET request) ### Response #### Success Response (200) - **value** (any) - The value of the entry at the specified version - **versionNumber** (integer) - The version number of the retrieved entry - **attributes** (object) - The attributes of the entry - **createdAt** (string) - Timestamp when the entry version was created #### Response Example ```json { "value": "some data", "versionNumber": 3, "attributes": { "source": "client" }, "createdAt": "2023-10-26T15:30:00Z" } ``` ``` -------------------------------- ### List DataStores using rbxcloud CLI Source: https://context7.com/context7/sleitnick_github_io_rbxcloud/llms.txt Lists all datastores within a Roblox universe using the rbxcloud CLI. Supports filtering by a prefix, limiting the number of results, and paginating through them using a cursor. Requires universe ID and API key. ```bash # List all datastores in experience $ rbxcloud datastore list-stores \ --universe-id 12345 \ --api-key YOUR_API_KEY # List datastores with specific prefix $ rbxcloud datastore list-stores \ --universe-id 12345 \ --prefix "Player" \ --limit 50 \ --api-key YOUR_API_KEY # Paginate through results $ rbxcloud datastore list-stores \ --universe-id 12345 \ --cursor "next_page_cursor_here" \ --api-key YOUR_API_KEY ``` -------------------------------- ### GET /assets/{assetId} Source: https://sleitnick.github.io/rbxcloud/cli/cli-assets Retrieves information about a specific asset using its Asset ID. ```APIDOC ## Get Asset Information ### Description Get information on a given asset. ### Method GET ### Endpoint `/assets/{assetId}` ### Parameters #### Path Parameters - **assetId** (string) - Required - The ID of the asset to retrieve. #### Query Parameters - **readMask** (string) - Optional - Specifies which fields to return in the response. - **apiKey** (string) - Required - Roblox Open Cloud API Key. ### Request Example ```bash rbxcloud assets get --asset-id --api-key ``` ### Response #### Success Response (200) - **assetId** (string) - The unique identifier for the asset. - **displayName** (string) - The user-defined name of the asset. - **assetType** (string) - The type of the asset (e.g., audio-mp3, decal-png). - **creatorId** (string) - The ID of the creator. - **creatorType** (string) - The type of the creator (user or group). - **createdTimestamp** (string) - The timestamp when the asset was created. - **updatedTimestamp** (string) - The timestamp when the asset was last updated. - **assetPermissions** (object) - Permissions associated with the asset. #### Response Example ```json { "assetId": "1234567890", "displayName": "My Awesome Decal", "assetType": "decal-png", "creatorId": "987654321", "creatorType": "user", "createdTimestamp": "2023-10-27T10:00:00Z", "updatedTimestamp": "2023-10-27T11:00:00Z", "assetPermissions": { "read": "ALL", "write": "OWNER", "delete": "OWNER" } } ``` ``` -------------------------------- ### List Entries Source: https://sleitnick.github.io/rbxcloud/cli/cli-ordered-datastore Retrieves a list of entries from an OrderedDataStore. Supports filtering, pagination, and ordering. ```APIDOC ## GET /v1/universes/{universeId}/orderedDataStores/{datastoreName}/entry ### Description Retrieves a list of entries from an OrderedDataStore. Supports filtering, pagination, and ordering. ### Method GET ### Endpoint `/v1/universes/{universeId}/orderedDataStores/{datastoreName}/entry` ### Parameters #### Query Parameters - **universeId** (string) - Required - The Universe ID of the experience. - **datastoreName** (string) - Required - DataStore name. - **apiKey** (string) - Required - Roblox Open Cloud API Key. - **scope** (string) - Optional - DataStore scope. - **filter** (string) - Optional - A range of qualifying values of entries to return. - **orderBy** (string) - Optional - The enumeration direction (Use 'desc' for descending). - **maxPageSize** (integer) - Optional - Maximum number of items to return per page. - **pageToken** (string) - Optional - Cursor for the next set of data. ### Request Example (No request body for GET requests) ### Response #### Success Response (200) - **entries** (array) - A list of data store entries. - **nextPageToken** (string) - A cursor for the next page of data. #### Response Example ```json { "entries": [ { "key": "entry1", "value": 100 }, { "key": "entry2", "value": 200 } ], "nextPageToken": "someCursor" } ``` ``` -------------------------------- ### GET /operations/{operationId} Source: https://sleitnick.github.io/rbxcloud/cli/cli-assets Retrieves the status and details of an asset-related operation using its Operation ID. ```APIDOC ## Get Operation Status ### Description Get information on an asset operation. ### Method GET ### Endpoint `/operations/{operationId}` ### Parameters #### Path Parameters - **operationId** (string) - Required - The ID of the operation to retrieve. #### Query Parameters - **apiKey** (string) - Required - Roblox Open Cloud API Key. ### Request Example ```bash rbxcloud assets get-operation --operation-id "op_abcdef123456" --api-key ``` ### Response #### Success Response (200 OK) - **operationId** (string) - The ID of the operation. - **operationType** (string) - The type of operation (e.g., CREATE_ASSET, UPDATE_ASSET). - **status** (string) - The current status of the operation (e.g., PENDING, PROCESSING, SUCCEEDED, FAILED). - **createdTimestamp** (string) - The timestamp when the operation was created. - **updatedTimestamp** (string) - The timestamp when the operation was last updated. - **resourcePath** (string) - The path to the resource affected by the operation. - **error** (object) - Contains error details if the operation failed. #### Response Example ```json { "operationId": "op_abcdef123456", "operationType": "CREATE_ASSET", "status": "SUCCEEDED", "createdTimestamp": "2023-10-27T12:00:00Z", "updatedTimestamp": "2023-10-27T12:05:00Z", "resourcePath": "/assets/0987654321", "error": null } ``` ``` -------------------------------- ### List Roblox DataStores Source: https://sleitnick.github.io/rbxcloud/cli/cli-datastore Lists all DataStores within a specified Roblox experience. Requires a Universe ID and API Key. Optional parameters include a cursor for pagination, a limit for the number of items returned, and a prefix to filter DataStore names. ```bash rbxcloud datastore list-stores --universe-id --api-key rbxcloud datastore list-stores -u -a -l -p -c ``` -------------------------------- ### User Restriction API - Get Source: https://sleitnick.github.io/rbxcloud/cli/cli-user-restriction Retrieves information about a specific user's restriction status within a given universe. ```APIDOC ## GET /user-restriction ### Description Retrieves user restriction information for a specific user within a universe. ### Method GET ### Endpoint `/v1/universes/{universeId}/user-restrictions/{userId}` ### Parameters #### Path Parameters - **universeId** (integer) - Required - The ID of the universe. - **userId** (integer) - Required - The ID of the user. #### Query Parameters - **apiKey** (string) - Required - Your Roblox Open Cloud API Key. - **placeId** (integer) - Optional - The ID of the place within the universe. ### Request Example ```json { "apiKey": "YOUR_API_KEY" } ``` ### Response #### Success Response (200) - **isActive** (boolean) - Indicates if the restriction is currently active. - **expiresAt** (string) - The timestamp when the restriction will expire. - **reason** (string) - The reason for the restriction. #### Response Example ```json { "isActive": true, "expiresAt": "2024-12-31T23:59:59Z", "reason": "Violation of community guidelines." } ``` ```