---
title: "List models"
method: GET
path: "/models"
tags: ["models"]
---

# List models

`GET /models`

Lists custom models for the authenticated user. Use the `scope` parameter to control which models are returned. If omitted, returns both owned models and models shared with the user's organization via the model registry. `owned` returns only models created by the user. `shared` returns only models shared via the model registry, excluding the user's own models.

## Query parameters

- `scope` 'owned' | 'shared'
- `status` ModelStatus[]

## Response `200`

Models retrieved successfully

- ListModelsResponse
  - `models` CustomModel[], required — List of models.
    - `model_id` string, required — Unique identifier for the model (base64 URL-safe encoded UUID).
    - `custom_model_uri` string, nullable — A custom model URI in the format model/<model_name>/version/<version_name>. Use this URI when generating images with this model. Only present for models that have been registered in the model registry.
    - `name` string, required — Display name of the model.
    - `status` 'CREATING' | 'DRAFT' | 'TRAINING' | 'COMPLETED' | 'ERRORED' | 'ARCHIVED', required — The status of a custom model.
    - `dataset_id` string, nullable — ID of the dataset (collection) the model was trained from.
    - `creation_time` string, date-time, required — When the model was created.
    - `last_update_time` string, date-time, nullable — When the model was last updated.
    - `is_available_for_generation` boolean, required — Whether the model is available for image generation.
    - `is_owned` boolean, required — Whether the authenticated user owns this model.
    - `training_runs` TrainingRun[] — Training run history. Only populated on the get-by-ID endpoint and only for owned models.
      - `training_run_id` string, required — Unique identifier for the training run.
      - `status` 'PREPARING_DATA' | 'QUEUED' | 'TRAINING' | 'FINALIZING' | 'COMPLETED' | 'FAILED', required — The status of a training run.
      - `training_steps` integer, nullable — Number of training steps configured.
      - `lora_rank` integer, nullable — LoRA rank used for training.
      - `num_chips` integer, nullable — Number of TPU chips used.
      - `ema` number, nullable — Exponential moving average decay rate.
      - `learning_rate` number, nullable — Learning rate for the optimizer.
      - `creation_time` string, date-time, required — When the training run was created.
      - `last_update_time` string, date-time, nullable — When the training run was last updated.

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.net/ideogram/apis/ideogram-openapi-3-0.md) · [All operations](https://skmtc.net/ideogram/apis/ideogram-openapi-3-0/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ideogram/ideogram-openapi-3-0/revisions/b560c0ad0618/schema)
