def list(
project,
limit: nil,
offset: nil,
search: nil,
order: nil,
product: nil,
timeout: nil
)def list: (
String project,
?limit: Integer?,
?offset: Integer?,
?search: (String | Symbol)?,
?order: ("name" | "asc" | "desc")?,
?product: (String | Symbol)?,
?timeout: seconds?
) -> Page[environment_summary_resource]Returns one page of the environments in a project, sorted by name A to Z, as items plus a pagination envelope. The project argument resolves as a uniqueId first and then as a slug. Project slugs are only unique inside a product, so set product: whenever the same project slug exists in two products, otherwise the call fails with project.ambiguous_product before it ever looks at environments.
search matches environment name and slug, and order defaults to name, which sorts A to Z, with asc and desc sorting oldest and newest first on createdAt. Each row carries id, name, slug, projectId, exposed, createdAt and updatedAt, the same fields get returns.
Example
require "envless/sdk"
page = Envless.environments.list(
"api",
product: "billing",
limit: 50
)
puts page.pagination[:totalCount]
puts page.items.map { |environment| environment[:slug] }Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project | String | Yes | Project slug or uniqueId that owns the environments. |
product: | String | Symbol | No | Product slug that disambiguates an ambiguous project slug. |
limit: | Integer | No | Rows per page, a whole number between 1 and 100. |
offset: | Integer | No | Rows to skip before the page starts. |
search: | String | Symbol | No | Case insensitive substring match on the environment name or slug. |
order: | "name" | "asc" | "desc" | No | asc or desc sorts by creation time, oldest or newest first. Anything else, or nothing, sorts by name. |
timeout: | Integer | Float | Rational | No | Seconds each attempt of this call may take, redirects and the response body included, before it raises Envless::NetworkError with timeout? set. Overrides the client's timeout for this call, and 0 turns the limit off. |
Returns
Page[environment_summary_resource] holding the rows in items and the counts in pagination.
Reads the environments collection. list returns one page as an Envless::Page with items and pagination, list_all collects every page into an array, and iterate yields one item at a time to a block, fetching the next page only when it gets there. Without a block, iterate returns an Enumerator.
Worth knowing
- A
limitoutside 1 to 100 is rejected withrequest.invalid_paginationrather than clamped. - A 404 here means no project matched in scope for this key, not that the project has no environments.
Required scopes
environments:read
Underlying endpoint
GET /projects/{slug}/environments
Request and response schema, every error code, and a live playground.
In TypeScript
envless.environments.list()
The same method in @goenvless/sdk, with the same request, retries and errors.