---
title: "Read one RL environment and its runnable examples"
method: GET
path: "/v1/rl-environments/{environment}"
tags: ["RL"]
---

# Read one RL environment and its runnable examples

`GET /v1/rl-environments/{environment}`

## Request

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

The same entry GET /v1/rl-environments lists. 404 means no environment has that id.

## Path parameters

- `environment` string, required

## Response `200`

Success

- RLEnvironment
  - `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** `90817917723b`: 1 info
  - endpoint added
- **2026-09-28** `12e777b060de`: 1 breaking
  - api path removed without deprecation
- **2026-09-28** `763368ead063`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api/changes/v1/rl-environments/:environment/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)
