---
title: "List Optimizers"
method: GET
path: "/v1/optimizers"
tags: ["Optimizers"]
---

# List Optimizers

`GET /v1/optimizers`

## Request

- Base URL: `https://api.ensemble.markets` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ensemble.markets/v1/optimizers`
- Auth: HTTP bearer

Your optimizer classes, by name.

## Query parameters

- `limit` integer: Rows per page
- `offset` integer: Rows to skip

## Response `200`

Successful Response

- OptimizerPage
  - `data` Optimizer[], required
    - `id` string, required: Optimizer ID (optimizer_... or legacy o-...)
    - `name` string, required: Python class name
    - `description` string, required
    - `source` 'prompt' | 'script', required
    - `prompt` string, nullable
    - `script` string, required
    - `hash` string, required
    - `used_by` OptimizerModelRef[]
      - `id` string, required
      - `name` string, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `total` integer, required: Rows matching the filters, across every page

## Other responses

- `4XX`: The request was refused; `error.type` says why
- `5XX`: The server failed; quote `X-Request-Id` when reporting it

---

[API](https://skmtc.dev/ensemble/apis/ensemble-api.md) · [All operations](https://skmtc.dev/ensemble/apis/ensemble-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ensemble/apis/ensemble-api/revisions/4c0fbd80c197?raw)
