# Search Model Versions

Launch stage: GA

`GET /api/2.0/mlflow/model-versions/search`

Searches for specific model versions based on the supplied __filter__.

API scopes: mlflow

## Query parameters

- `filter` (string, optional)
  String filter condition, like "name='my-model-name'". Must be a single boolean condition,
   with string values wrapped in single quotes.
- `max_results` (int64, optional)
  Maximum number of models desired. Max threshold is 10K.
  Default: `10000`
  Constraints: `<= 10000`
- `order_by` (array of string, optional)
  List of columns to be ordered by including model name, version, stage with an
   optional "DESC" or "ASC" annotation, where "ASC" is the default.
   Tiebreaks are done by latest stage transition timestamp, followed by name ASC, followed by
   version DESC.
- `page_token` (string, optional)
  Pagination token to go to next page based on previous search query.

## Returns

- `model_versions` (array of object, optional)
  Models that match the search criteria
  - `name` (string, optional)
    Unique name of the model
  - `version` (string, optional)
    Model's version number.
  - `creation_timestamp` (int64, optional)
    Timestamp recorded when this `model_version` was created.
  - `last_updated_timestamp` (int64, optional)
    Timestamp recorded when metadata for this `model_version` was last updated.
  - `user_id` (string, optional)
    User that created this `model_version`.
  - `current_stage` (string, optional)
    Current stage for this `model_version`.
  - `description` (string, optional)
    Description of this `model_version`.
  - `source` (string, optional)
    URI indicating the location of the source model artifacts, used when creating `model_version`
  - `run_id` (string, optional)
    MLflow run ID used when creating `model_version`, if `source` was generated by an
     experiment run stored in MLflow tracking server.
  - `status` (string, optional)
    Current status of `model_version`
    Possible values: `PENDING_REGISTRATION`, `FAILED_REGISTRATION`, `READY`
  - `status_message` (string, optional)
    Details on current `status`, if it is pending or failed.
  - `tags` (array of object, optional)
    Tags: Additional metadata key-value pairs for this `model_version`.
    - `key` (string, optional)
      The tag key.
    - `value` (string, optional)
      The tag value.
  - `run_link` (string, optional)
    Run Link: Direct link to the run that generated this version
- `next_page_token` (string, optional)
  Pagination token to request next page of models for the same search query.

## Response

```json
{
  "model_versions": [
    {
      "name": "string",
      "version": "string",
      "creation_timestamp": 0,
      "last_updated_timestamp": 0,
      "user_id": "string",
      "current_stage": "string",
      "description": "string",
      "source": "string",
      "run_id": "string",
      "status": "string",
      "status_message": "string",
      "tags": [
        {}
      ],
      "run_link": "string"
    }
  ],
  "next_page_token": "string"
}
```

