---
title: "Discover RL environments and the examples you can run"
method: GET
path: "/v1/rl-environments"
tags: ["RL"]
---

# Discover RL environments and the examples you can run

`GET /v1/rl-environments`

## Request

- Base URL: `/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/v1/rl-environments`
- Auth: HTTP bearer

## Response `200`

Success

- object
  - `schema_version` integer, required
  - `reviewed_at` string
  - `environments` RLEnvironment[], required
    - `id` string, required
    - `name` string, required
    - `publisher` string, required
    - `summary` string, required
    - `category` string, required
    - `source_url` string, required
    - `code_license` string
    - `data_license` string
    - `reward_type` string
    - `reward_description` string
    - `modes` string[], required
    - `launch` RLEnvironmentLaunch: How to run this environment's examples. Absent when nothing is runnable yet.
      - `image` string, required
      - `model` string, required
      - `peak_memory_gb` number: GPU memory the examples were measured with. A run started from an example requests at least this much.
      - `default_tasks` integer, required
      - `measured_on` string
      - `note` string
      - `results` string[]: Files each example writes and publishes for download.
      - `examples` RLEnvironmentExample[], required
        - `id` string, required: Stable identifier. Start this example with POST /v1/rl-environments/{environment}/examples/{id}/runs.
        - `dataset` string, required
        - `name` string, required
        - `mode` 'train' | 'evaluate'
        - `summary` string
        - `command` string, required: Shell command. Run it through a shell, as the console does: it chains steps with &&.
        - `baseline_pass_rate` number: Held-out pass rate before training, as a fraction.
        - `trained_pass_rate` number
        - `measured_change_pp` number: Measured change in percentage points after training.
        - `runtime_minutes` integer

## Other responses

- `default`: Error. The JSON error and message fields are stable. Additional fields may provide details. Authentication, rate limits, and transient failures apply to all operations.

## Changes

- **2026-10-01** `ba84c74aeec8`: 1 info
  - endpoint added
- **2026-10-01** `544fef290a54`: 1 breaking
  - api path removed without deprecation
- **2026-09-28** `7ff9649958d7`: 1 info
  - endpoint added
- **2026-09-28** `12e777b060de`: 1 breaking
  - api path removed without deprecation
- **2026-09-27** `adfc946d141d`: 2 info
  - added the optional property `environments/items/launch/peak_memory_gb` to the response with the `200` status
  - added the required property `environments/items/launch/examples/items/id` to the response with the `200` status

[Operation history](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api/changes/v1/rl-environments/get.md)

---

[API](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api.md) - [All operations](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api/revisions/a59210899d95?raw)
