---
title: "GET /experimental/environments"
method: GET
path: "/experimental/environments"
tags: ["Environments"]
---

# GET /experimental/environments

`GET /experimental/environments`

Lists environments in the workspaces the caller can view, newest-first. Never returns the sealed values — only names, metadata, and declared key names.

## Query parameters

- `sort` union
  - union[]
    - union
      - 'createdAt'
      - '-createdAt'
      - 'updatedAt'
      - '-updatedAt'
      - 'id'
      - '-id'
  - 'createdAt'
  - '-createdAt'
  - 'updatedAt'
  - '-updatedAt'
  - 'id'
  - '-id'
- `page[size]` number
- `page[after]` string
- `page[before]` string
- `page[number]` integer
- `filter[workspaceId]` string, uuid
- `filter[workspaceId][eq]` string, uuid
- `filter[name][eq]` string
- `filter[q]` string

## Headers

- `Authorization` string

## Response `200`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
    - `next` string, uri, nullable, required
    - `prev` string, uri, nullable, required
  - `meta` object, required
    - `count` number, required
  - `data` object[], required
    - `id` string, uuid, required
    - `type` 'environment', required
    - `attributes` object, required
      - `name` string, required
      - `workspaceId` string, uuid, required
      - `metadata` object, nullable, required
        - `description` string
        - `envVariableNames` string[]
        - `emptyKeyNames` string[]
        - `mcpServerNames` string[]
        - `githubAccess` union
          - 'none'
          - 'read'
          - 'write'
      - `keyNames` string[], required
      - `emptyKeyNames` string[], required
      - `mcpServerNames` string[], required
      - `githubAccess` union, required
        - 'none'
        - 'read'
        - 'write'
      - `createdBy` object, nullable, required
        - `id` string, uuid, required
        - `firstName` string, nullable, required
        - `lastName` string, nullable, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

## Changes

- **2026-09-27** `ee9b4e55fec4` — 1 info
  - added the new optional `query` request parameter `filter[name][eq]`
- **2026-09-24** `6941f1403761` — 2 info
  - added the new optional `query` request parameter `filter[q]`
  - added the new optional `query` request parameter `page[number]`
- **2026-09-15** `d50a02b79ad3` — 2 info
  - added the optional property `error/code` to the response with the `403` status
  - added the optional property `error/url` to the response with the `403` status
- **2026-09-12** `ff4456b002cc` — 2 info
  - added the optional property `data/items/attributes/metadata/anyOf[subschema #1]/githubAccess` to the response with the `200` status
  - added the required property `data/items/attributes/githubAccess` to the response with the `200` status
- **2026-08-17** `78470386fcc2` — 2 info
  - added the optional property `data/items/attributes/metadata/anyOf[subschema #1]/mcpServerNames` to the response with the `200` status
  - added the required property `data/items/attributes/mcpServerNames` to the response with the `200` status

[Change history](https://skmtc.dev/tessl/apis/tessl-api/changes/experimental/environments/get.md)

---

[API](https://skmtc.dev/tessl/apis/tessl-api.md) · [All operations](https://skmtc.dev/tessl/apis/tessl-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tessl/apis/tessl-api/revisions/ee9b4e55fec4?raw)
