---
title: "Lists environments in the resolved project, cursor-paginated."
method: GET
path: "/api/v1/orgs/{org}/projects/{project}/environments"
tags: ["Environments"]
---

# Lists environments in the resolved project, cursor-paginated.

`GET /api/v1/orgs/{org}/projects/{project}/environments`

## Request

- Base URL: `https://api.featureflip.io`
- URL: `https://api.featureflip.io/api/v1/orgs/{org}/projects/{project}/environments`
- Auth: API key in header `Authorization`

## Path parameters

- `org` string, required
- `project` string, required

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

OK

- PublicEnvironmentResponsePagedResult: A page of results plus an opaque cursor for the next page, or null when this is the last page. Wire keys are frozen: `items` (already lowercase under the camelCase policy) and `next_cursor` (pinned explicitly — the policy alone would emit `nextCursor`).
  - `items` PublicEnvironmentResponse[], nullable, required
    - `id` string, uuid, required
    - `key` string, nullable, required
    - `name` string, nullable, required
    - `color` string, nullable
    - `sortOrder` integer, required
    - `_actions` object: Capability hints: which operations the authenticated caller may perform on this resource, each with allowed + optional reason. Computed from the caller's role and the resource's state. Injected at runtime; safe to ignore. Present only on top-level resource responses — nested occurrences (e.g. a rule inside a targeting-config response) do not carry it.
  - `next_cursor` string, nullable
  - `_actions` object: Capability hints: which operations the authenticated caller may perform on this resource, each with allowed + optional reason. Computed from the caller's role and the resource's state. Injected at runtime; safe to ignore. Present only on top-level resource responses — nested occurrences (e.g. a rule inside a targeting-config response) do not carry it.

## Other responses

- `401`: Authentication is required, or the supplied API token is invalid or expired.
- `404`: Not Found
- `429`: Rate limit exceeded. Retry after the interval indicated by the Retry-After header.

---

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