---
title: "Get list of mirror configurations"
method: GET
path: "/channels/{channel_name}/mirrors"
tags: ["channels"]
---

# Get list of mirror configurations

`GET /channels/{channel_name}/mirrors`

## Request

- Base URL: `https://api.anaconda.cloud/api`
- URL: `https://api.anaconda.cloud/api/channels/{channel_name}/mirrors`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Auth`
- TypeScript: <https://skmtc.dev/anaconda/apis/anaconda-server-api/docs/channels/:channel_name/mirrors/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `channel_name` string, required

## Query parameters

- `offset` integer
- `limit` integer
- `sort` string[]

## Response `200`

ok

- object
  - `total_count` number
  - `items` Mirror[]
    - `mirror_id` string
    - `mirror_name` string: Mirror name
    - `source_root` string, uri: The upstream location of the channel to mirror.
    - `mirror_type` 'conda' | 'python_simple' | 'cran' | 'cve' | 'sbom': Type of upstream source to mirror
    - `mirror_mode` 'active' | 'passive' | 'redirect'
    - `cron` string
    - `proxy` string, uri, nullable: Proxy server URL configuration to use to attain access to upstream source.
    - `filters` object: Filter directives that are specific to each individual artifact type.
    - `state` 'pending' | 'running' | 'completed' | 'failed' | 'deleted' | 'stopping' | 'stopped'
    - `cause` string: Mirror failure cause
    - `sync_state` MirrorSyncState: State of current mirror synchronization
      - `count` object
        - `removed` integer: Number of packages, removed from the channel
        - `passive` integer: Number of passively mirrored packages
        - `active` integer: Number of pulled packages
        - `active_planned` integer: Number of total planned packages for pulling
        - `failed` integer: Number of failed packages to pull
        - `package_stat` object
          - `primary` integer: Number of primary packages listed in only specs mirrored
          - `dependencies` integer: Number of dependencies packages mirrored
        - `mirror_filtered` object
          - `cve` integer: Number of packages removed because of CVE filter
          - `date` integer: Number of packages removed because of date filter
          - `signed` integer: Number of packages removed because of missing signatures
          - `license` integer: Number of packages removed because of license filter
          - `only_specs` integer: Number of packages removed because of "only packages" filter
          - `exclude_specs` integer: Number of packages removed because of exclude/include filter
          - `duplicated_legacy_conda` integer: \ Number of packages removed because of legacy package format and having corresponding .conda package
        - `channel_filtered` object
          - `license` integer
          - `exclude_specs` integer
      - `last_ckey` string
      - `last_exception` string
      - `total_steps_count` integer
      - `current_step_number` integer
      - `current_step_description` string
      - `current_step_percentage` integer
      - `bytes_transfered` integer: Total number of bytes transfered during active mirroring
    - `last_run_at` string
    - `next_run_at` string
    - `created_at` string
    - `updated_at` string

## Other responses

- `401`: Unauthenticated, no token is provided or token is invalid
- `403`: Access is forbidden
- `404`: The specified resource was not found
- `500`: Internal server error

---

[API](https://skmtc.dev/anaconda/apis/anaconda-server-api.md) - [All operations](https://skmtc.dev/anaconda/apis/anaconda-server-api/llms.txt) - [OpenAPI document](https://skmtc.dev/anaconda/apis/anaconda-server-api/revisions/6aef0cb7a151?raw)
