> ## Documentation Index
> Fetch the complete documentation index at: https://docs.elementary-data.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List environments

> Lists the environments the token can access. Each `id` is an `env_id` for the other endpoints. Call this first.



## OpenAPI

````yaml api-reference/beta/openapi.json get /public/beta/environments
openapi: 3.1.0
info:
  description: >
    The Elementary Public API is a REST interface for programmatically reading

    Elementary's assets, columns, and lineage for one environment.


    **Authentication.** Send a bearer token (personal or account token) in the

    `Authorization` header. The token resolves to an account; results are scoped
    to

    the environments that token may view.


    **Environment scope.** Every resource lives under `/{env_id}`. Call

    `GET /environments` first to discover the ids you can access.


    **Pagination.** List endpoints are keyset-paginated: pass `limit` (default
    500,

    max 2000) and follow `next_cursor` until `has_more` is `false`. Cursors are
    opaque

    and bound to the filters that produced them — reusing a cursor with
    different

    filters returns `400`.


    **Incremental sync.** Every dataset supports a full scan (default). Assets
    and

    columns also expose two incremental feeds: `synced_since` (upserts) and

    `deleted_since` (soft-delete tombstones).


    **Rate limiting.** Requests are rate-limited per account; responses carry

    `RateLimit-*` headers and `429` responses include `Retry-After`.


    _Beta: the shape may change while we co-design with early adopters._
  title: Elementary Public API
  version: beta
servers:
  - url: https://prod.api.elementary-data.com
security:
  - bearerAuth: []
tags:
  - description: Discover accessible environments.
    name: Environments
  - description: Lineage assets — tables, views, BI assets.
    name: Assets
  - description: Columns of assets.
    name: Columns
  - description: Asset-to-asset lineage edges.
    name: Asset lineage
  - description: Column-level lineage edges.
    name: Column lineage
paths:
  /public/beta/environments:
    get:
      tags:
        - Environments
      summary: List environments
      description: >-
        Lists the environments the token can access. Each `id` is an `env_id`
        for the other endpoints. Call this first.
      operationId: list_environments_public_beta_environments_get
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Environment'
                title: Response List Environments Public Beta Environments Get
                type: array
          description: Successful Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Invalid cursor or request parameters.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Authentication is required.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: The token does not have permission to access the resource.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: The requested resource was not found.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Request validation failed.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Rate limit exceeded.
          headers:
            RateLimit-Limit:
              description: Maximum requests allowed in the current window.
              schema:
                type: integer
            RateLimit-Remaining:
              description: Requests remaining in the current window.
              schema:
                type: integer
            RateLimit-Reset:
              description: Seconds until the current rate-limit window resets.
              schema:
                type: integer
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: An unexpected server error occurred.
components:
  schemas:
    Environment:
      properties:
        cron:
          anyOf:
            - type: string
            - type: 'null'
          description: Sync schedule as a cron expression, if configured.
          title: Cron
        id:
          description: Use as `env_id` in all environment-scoped endpoints.
          title: Id
          type: string
        last_sync_status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Extensible enum. Status of the environment's most recent sync. New
            values may be added over time.
          examples:
            - success
            - running
            - error
          title: Last Sync Status
        last_synced_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: When Elementary last synced the environment.
          title: Last Synced At
        name:
          description: Environment name.
          title: Name
          type: string
        warehouse_type:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Extensible enum. Warehouse the environment reads from. New values
            may be added over time.
          examples:
            - snowflake
            - bigquery
            - databricks
            - redshift
            - postgres
          title: Warehouse Type
      required:
        - id
        - name
      title: Environment
      type: object
    ApiErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ApiError'
          description: Structured details about the error.
      required:
        - error
      title: ApiErrorResponse
      type: object
    ApiError:
      properties:
        code:
          description: Stable code identifying the type of error.
          title: Code
          type: string
        message:
          description: Human-readable explanation of the error.
          title: Message
          type: string
      required:
        - code
        - message
      title: ApiError
      type: object
  securitySchemes:
    bearerAuth:
      description: Personal or account token.
      scheme: bearer
      type: http

````