> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.labric.co/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.labric.co/_mcp/server.

# List models

GET https://platform.labric.co/api/v1/ml-models

Returns information about models in the organization.
If model_id is given, return information about that model.
If model_id is None, return a list of all models.

Returns every non-archived model. To fetch one model by id, use the
get-ml-model tool instead.


Note that the currently active model may not be the most recently trained one.
Also note that the status might not be perfectly up-to-date.

Requires an API key with the `read` scope.

Reference: https://docs.labric.co/api-reference/labric-api/models/list

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Response

### 200

OK

- `list of object`
  - `id` (string, required)
  - `name` (string, required)
  - `task_type` (string, required)
  - `description` (string, optional, nullable)
  - `target_column` (string, optional, nullable)
  - `feature_columns` (list of string, optional, nullable)
  - `image_columns` (list of string, optional, nullable)
  - `problem_type` (string, optional, nullable)
  - `currently_active` (boolean, optional, default: false)
  - `status` (string, optional, nullable)
  - `version_number` (integer, optional, nullable)
  - `dataset_id` (string, optional, nullable)
  - `quality_preset` (string, optional, nullable)
  - `error_message` (string, optional, nullable)
  - `training_started_at` (datetime, optional, nullable)
  - `training_completed_at` (datetime, optional, nullable)
  - `evaluation_metrics` (map from string to any, optional, nullable)

## Errors

### 400 Bad Request Error

Bad Request

- `detail` (string, required)

### 401 Unauthorized Error

Unauthorized

- `detail` (string, required)

### 403 Forbidden Error

Forbidden

- `detail` (string, required)

### 404 Not Found Error

Not Found

- `detail` (string, required)

### 422 Unprocessable Entity Error

Unprocessable Content

- `detail` (list of map from string to any, required)

### 500 Internal Server Error

Internal Server Error

- `detail` (string, required)

## Examples

**Response**

```json
[
  {
    "id": "6b1e4c2a-9d3f-4a7b-8c5e-1f2a3b4c5d6e",
    "name": "Coating adhesion classifier",
    "task_type": "tabular",
    "description": "Predicts whether a cured coating passes the pull-off adhesion test from its cure schedule and substrate preparation.",
    "target_column": "adhesion_pass",
    "feature_columns": [
      "cure_temperature_c",
      "cure_time_min",
      "substrate_roughness_um",
      "primer_thickness_um"
    ],
    "image_columns": null,
    "problem_type": "binary",
    "currently_active": true,
    "status": "ready",
    "version_number": 3,
    "dataset_id": "2c7d9e1f-3a4b-4c5d-8e6f-7a8b9c0d1e2f",
    "quality_preset": "good_quality",
    "error_message": null,
    "training_started_at": "2026-08-14T09:12:04Z",
    "training_completed_at": "2026-08-14T09:41:37Z",
    "evaluation_metrics": {
      "accuracy": 0.94,
      "f1": 0.93,
      "precision": 0.92,
      "recall": 0.95,
      "roc_auc": 0.97
    }
  },
  {
    "id": "9f8e7d6c-5b4a-4c3d-9e2f-1a0b9c8d7e6f",
    "name": "Tensile strength regressor",
    "task_type": "tabular",
    "description": "Estimates tensile strength of extruded polymer samples from formulation and process parameters.",
    "target_column": "tensile_strength_mpa",
    "feature_columns": [
      "polymer_fraction",
      "anneal_temperature_c",
      "extrusion_speed_mm_s"
    ],
    "image_columns": null,
    "problem_type": "regression",
    "currently_active": false,
    "status": "training",
    "version_number": 1,
    "dataset_id": "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8",
    "quality_preset": "high_quality",
    "error_message": null,
    "training_started_at": "2026-08-21T15:03:11Z",
    "training_completed_at": null,
    "evaluation_metrics": null
  },
  {
    "id": "3a2b1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9",
    "name": "Grain boundary segmentation",
    "task_type": "segmentation",
    "description": "Segments grain boundaries in optical micrographs of etched alloy cross-sections.",
    "target_column": "grain_boundary",
    "feature_columns": null,
    "image_columns": [
      "micrograph"
    ],
    "problem_type": "semantic_segmentation",
    "currently_active": true,
    "status": "ready",
    "version_number": 2,
    "dataset_id": "7b8c9d0e-1f2a-4b3c-8d4e-5f6a7b8c9d0e",
    "quality_preset": "best_quality",
    "error_message": null,
    "training_started_at": "2026-08-02T11:20:45Z",
    "training_completed_at": "2026-08-02T13:58:02Z",
    "evaluation_metrics": {
      "dice": 0.89,
      "iou": 0.81
    }
  }
]
```

**SDK Code**

```python
from labric import Labric

client = Labric(
    api_key="YOUR_TOKEN_HERE",
)

client.models.list()

```