---
title: "List cyclers for a site"
method: GET
path: "/sites/{site_id}/cyclers"
tags: ["Sites", "Cyclers"]
---

# List cyclers for a site

`GET /sites/{site_id}/cyclers`

List cyclers for a site with pagination and filtering.

Filters follow each field's policy in ``_CYCLER_FILTERS``: text fields take
``ilike.%value%``, ``project_id`` is exact-only, date fields take
``gte.value``/``lte.value``, ``created_at_gt``/``_lt`` bound a range, and
``calibration_due_at_lt`` finds cyclers due before a date. ``q`` is the
search box's free-text param and composes with all of them.

## Path parameters

- `site_id` string, required

## Query parameters

- `limit` integer
- `offset` integer
- `q` string, nullable — Free-text search on cycler name plus prefix full-text match, matching the global search. Composes with the column filters.
- `id_text` string, nullable
- `project_id` string, nullable
- `name` string, nullable
- `manufacturer` string, nullable
- `model` string, nullable
- `version` string, nullable
- `serial_number` string, nullable
- `firmware_version` string, nullable
- `hostname` string, nullable
- `created_by_email` string, nullable
- `created_at` string, nullable
- `created_at_gt` string, nullable
- `created_at_lt` string, nullable
- `updated_at` string, nullable
- `updated_at_gt` string, nullable
- `updated_at_lt` string, nullable
- `calibration_due_at` string, nullable
- `calibration_due_at_gt` string, nullable
- `calibration_due_at_lt` string, nullable
- `order_by` 'name' | 'manufacturer' | 'model' | 'version' | 'serial_number' | 'firmware_version' | 'hostname' | 'last_calibrated_at' | 'calibration_due_at' | 'created_at' | 'updated_at'
- `order` 'asc' | 'desc'

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/ionworks/apis/fastapi.md) · [All operations](https://skmtc.dev/ionworks/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ionworks/fastapi/revisions/7337a3cbdaf2/schema)
