Search runs
Search for runs that satisfy expressions. Search expressions can use :ref:mlflowMetric and
:ref:mlflowParam keys.
curl --request POST \
--url https://mycluster.domino.tech/api/2.0/mlflow/runs/search \
--header 'Content-Type: application/json' \
--data '
{
"experiment_ids": [
"<string>"
],
"filter": "<string>",
"max_results": 1000,
"order_by": [
"<string>"
],
"page_token": "<string>",
"run_view_type": "ACTIVE_ONLY"
}
'import requests
url = "https://mycluster.domino.tech/api/2.0/mlflow/runs/search"
payload = {
"experiment_ids": ["<string>"],
"filter": "<string>",
"max_results": 1000,
"order_by": ["<string>"],
"page_token": "<string>",
"run_view_type": "ACTIVE_ONLY"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
experiment_ids: ['<string>'],
filter: '<string>',
max_results: 1000,
order_by: ['<string>'],
page_token: '<string>',
run_view_type: 'ACTIVE_ONLY'
})
};
fetch('https://mycluster.domino.tech/api/2.0/mlflow/runs/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mycluster.domino.tech/api/2.0/mlflow/runs/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'experiment_ids' => [
'<string>'
],
'filter' => '<string>',
'max_results' => 1000,
'order_by' => [
'<string>'
],
'page_token' => '<string>',
'run_view_type' => 'ACTIVE_ONLY'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mycluster.domino.tech/api/2.0/mlflow/runs/search"
payload := strings.NewReader("{\n \"experiment_ids\": [\n \"<string>\"\n ],\n \"filter\": \"<string>\",\n \"max_results\": 1000,\n \"order_by\": [\n \"<string>\"\n ],\n \"page_token\": \"<string>\",\n \"run_view_type\": \"ACTIVE_ONLY\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mycluster.domino.tech/api/2.0/mlflow/runs/search")
.header("Content-Type", "application/json")
.body("{\n \"experiment_ids\": [\n \"<string>\"\n ],\n \"filter\": \"<string>\",\n \"max_results\": 1000,\n \"order_by\": [\n \"<string>\"\n ],\n \"page_token\": \"<string>\",\n \"run_view_type\": \"ACTIVE_ONLY\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/api/2.0/mlflow/runs/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"experiment_ids\": [\n \"<string>\"\n ],\n \"filter\": \"<string>\",\n \"max_results\": 1000,\n \"order_by\": [\n \"<string>\"\n ],\n \"page_token\": \"<string>\",\n \"run_view_type\": \"ACTIVE_ONLY\"\n}"
response = http.request(request)
puts response.read_body{
"next_page_token": "<string>",
"runs": [
{
"data": {
"tags": [
{
"key": "<string>",
"value": "<string>"
}
],
"metrics": [
{
"key": "<string>",
"step": "0",
"timestamp": 123,
"value": 123
}
],
"params": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"info": {
"artifact_uri": "<string>",
"experiment_id": "<string>",
"lifecycle_stage": "<string>",
"run_id": "<string>",
"run_name": "<string>",
"start_time": 123,
"status": "RUNNING",
"user_id": "<string>",
"end_time": 123
},
"inputs": {
"dataset_inputs": [
{
"tags": [
{
"key": "<string>",
"value": "<string>"
}
],
"dataset": {
"name": "<string>",
"digest": "<string>",
"source_type": "<string>",
"source": "<string>",
"schema": "<string>",
"profile": "<string>"
}
}
]
}
}
]
}{
"error_code": "INTERNAL_ERROR",
"message": "<string>"
}Body
List of experiment IDs to search over.
A filter expression over params, metrics, and tags, that allows returning a subset of runs. The syntax is a subset of SQL that supports ANDing together binary operations between a param, metric, or tag and a constant.
Example: metrics.rmse < 1 and params.model_class = 'LogisticRegression'
You can select columns with special characters (hyphen, space, period, etc.) by using double quotes:
metrics."model class" = 'LinearRegression' and tags."user-name" = 'Tomas'
Supported operators are =, !=, >, >=, <, and <=.
Maximum number of runs desired. Max threshold is 50000
List of columns to be ordered by, including attributes, params, metrics, and tags with an optional "DESC" or "ASC" annotation, where "ASC" is the default. Example: ["params.input DESC", "metrics.alpha ASC", "metrics.rmse"] Tiebreaks are done by start_time DESC followed by run_id for runs with the same start time (and this is the default ordering criterion if order_by is not provided).
Whether to display only active, only deleted, or all runs. Defaults to only active runs.
ACTIVE_ONLY, DELETED_ONLY, ALL Was this page helpful?
curl --request POST \
--url https://mycluster.domino.tech/api/2.0/mlflow/runs/search \
--header 'Content-Type: application/json' \
--data '
{
"experiment_ids": [
"<string>"
],
"filter": "<string>",
"max_results": 1000,
"order_by": [
"<string>"
],
"page_token": "<string>",
"run_view_type": "ACTIVE_ONLY"
}
'import requests
url = "https://mycluster.domino.tech/api/2.0/mlflow/runs/search"
payload = {
"experiment_ids": ["<string>"],
"filter": "<string>",
"max_results": 1000,
"order_by": ["<string>"],
"page_token": "<string>",
"run_view_type": "ACTIVE_ONLY"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
experiment_ids: ['<string>'],
filter: '<string>',
max_results: 1000,
order_by: ['<string>'],
page_token: '<string>',
run_view_type: 'ACTIVE_ONLY'
})
};
fetch('https://mycluster.domino.tech/api/2.0/mlflow/runs/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mycluster.domino.tech/api/2.0/mlflow/runs/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'experiment_ids' => [
'<string>'
],
'filter' => '<string>',
'max_results' => 1000,
'order_by' => [
'<string>'
],
'page_token' => '<string>',
'run_view_type' => 'ACTIVE_ONLY'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mycluster.domino.tech/api/2.0/mlflow/runs/search"
payload := strings.NewReader("{\n \"experiment_ids\": [\n \"<string>\"\n ],\n \"filter\": \"<string>\",\n \"max_results\": 1000,\n \"order_by\": [\n \"<string>\"\n ],\n \"page_token\": \"<string>\",\n \"run_view_type\": \"ACTIVE_ONLY\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mycluster.domino.tech/api/2.0/mlflow/runs/search")
.header("Content-Type", "application/json")
.body("{\n \"experiment_ids\": [\n \"<string>\"\n ],\n \"filter\": \"<string>\",\n \"max_results\": 1000,\n \"order_by\": [\n \"<string>\"\n ],\n \"page_token\": \"<string>\",\n \"run_view_type\": \"ACTIVE_ONLY\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/api/2.0/mlflow/runs/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"experiment_ids\": [\n \"<string>\"\n ],\n \"filter\": \"<string>\",\n \"max_results\": 1000,\n \"order_by\": [\n \"<string>\"\n ],\n \"page_token\": \"<string>\",\n \"run_view_type\": \"ACTIVE_ONLY\"\n}"
response = http.request(request)
puts response.read_body{
"next_page_token": "<string>",
"runs": [
{
"data": {
"tags": [
{
"key": "<string>",
"value": "<string>"
}
],
"metrics": [
{
"key": "<string>",
"step": "0",
"timestamp": 123,
"value": 123
}
],
"params": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"info": {
"artifact_uri": "<string>",
"experiment_id": "<string>",
"lifecycle_stage": "<string>",
"run_id": "<string>",
"run_name": "<string>",
"start_time": 123,
"status": "RUNNING",
"user_id": "<string>",
"end_time": 123
},
"inputs": {
"dataset_inputs": [
{
"tags": [
{
"key": "<string>",
"value": "<string>"
}
],
"dataset": {
"name": "<string>",
"digest": "<string>",
"source_type": "<string>",
"source": "<string>",
"schema": "<string>",
"profile": "<string>"
}
}
]
}
}
]
}{
"error_code": "INTERNAL_ERROR",
"message": "<string>"
}