REST API
The MLflow REST API allows you to create, list, and get experiments and runs, and log
parameters, metrics, and artifacts. The API is hosted under the /api route on the MLflow
tracking server. For example, to search for experiments on a tracking server hosted at
http://localhost:5000, make a POST request to http://localhost:5000/api/2.0/mlflow/experiments/search.
Important
The MLflow REST API requires content type application/json for all POST requests.
Table of Contents
Create Experiment
Endpoint |
HTTP Method |
|---|---|
|
|
Create an experiment with a name. Returns the ID of the newly created experiment. Validates that another experiment with the same name does not already exist and fails if another experiment with the same name already exists.
Throws RESOURCE_ALREADY_EXISTS if a experiment with the given name exists.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
name |
|
Experiment name. This field is required. |
artifact_location |
|
Location where all artifacts for the experiment are stored. If not provided, the remote server will select an appropriate default. |
tags |
An array of ExperimentTag |
A collection of tags to set on the experiment. Maximum tag size and number of tags per request depends on the storage backend. All storage backends are guaranteed to support tag keys up to 250 bytes in size and tag values up to 5000 bytes in size. All storage backends are also guaranteed to support up to 20 tags per request. |
Search Experiments
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
max_results |
|
Maximum number of experiments desired. Servers may select a desired default max_results value. All servers are guaranteed to support a max_results threshold of at least 1,000 but may support more. Callers of this endpoint are encouraged to pass max_results explicitly and leverage page_token to iterate through experiments. |
page_token |
|
Token indicating the page of experiments to fetch |
filter |
|
A filter expression over experiment attributes and tags that allows returning a subset of experiments. The syntax is a subset of SQL that supports ANDing
together binary operations between an attribute or tag, and a constant. Example: |
order_by |
An array of |
List of columns for ordering search results, which can include experiment name and id with an optional “DESC” or “ASC” annotation, where “ASC” is the default. Tiebreaks are done by experiment id DESC. |
view_type |
Qualifier for type of experiments to be returned. If unspecified, return only active experiments. |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
experiments |
An array of Experiment |
Experiments that match the search criteria |
next_page_token |
|
Token that can be used to retrieve the next page of experiments. An empty token means that no more experiments are available for retrieval. |
Get Experiment
Endpoint |
HTTP Method |
|---|---|
|
|
Get metadata for an experiment. This method works on deleted experiments.
Get Experiment By Name
Endpoint |
HTTP Method |
|---|---|
|
|
Get metadata for an experiment.
This endpoint will return deleted experiments, but prefers the active experiment if an active and deleted experiment share the same name. If multiple deleted experiments share the same name, the API will return one of them.
Throws RESOURCE_DOES_NOT_EXIST if no experiment with the specified name exists.
Delete Experiment
Endpoint |
HTTP Method |
|---|---|
|
|
Mark an experiment and associated metadata, runs, metrics, params, and tags for deletion. If the experiment uses FileStore, artifacts associated with experiment are also deleted.
Restore Experiment
Endpoint |
HTTP Method |
|---|---|
|
|
Restore an experiment marked for deletion. This also restores associated metadata, runs, metrics, params, and tags. If experiment uses FileStore, underlying artifacts associated with experiment are also restored.
Throws RESOURCE_DOES_NOT_EXIST if experiment was never created or was permanently deleted.
Update Experiment
Endpoint |
HTTP Method |
|---|---|
|
|
Update experiment metadata.
Set Experiment Tag
Endpoint |
HTTP Method |
|---|---|
|
|
Set a tag on an experiment. Experiment tags are metadata that can be updated.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
ID of the experiment under which to log the tag. Must be provided. This field is required. |
key |
|
Name of the tag. Maximum size depends on storage backend. All storage backends are guaranteed to support key values up to 250 bytes in size. This field is required. |
value |
|
String value of the tag being logged. Maximum size depends on storage backend. All storage backends are guaranteed to support key values up to 5000 bytes in size. This field is required. |
Delete Experiment Tag
Endpoint |
HTTP Method |
|---|---|
|
|
Delete a tag on an experiment.
Create Run
Endpoint |
HTTP Method |
|---|---|
|
|
Create a new run within an experiment. A run is usually a single execution of a machine learning or data ETL pipeline. MLflow uses runs to track Param, Metric, and RunTag associated with a single execution.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
ID of the associated experiment. |
user_id |
|
ID of the user executing the run. This field is deprecated as of MLflow 1.0, and will be removed in a future MLflow release. Use ‘mlflow.user’ tag instead. |
run_name |
|
Name of the run. |
start_time |
|
Unix timestamp in milliseconds of when the run started. |
tags |
An array of RunTag |
Additional metadata for run. |
Update Run
Endpoint |
HTTP Method |
|---|---|
|
|
Update run metadata.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
run_id |
|
ID of the run to update. Must be provided. |
run_uuid |
|
[Deprecated, use run_id instead] ID of the run to update.. This field will be removed in a future MLflow version. |
status |
Updated status of the run. |
|
end_time |
|
Unix timestamp in milliseconds of when the run ended. |
run_name |
|
Updated name of the run. |
Get Run
Endpoint |
HTTP Method |
|---|---|
|
|
Get metadata, metrics, params, and tags for a run. In the case where multiple metrics with the same key are logged for a run, return only the value with the latest timestamp. If there are multiple values with the latest timestamp, return the maximum of these values.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
run_id |
|
ID of the run to fetch. Must be provided. |
run_uuid |
|
[Deprecated, use run_id instead] ID of the run to fetch. This field will be removed in a future MLflow version. |
Search Runs
Endpoint |
HTTP Method |
|---|---|
|
|
Search for runs that satisfy expressions. Search expressions can use Metric and Param keys.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
experiment_ids |
An array of |
List of experiment IDs to search over. |
filter |
|
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: |
run_view_type |
Whether to display only active, only deleted, or all runs. Defaults to only active runs. |
|
max_results |
|
Maximum number of runs desired. If unspecified, defaults to 1000. All servers are guaranteed to support a max_results threshold of at least 50,000 but may support more. Callers of this endpoint are encouraged to pass max_results explicitly and leverage page_token to iterate through experiments. |
order_by |
An array of |
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). |
page_token |
|
Response Structure
Field Name |
Type |
Description |
|---|---|---|
runs |
An array of Run |
Runs that match the search criteria. |
next_page_token |
|
Log Metric
Endpoint |
HTTP Method |
|---|---|
|
|
Log a metric for a run. A metric is a key-value pair (string key, float value) with an associated timestamp. Examples include the various metrics that represent ML model accuracy. A metric can be logged multiple times.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
run_id |
|
ID of the run under which to log the metric. Must be provided. |
run_uuid |
|
[Deprecated, use run_id instead] ID of the run under which to log the metric. This field will be removed in a future MLflow version. |
key |
|
Name of the metric. This field is required. |
value |
|
Double value of the metric being logged. This field is required. |
timestamp |
|
Unix timestamp in milliseconds at the time metric was logged. This field is required. |
step |
|
Step at which to log the metric |
model_id |
|
ID of the logged model associated with the metric, if applicable |
dataset_name |
|
The name of the dataset associated with the metric. E.g. “my.uc.table@2” “nyc-taxi-dataset”, “fantastic-elk-3” |
dataset_digest |
|
Dataset digest of the dataset associated with the metric, e.g. an md5 hash of the dataset that uniquely identifies it within datasets of the same name. |
Log Param
Endpoint |
HTTP Method |
|---|---|
|
|
Log a param used for a run. A param is a key-value pair (string key, string value). Examples include hyperparameters used for ML model training and constant dates and values used in an ETL pipeline. A param can be logged only once for a run.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
run_id |
|
ID of the run under which to log the param. Must be provided. |
run_uuid |
|
[Deprecated, use run_id instead] ID of the run under which to log the param. This field will be removed in a future MLflow version. |
key |
|
Name of the param. Maximum size is 255 bytes. This field is required. |
value |
|
String value of the param being logged. Maximum size is 6000 bytes. This field is required. |
Log Batch
Endpoint |
HTTP Method |
|---|---|
|
|
Log a batch of metrics, params, and tags for a run. If any data failed to be persisted, the server will respond with an error (non-200 status code). In case of error (due to internal server error or an invalid request), partial data may be written.
You can write metrics, params, and tags in interleaving fashion, but within a given entity type are guaranteed to follow the order specified in the request body. That is, for an API request like
{
"run_id": "2a14ed5c6a87499199e0106c3501eab8",
"metrics": [
{"key": "mae", "value": 2.5, "timestamp": 1552550804},
{"key": "rmse", "value": 2.7, "timestamp": 1552550804},
],
"params": [
{"key": "model_class", "value": "LogisticRegression"},
]
}
the server is guaranteed to write metric “rmse” after “mae”, though it may write param “model_class” before both metrics, after “mae”, or after both metrics.
The overwrite behavior for metrics, params, and tags is as follows:
Metrics: metric values are never overwritten. Logging a metric (key, value, timestamp) appends to the set of values for the metric with the provided key.
Tags: tag values can be overwritten by successive writes to the same tag key. That is, if multiple tag values with the same key are provided in the same API request, the last-provided tag value is written. Logging the same tag (key, value) is permitted - that is, logging a tag is idempotent.
Params: once written, param values cannot be changed (attempting to overwrite a param value will result in an error). However, logging the same param (key, value) is permitted - that is, logging a param is idempotent.
Request Limits
A single JSON-serialized API request may be up to 1 MB in size and contain:
No more than 1000 metrics, params, and tags in total
Up to 1000 metrics
Up to 100 params
Up to 100 tags
For example, a valid request might contain 900 metrics, 50 params, and 50 tags, but logging 900 metrics, 50 params, and 51 tags is invalid. The following limits also apply to metric, param, and tag keys and values:
Metric, param, and tag keys can be up to 250 characters in length
Param and tag values can be up to 250 characters in length
Request Structure
Field Name |
Type |
Description |
|---|---|---|
run_id |
|
ID of the run to log under |
metrics |
An array of Metric |
Metrics to log. A single request can contain up to 1000 metrics, and up to 1000 metrics, params, and tags in total. |
params |
An array of Param |
Params to log. A single request can contain up to 100 params, and up to 1000 metrics, params, and tags in total. |
tags |
An array of RunTag |
Tags to log. A single request can contain up to 100 tags, and up to 1000 metrics, params, and tags in total. |
Log Model
Endpoint |
HTTP Method |
|---|---|
|
|
Note
Experimental: This API may change or be removed in a future release without warning.
Log Inputs
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
run_id |
|
ID of the run to log under This field is required. |
datasets |
An array of DatasetInput |
Dataset inputs |
models |
An array of ModelInput |
Model inputs (Currently undocumented for LoggedModels private preview) |
Set Tag
Endpoint |
HTTP Method |
|---|---|
|
|
Set a tag on a run. Tags are run metadata that can be updated during a run and after a run completes.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
run_id |
|
ID of the run under which to log the tag. Must be provided. |
run_uuid |
|
[Deprecated, use run_id instead] ID of the run under which to log the tag. This field will be removed in a future MLflow version. |
key |
|
Name of the tag. Maximum size depends on storage backend. All storage backends are guaranteed to support key values up to 250 bytes in size. This field is required. |
value |
|
String value of the tag being logged. Maximum size depends on storage backend. All storage backends are guaranteed to support key values up to 5000 bytes in size. This field is required. |
Delete Tag
Endpoint |
HTTP Method |
|---|---|
|
|
Delete a tag on a run. Tags are run metadata that can be updated during a run and after a run completes.
Get Metric History
Endpoint |
HTTP Method |
|---|---|
|
|
Get a list of all values for the specified metric for a given run.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
run_id |
|
ID of the run from which to fetch metric values. Must be provided. |
run_uuid |
|
[Deprecated, use run_id instead] ID of the run from which to fetch metric values. This field will be removed in a future MLflow version. |
metric_key |
|
Name of the metric. This field is required. |
page_token |
|
Token indicating the page of metric history to fetch |
max_results |
|
Maximum number of logged instances of a metric for a run to return per call. Backend servers may restrict the value of max_results depending on performance requirements. Requests that do not specify this value will behave as non-paginated queries where all metric history values for a given metric within a run are returned in a single response. |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
metrics |
An array of Metric |
All logged values for this metric. |
next_page_token |
|
Token that can be used to issue a query for the next page of metric history values. A missing token indicates that no additional metrics are available to fetch. |
List Artifacts
Endpoint |
HTTP Method |
|---|---|
|
|
List artifacts for a run. Takes an optional artifact_path prefix which if specified,
the response contains only artifacts with the specified prefix.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
run_id |
|
ID of the run whose artifacts to list. Must be provided. |
run_uuid |
|
[Deprecated, use run_id instead] ID of the run whose artifacts to list. This field will be removed in a future MLflow version. |
path |
|
Filter artifacts matching this path (a relative path from the root artifact directory). |
page_token |
|
Token indicating the page of artifact results to fetch |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
root_uri |
|
Root artifact directory for the run. |
files |
An array of FileInfo |
File location and metadata for artifacts. |
next_page_token |
|
Token that can be used to retrieve the next page of artifact results |
Register Scorer
Endpoint |
HTTP Method |
|---|---|
|
|
Register a scorer for an experiment.
Request Structure
Register a scorer for an experiment.
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
The experiment ID. |
name |
|
The scorer name. |
serialized_scorer |
|
The serialized scorer string (JSON). |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
version |
|
The new version number for the scorer. |
scorer_id |
|
The unique identifier for the scorer. |
experiment_id |
|
The experiment ID (same as request). |
name |
|
The scorer name (same as request). |
serialized_scorer |
|
The serialized scorer string (same as request). |
creation_time |
|
The creation time of the scorer version (in milliseconds since epoch). |
List Scorers
Endpoint |
HTTP Method |
|---|---|
|
|
List all scorers for an experiment.
Request Structure
List all scorers for an experiment.
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
The experiment ID. |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
scorers |
An array of Scorer |
List of scorer entities (latest version for each scorer name). |
List Scorer Versions
Endpoint |
HTTP Method |
|---|---|
|
|
List all versions of a specific scorer for an experiment.
Request Structure
List all versions of a specific scorer for an experiment.
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
The experiment ID. |
name |
|
The scorer name. |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
scorers |
An array of Scorer |
List of scorer entities for all versions of the scorer. |
Get Scorer
Endpoint |
HTTP Method |
|---|---|
|
|
Get a specific scorer for an experiment.
Delete Scorer
Endpoint |
HTTP Method |
|---|---|
|
|
Delete a scorer for an experiment.
Create Gateway Secret
Endpoint |
HTTP Method |
|---|---|
|
|
Create a new encrypted secret for LLM provider authentication
Request Structure
Field Name |
Type |
Description |
|---|---|---|
secret_name |
|
User-friendly name for the secret (must be unique) |
secret_value |
An array of SecretValueEntry |
The secret value(s) to encrypt as key-value pairs. For simple API keys: {“api_key”: “sk-xxx”} For compound credentials: {“aws_access_key_id”: “…”, “aws_secret_access_key”: “…”} |
provider |
|
Optional LLM provider (e.g., “openai”, “anthropic”) |
auth_config |
An array of AuthConfigEntry |
Optional provider-specific auth configuration. For multi-auth providers, include “auth_mode” key (e.g., {“auth_mode”: “access_keys”, “aws_region_name”: “us-east-1”}) |
created_by |
|
Username of the creator |
Get Gateway Secret Info
Endpoint |
HTTP Method |
|---|---|
|
|
Get metadata about a secret (does not include the encrypted value)
Request Structure
Field Name |
Type |
Description |
|---|---|---|
secret_id |
|
Either secret_id or secret_name must be provided |
secret_name |
|
Update Gateway Secret
Endpoint |
HTTP Method |
|---|---|
|
|
Update an existing secret’s value or auth configuration
Request Structure
Field Name |
Type |
Description |
|---|---|---|
secret_id |
|
ID of the secret to update |
secret_value |
An array of SecretValueEntry |
Optional new secret value(s) for key rotation as key-value pairs (empty map = no change). For simple API keys: {“api_key”: “sk-xxx”} For compound credentials: {“aws_access_key_id”: “…”, “aws_secret_access_key”: “…”} |
auth_config |
An array of AuthConfigEntry |
Optional new auth configuration. For multi-auth providers, include “auth_mode” key (e.g., {“auth_mode”: “access_keys”, “aws_region_name”: “us-east-1”}) |
updated_by |
|
Username of the updater |
List Gateway Secrets
Endpoint |
HTTP Method |
|---|---|
|
|
List all secrets with optional filtering by provider
Request Structure
Field Name |
Type |
Description |
|---|---|---|
provider |
|
Optional filter by provider (e.g., “openai”, “anthropic”) |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
secrets |
An array of GatewaySecretInfo |
List of secret metadata (does not include encrypted values) |
Create Gateway Model Definition
Endpoint |
HTTP Method |
|---|---|
|
|
Create a reusable model definition
Request Structure
Field Name |
Type |
Description |
|---|---|---|
name |
|
User-friendly name for the model definition (must be unique) |
secret_id |
|
ID of the secret containing authentication credentials |
provider |
|
LLM provider (e.g., “openai”, “anthropic”) |
model_name |
|
Provider-specific model identifier (e.g., “gpt-4o”, “claude-3-5-sonnet”) |
created_by |
|
Username of the creator |
Get Gateway Model Definition
Endpoint |
HTTP Method |
|---|---|
|
|
Get a model definition by ID
Request Structure
Field Name |
Type |
Description |
|---|---|---|
model_definition_id |
|
ID of the model definition to retrieve |
List Gateway Model Definitions
Endpoint |
HTTP Method |
|---|---|
|
|
List all model definitions with optional filters
Request Structure
Field Name |
Type |
Description |
|---|---|---|
provider |
|
Optional filter by provider |
secret_id |
|
Optional filter by secret ID |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
model_definitions |
An array of GatewayModelDefinition |
List of model definitions |
Update Gateway Model Definition
Endpoint |
HTTP Method |
|---|---|
|
|
Update a model definition
Request Structure
Field Name |
Type |
Description |
|---|---|---|
model_definition_id |
|
ID of the model definition to update |
name |
|
Optional new name |
secret_id |
|
Optional new secret ID |
model_name |
|
Optional new model name |
updated_by |
|
Username of the updater |
provider |
|
Optional new provider |
Delete Gateway Model Definition
Endpoint |
HTTP Method |
|---|---|
|
|
Delete a model definition (fails if in use by any endpoint)
Create Gateway Endpoint
Endpoint |
HTTP Method |
|---|---|
|
|
Create a new endpoint with model configurations
Request Structure
Field Name |
Type |
Description |
|---|---|---|
name |
|
Optional user-friendly name for the endpoint |
model_configs |
An array of GatewayEndpointModelConfig |
List of model configurations |
created_by |
|
Username of the creator |
routing_strategy |
Optional routing strategy for the endpoint |
|
fallback_config |
Optional fallback configuration (includes strategy, max_attempts) |
|
experiment_id |
|
Optional experiment ID for tracing. Only used when usage_tracking is true. If not provided and usage_tracking is true, an experiment will be auto-created. |
usage_tracking |
|
Whether to enable usage tracking for this endpoint. Defaults to false. When true, traces will be logged for endpoint invocations. |
Get Gateway Endpoint
Endpoint |
HTTP Method |
|---|---|
|
|
Get endpoint details including all model configurations
Request Structure
Field Name |
Type |
Description |
|---|---|---|
endpoint_id |
|
Either endpoint_id or name must be provided |
name |
|
Update Gateway Endpoint
Endpoint |
HTTP Method |
|---|---|
|
|
Update an endpoint’s name
Request Structure
Field Name |
Type |
Description |
|---|---|---|
endpoint_id |
|
ID of the endpoint to update |
name |
|
Optional new name for the endpoint |
updated_by |
|
Username of the updater |
model_configs |
An array of GatewayEndpointModelConfig |
Optional new list of model configurations (replaces all existing model linkages) |
routing_strategy |
Optional new routing strategy for the endpoint |
|
fallback_config |
Optional fallback configuration (includes strategy, max_attempts) |
|
experiment_id |
|
Optional experiment ID for tracing. Only used when usage_tracking is true. |
usage_tracking |
|
Whether to enable usage tracking for this endpoint. When set to true, traces will be logged for endpoint invocations. When set to false, usage tracking is disabled and experiment_id is cleared. |
Delete Gateway Endpoint
Endpoint |
HTTP Method |
|---|---|
|
|
Delete an endpoint and all its model configurations
List Gateway Endpoints
Endpoint |
HTTP Method |
|---|---|
|
|
List endpoints with optional filtering by provider or secret
Request Structure
Field Name |
Type |
Description |
|---|---|---|
provider |
|
Optional filter by provider |
secret_id |
|
Optional filter by secret ID |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
endpoints |
An array of GatewayEndpoint |
List of endpoints with their model configurations |
Attach Model to Endpoint
Endpoint |
HTTP Method |
|---|---|
|
|
Attach an existing model definition to an endpoint
Request Structure
Field Name |
Type |
Description |
|---|---|---|
endpoint_id |
|
ID of the endpoint to attach the model to |
model_config |
Configuration for the model to attach |
|
created_by |
|
Username of the creator |
Detach Model from Endpoint
Endpoint |
HTTP Method |
|---|---|
|
|
Detach a model definition from an endpoint (does not delete the model definition)
Create Endpoint Binding
Endpoint |
HTTP Method |
|---|---|
|
|
Create a binding between an endpoint and an MLflow resource
Delete Endpoint Binding
Endpoint |
HTTP Method |
|---|---|
|
|
Delete a binding between an endpoint and a resource
List Endpoint Bindings
Endpoint |
HTTP Method |
|---|---|
|
|
List all bindings for an endpoint
Request Structure
Field Name |
Type |
Description |
|---|---|---|
endpoint_id |
|
ID of the endpoint to list bindings for |
resource_type |
|
Type of resource to filter bindings by (e.g., “scorer”) |
resource_id |
|
ID of the resource to filter bindings by |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
bindings |
An array of GatewayEndpointBinding |
List of bindings for the endpoint |
Gateway Set Endpoint Tag
Endpoint |
HTTP Method |
|---|---|
|
|
Set a tag on an endpoint
Gateway Delete Endpoint Tag
Endpoint |
HTTP Method |
|---|---|
|
|
Delete a tag from an endpoint
Create Prompt Optimization Job
Endpoint |
HTTP Method |
|---|---|
|
|
Create a new prompt optimization job. This endpoint initiates an optimization run with the specified configuration. The optimization process runs asynchronously and can be monitored via getPromptOptimizationJob.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
ID of the MLflow experiment to track the optimization job in. |
source_prompt_uri |
|
URI of the source prompt to optimize (e.g., “prompts:/my-prompt/1”). |
config |
Configuration for the optimization job. |
|
tags |
An array of PromptOptimizationJobTag |
Optional tags for the optimization job. |
Get Prompt Optimization Job
Endpoint |
HTTP Method |
|---|---|
|
|
Get the details and status of a prompt optimization job. Returns the job configuration, current status, progress statistics, and the best prompt if the optimization has completed.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
job_id |
|
The unique identifier of the optimization job (same as run_id). |
Search Prompt Optimization Jobs
Endpoint |
HTTP Method |
|---|---|
|
|
Search for prompt optimization jobs. Returns a list of optimization jobs matching the specified filters.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
ID of the MLflow experiment to search optimization jobs in. |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
jobs |
An array of PromptOptimizationJob |
List of optimization jobs. |
Cancel Prompt Optimization Job
Endpoint |
HTTP Method |
|---|---|
|
|
Cancel an in-progress prompt optimization job. If the job is already completed or cancelled, this operation has no effect.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
job_id |
|
The unique identifier of the optimization job to cancel. |
Delete Prompt Optimization Job
Endpoint |
HTTP Method |
|---|---|
|
|
Delete a prompt optimization job and its associated data. This permanently removes the job and all related information.
Create RegisteredModel
Endpoint |
HTTP Method |
|---|---|
|
|
Throws RESOURCE_ALREADY_EXISTS if a registered model with the given name exists.
Request Structure
Field Name |
Type |
Description |
|---|---|---|
name |
|
Register models under this name This field is required. |
tags |
An array of RegisteredModelTag |
Additional metadata for registered model. |
description |
|
Optional description for registered model. |
deployment_job_id |
|
Deployment job id for this model. |
Get RegisteredModel
Endpoint |
HTTP Method |
|---|---|
|
|
Rename RegisteredModel
Endpoint |
HTTP Method |
|---|---|
|
|
Update RegisteredModel
Endpoint |
HTTP Method |
|---|---|
|
|
Delete RegisteredModel
Endpoint |
HTTP Method |
|---|---|
|
|
Search RegisteredModels
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
filter |
|
String filter condition, like “name LIKE ‘my-model-name’”. Interpreted in the backend automatically as “name LIKE ‘%my-model-name%’”. Single boolean condition, with string values wrapped in single quotes. |
max_results |
|
Maximum number of models desired. Default is 100. Max threshold is 1000. |
order_by |
An array of |
List of columns for ordering search results, which can include model name and last updated timestamp with an optional “DESC” or “ASC” annotation, where “ASC” is the default. Tiebreaks are done by model name ASC. |
page_token |
|
Pagination token to go to the next page based on a previous search query. |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
registered_models |
An array of RegisteredModel |
Registered Models that match the search criteria. |
next_page_token |
|
Pagination token to request the next page of models. |
Get Latest ModelVersions
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
name |
|
Registered model unique name identifier. This field is required. |
stages |
An array of |
List of stages. |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
model_versions |
An array of ModelVersion |
Latest version models for each requests stage. Only return models with current |
Create ModelVersion
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
name |
|
Register model under this name This field is required. |
source |
|
URI indicating the location of the model artifacts. This field is required. |
run_id |
|
MLflow run ID for correlation, if |
tags |
An array of ModelVersionTag |
Additional metadata for model version. |
run_link |
|
MLflow run link - this is the exact link of the run that generated this model version, potentially hosted at another instance of MLflow. |
description |
|
Optional description for model version. |
model_id |
|
Optional model_id for model version that is used to link the registered model to the source logged model |
Get ModelVersion
Endpoint |
HTTP Method |
|---|---|
|
|
Update ModelVersion
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
name |
|
Name of the registered model This field is required. |
version |
|
Model version number This field is required. |
description |
|
If provided, updates the description for this |
Delete ModelVersion
Endpoint |
HTTP Method |
|---|---|
|
|
Search ModelVersions
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
filter |
|
String filter condition, like “name=’my-model-name’”. Must be a single boolean condition, with string values wrapped in single quotes. |
max_results |
|
Maximum number of models desired. Max threshold is 200K. Backends may choose a lower default value and maximum threshold. |
order_by |
An array of |
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 |
|
Pagination token to go to next page based on previous search query. |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
model_versions |
An array of ModelVersion |
Models that match the search criteria |
next_page_token |
|
Pagination token to request next page of models for the same search query. |
Get Download URI For ModelVersion Artifacts
Endpoint |
HTTP Method |
|---|---|
|
|
Transition ModelVersion Stage
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
name |
|
Name of the registered model This field is required. |
version |
|
Model version number This field is required. |
stage |
|
Transition model_version to new stage. This field is required. |
archive_existing_versions |
|
When transitioning a model version to a particular stage, this flag dictates whether all existing model versions in that stage should be atomically moved to the “archived” stage. This ensures that at-most-one model version exists in the target stage. This field is required when transitioning a model versions’s stage This field is required. |
Set Registered Model Tag
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
name |
|
Unique name of the model. This field is required. |
key |
|
Name of the tag. Maximum size depends on storage backend. If a tag with this name already exists, its preexisting value will be replaced by the specified value. All storage backends are guaranteed to support key values up to 250 bytes in size. This field is required. |
value |
|
String value of the tag being logged. Maximum size depends on storage backend. This field is required. |
Set Model Version Tag
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
name |
|
Unique name of the model. This field is required. |
version |
|
Model version number. This field is required. |
key |
|
Name of the tag. Maximum size depends on storage backend. If a tag with this name already exists, its preexisting value will be replaced by the specified value. All storage backends are guaranteed to support key values up to 250 bytes in size. This field is required. |
value |
|
String value of the tag being logged. Maximum size depends on storage backend. This field is required. |
Delete Registered Model Tag
Endpoint |
HTTP Method |
|---|---|
|
|
Delete Model Version Tag
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
name |
|
Name of the registered model that the tag was logged under. This field is required. |
version |
|
Model version number that the tag was logged under. This field is required. |
key |
|
Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes. This field is required. |
Set Registered Model Alias
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
name |
|
Name of the registered model. This field is required. |
alias |
|
Name of the alias. Maximum size depends on storage backend. If an alias with this name already exists, its preexisting value will be replaced by the specified version. All storage backends are guaranteed to support alias name values up to 256 bytes in size. This field is required. |
version |
|
Model version number. This field is required. |
Delete Registered Model Alias
Endpoint |
HTTP Method |
|---|---|
|
|
Get Model Version by Alias
Endpoint |
HTTP Method |
|---|---|
|
|
Create Webhook
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Create webhook request
Field Name |
Type |
Description |
|---|---|---|
name |
|
Name of the webhook This field is required. |
description |
|
Optional description for the webhook |
url |
|
URL to send webhook events to This field is required. |
events |
An array of WebhookEvent |
List of events to subscribe to This field is required. |
secret |
|
Secret key for HMAC signature verification |
status |
Initial status (defaults to ACTIVE if not specified) |
List Webhooks
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
List webhooks request
Field Name |
Type |
Description |
|---|---|---|
max_results |
|
Maximum number of webhooks to return |
page_token |
|
Pagination token from previous request |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
webhooks |
An array of Webhook |
List of webhooks |
next_page_token |
|
Pagination token for next page |
Get Webhook
Endpoint |
HTTP Method |
|---|---|
|
|
Update Webhook
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Update webhook request
Field Name |
Type |
Description |
|---|---|---|
webhook_id |
|
ID of the webhook to update This field is required. |
name |
|
New name for the webhook |
description |
|
New description for the webhook |
url |
|
New URL for the webhook |
events |
An array of WebhookEvent |
New list of events to subscribe to |
secret |
|
New secret key for HMAC signature |
status |
New status for the webhook |
Delete Webhook
Endpoint |
HTTP Method |
|---|---|
|
|
Test Webhook
Endpoint |
HTTP Method |
|---|---|
|
|
List Artifacts
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
path |
|
Filter artifacts matching this path (a relative path from the root artifact directory). |
Response Structure
Field Name |
Type |
Description |
|---|---|---|
files |
An array of FileInfo |
File location and metadata for artifacts. |
Create an Artifact Multipart Upload
Endpoint |
HTTP Method |
|---|---|
|
|
Response Structure
Field Name |
Type |
Description |
|---|---|---|
upload_id |
|
|
credentials |
An array of MultipartUploadCredential |
Complete an Artifact Multipart Upload
Endpoint |
HTTP Method |
|---|---|
|
|
Request Structure
Field Name |
Type |
Description |
|---|---|---|
path |
|
|
upload_id |
|
|
parts |
An array of MultipartUploadPart |
Abort an Artifact Multipart Upload
Endpoint |
HTTP Method |
|---|---|
|
|
Data Structures
AddDatasetToExperiments
Field Name |
Type |
Description |
|---|---|---|
dataset_id |
|
Dataset ID to add to experiments This field is required. |
experiment_ids |
An array of |
Experiment IDs to associate with the dataset |
Assessment
Data and metadata for an assessment of a trace.
Field Name |
Type |
Description |
|---|---|---|
assessment_id |
|
Unique ID of the assessment. NB: This is not marked as required field via “validate_required”, because the message is used in the context of creating a new assessment, where the ID is not known. |
assessment_name |
|
Name of the assessment. The name must not contain “.”. This field is required. |
trace_id |
|
ID of the trace this assessment is associated with. |
span_id |
|
ID of the span if the assessment is for a particular span (optional). |
source |
The source this assessment came from. |
|
create_time |
|
The creation time of this assessment. |
last_update_time |
|
The last update time of this assessment. |
rationale |
|
Justification for the assessment. |
metadata |
An array of MetadataEntry |
Additional metadata describing the assessment and store additional information, such as the chunk relevance chunk_index. This metadata is required to be JSON-serializable. |
overrides |
|
The ID of the assessment which this assessment overrides. |
valid |
|
Whether this assessment is valid (i.e. has not been superseded) defaults to true, and is set to false if a new superseding assessment is created. |
|
If |
AssessmentError
Field Name |
Type |
Description |
|---|---|---|
error_code |
|
Value of an assessment when an error has occurred. |
error_message |
|
|
stack_trace |
|
Stack trace of the error. Truncated to 1000 characters to avoid making TraceInfo too large. |
AssessmentSource
Field Name |
Type |
Description |
|---|---|---|
source_type |
The type of the source. This field is required. |
|
source_id |
|
Identifier for the source. Example: For human -> user name; for LLM judge -> judge source (databricks or custom); for code -> empty. This field is required. |
BatchGetTraces
Field Name |
Type |
Description |
|---|---|---|
trace_ids |
An array of |
ID of the traces to fetch. Must be provided. |
CalculateTraceFilterCorrelation
Field Name |
Type |
Description |
|---|---|---|
experiment_ids |
An array of |
List of experiment IDs to search within. |
filter_string1 |
|
First filter condition (e.g., “span.type = ‘LLM’”). |
filter_string2 |
|
Second filter condition (e.g., “feedback.quality > 0.8”). |
base_filter |
|
Optional base filter that both filter1 and filter2 are tested on top of (e.g., ‘request_time > … and request_time < …’ for time windows). |
CreateAssessment
Field Name |
Type |
Description |
|---|---|---|
assessment |
The assessment to create. This field is required. |
CreateDataset
Field Name |
Type |
Description |
|---|---|---|
name |
|
Dataset name This field is required. |
experiment_ids |
An array of |
Associated experiment IDs. If not provided, defaults to the current active experiment. |
source_type |
Source type |
|
source |
|
Source information |
schema |
|
Schema information (JSON) |
profile |
|
Profile information (JSON) |
created_by |
|
User creating the dataset |
tags |
|
Tags to set on the dataset (JSON string mapping keys to values) |
CreateLoggedModel
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
ID of the associated experiment. This field is required. |
name |
|
Name of the model. Optional. If not specified, the backend will generate one. |
model_type |
|
The type of model, such as “Agent”, “Classifier”, “LLM”. |
source_run_id |
|
Run ID of the run that created this model. |
params |
An array of LoggedModelParameter |
LoggedModel params. |
tags |
An array of LoggedModelTag |
LoggedModel tags. |
CreateWorkspace
Create a new workspace.
Field Name |
Type |
Description |
|---|---|---|
name |
|
Workspace name to create. This field is required. |
description |
|
Optional workspace description. |
default_artifact_root |
|
Optional default artifact root override to apply at creation time. |
Dataset
Dataset. Represents a reference to data used for training, testing, or evaluation during the model development process.
Field Name |
Type |
Description |
|---|---|---|
name |
|
The name of the dataset. E.g. “my.uc.table@2” “nyc-taxi-dataset”, “fantastic-elk-3” This field is required. |
digest |
|
Dataset digest, e.g. an md5 hash of the dataset that uniquely identifies it within datasets of the same name. This field is required. |
source_type |
|
The type of the dataset source, e.g. ‘databricks-uc-table’, ‘DBFS’, ‘S3’, … This field is required. |
source |
|
Source information for the dataset. Note that the source may not exactly reproduce the dataset if it was transformed / modified before use with MLflow. This field is required. |
schema |
|
The schema of the dataset. E.g., MLflow ColSpec JSON for a dataframe, MLflow TensorSpec JSON for an ndarray, or another schema format. |
profile |
|
The profile of the dataset. Summary statistics for the dataset, such as the number of rows in a table, the mean / std / mode of each column in a table, or the number of elements in an array. |
Dataset
Field Name |
Type |
Description |
|---|---|---|
dataset_name |
|
The name of the dataset. This field is required. |
dataset_digest |
|
The digest of the dataset. |
Dataset
Field Name |
Type |
Description |
|---|---|---|
dataset_id |
|
Unique identifier for the dataset |
name |
|
Dataset name (user-friendly identifier) |
tags |
|
Tags as JSON string (key-value pairs for metadata) |
schema |
|
Schema information (JSON) |
profile |
|
Profile information (JSON) |
digest |
|
Dataset digest for integrity checking |
created_time |
|
Creation timestamp in milliseconds |
last_update_time |
|
Last update timestamp in milliseconds |
created_by |
|
User who created the dataset |
last_updated_by |
|
User who last updated the dataset |
experiment_ids |
An array of |
Associated experiment IDs (populated from entity_associations table) |
DatasetInput
DatasetInput. Represents a dataset and input tags.
Field Name |
Type |
Description |
|---|---|---|
tags |
An array of InputTag |
A list of tags for the dataset input, e.g. a “context” tag with value “training” |
dataset |
The dataset being used as a Run input. This field is required. |
DatasetRecord
Field Name |
Type |
Description |
|---|---|---|
dataset_record_id |
|
Unique identifier for the record |
dataset_id |
|
ID of the dataset this record belongs to |
inputs |
|
Inputs as JSON string |
expectations |
|
Expectations as JSON string |
tags |
|
Tags as JSON string |
source |
|
Source information as JSON string |
source_id |
|
Source ID for quick lookups (e.g., trace_id) |
source_type |
Source type |
|
created_time |
|
Creation timestamp in milliseconds |
last_update_time |
|
Last update timestamp in milliseconds |
created_by |
|
User who created the record |
last_updated_by |
|
User who last updated the record |
outputs |
|
Outputs as JSON string |
DatasetRecordSource
Field Name |
Type |
Description |
|---|---|---|
source_type |
The type of the source. |
|
source_data |
|
Source-specific data as JSON |
DatasetSummary
DatasetSummary. Represents a summary of information about a dataset.
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
Unique identifier for the experiment. This field is required. |
name |
|
The name of the dataset. E.g. “my.uc.table@2” “nyc-taxi-dataset”, “fantastic-elk-3” This field is required. |
digest |
|
Dataset digest, e.g. an md5 hash of the dataset that uniquely identifies it within datasets of the same name. This field is required. |
context |
|
Value of “context” tag if set for the given dataset. |
DeleteAssessment
A request to delete an assessment identified by its trace_id and assessment_id. The response is empty on successful deletion.
Field Name |
Type |
Description |
|---|---|---|
trace_id |
|
The ID of the trace. This field is required. |
assessment_id |
|
The ID of the assessment. This field is required. |
DeleteDataset
Field Name |
Type |
Description |
|---|---|---|
dataset_id |
|
Dataset ID to delete This field is required. |
DeleteDatasetRecords
Field Name |
Type |
Description |
|---|---|---|
dataset_id |
|
Dataset ID to delete records from. This field is required. |
dataset_record_ids |
An array of |
List of dataset record IDs to delete. |
DeleteDatasetTag
Field Name |
Type |
Description |
|---|---|---|
dataset_id |
|
Dataset ID to delete tag from This field is required. |
key |
|
Tag key to delete This field is required. |
DeleteLoggedModel
Field Name |
Type |
Description |
|---|---|---|
model_id |
|
The ID of the LoggedModel to delete. This field is required. |
DeleteLoggedModelTag
Field Name |
Type |
Description |
|---|---|---|
model_id |
|
The ID of the LoggedModel to delete the tag from. This field is required. |
tag_key |
|
The tag key. This field is required. |
DeleteTraceTag
Field Name |
Type |
Description |
|---|---|---|
request_id |
|
ID of the trace from which to delete the tag. |
key |
|
Name of the tag to delete. |
DeleteTraceTagV3
Field Name |
Type |
Description |
|---|---|---|
trace_id |
|
ID of the trace from which to delete the tag. |
key |
|
Name of the tag to delete. |
DeleteTraces
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
ID of the associated experiment. This field is required. |
max_timestamp_millis |
|
Case 1: max_timestamp_millis and max_traces must be specified for time-based deletion The maximum timestamp in milliseconds since the UNIX epoch for deleting traces. |
max_traces |
|
The maximum number of traces to delete. |
request_ids |
An array of |
Case 2: request_ids must be specified for ID-based deletion A set of request IDs to delete |
DeleteTracesV3
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
ID of the associated experiment. This field is required. |
max_timestamp_millis |
|
Case 1: max_timestamp_millis and max_traces must be specified for time-based deletion The maximum timestamp in milliseconds since the UNIX epoch for deleting traces. |
max_traces |
|
The maximum number of traces to delete. |
request_ids |
An array of |
Case 2: request_ids must be specified for ID-based deletion A set of request IDs to delete |
DeleteWorkspace
Delete a workspace.
Field Name |
Type |
Description |
|---|---|---|
workspace_name |
|
Name of the workspace to delete. This field is required. |
EndTrace
Field Name |
Type |
Description |
|---|---|---|
request_id |
|
ID of the trace to end. |
timestamp_ms |
|
Unix timestamp of when the trace ended in milliseconds. |
status |
Overall status of the operation being traced (OK, error, etc). |
|
request_metadata |
An array of TraceRequestMetadata |
Additional metadata about the operation being traced. |
tags |
An array of TraceTag |
Additional tags to add to the trace. |
Expectation
An expectation for the values or guidelines for the outputs that a model or agent should produce from the inputs contained in the trace.
Field Name |
Type |
Description |
|---|---|---|
value |
|
The value of the expectation-based assessment. This uses |
serialized_value |
The value of the expecation-based assessment serialized as a string in a specified format. Only one of either
|
Experiment
Experiment
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
Unique identifier for the experiment. |
name |
|
Human readable name that identifies the experiment. |
artifact_location |
|
Location where artifacts for the experiment are stored. |
lifecycle_stage |
|
Current life cycle stage of the experiment: “active” or “deleted”. Deleted experiments are not returned by APIs. |
last_update_time |
|
Last update time |
creation_time |
|
Creation time |
tags |
An array of ExperimentTag |
Tags: Additional metadata key-value pairs. |
ExperimentTag
Tag for an experiment.
Field Name |
Type |
Description |
|---|---|---|
key |
|
The tag key. |
value |
|
The tag value. |
FallbackConfig
Configuration for fallback routing
Field Name |
Type |
Description |
|---|---|---|
strategy |
The fallback strategy. |
|
max_attempts |
|
The max attempts for fallback routing (cannot exceed number of destinations). |
Feedback
Feedback provided on the model / agent output(s) contained in the trace
Field Name |
Type |
Description |
|---|---|---|
value |
|
Value of the feedback-based assessment. We use google.protobuf.Value to support a flexible schema of feedback values. Supported initial types: - Numeric values like integers or floats - Boolean values - Text value (can contain json text the user wishes to store, but it will only be searchable as text) - Non-empty list values containing only strings - Other values like structs, non-string lists etc. will be rejected for now |
error |
An error encountered while generating the feedback. Required if value is set to null. |
FileInfo
Metadata of a single artifact file or directory.
Field Name |
Type |
Description |
|---|---|---|
path |
|
Path relative to the root artifact directory run. |
is_dir |
|
Whether the path is a directory. |
file_size |
|
Size in bytes. Unset for directories. |
FileInfo
Field Name |
Type |
Description |
|---|---|---|
path |
|
Path relative to the root artifact directory run. |
is_dir |
|
Whether the path is a directory. |
file_size |
|
Size in bytes. Unset for directories. |
FinalizeLoggedModel
Field Name |
Type |
Description |
|---|---|---|
model_id |
|
The ID of the LoggedModel to finalize This field is required. |
status |
Whether or not the model is ready for use. Valid values in this message: ENUM<LOGGED_MODEL_READY, LOGGED_MODEL_UPLOAD_FAILED> (“LOGGED_MODEL_UPLOAD_FAILED” indicates that something went wrong when logging the model weights / agent code) This field is required. |
GatewayEndpoint
Endpoint entity representing an LLM gateway endpoint
Field Name |
Type |
Description |
|---|---|---|
endpoint_id |
|
Unique identifier for the endpoint |
name |
|
User-friendly name for the endpoint |
created_at |
|
Timestamp (milliseconds since epoch) when the endpoint was created |
last_updated_at |
|
Timestamp (milliseconds since epoch) when the endpoint was last updated |
model_mappings |
An array of GatewayEndpointModelMapping |
List of model mappings bound to this endpoint |
created_by |
|
User ID who created the endpoint |
last_updated_by |
|
User ID who last updated the endpoint |
tags |
An array of GatewayEndpointTag |
Tags associated with the endpoint |
routing_strategy |
Routing strategy for the endpoint |
|
fallback_config |
Fallback configuration (populated if routing_strategy is FALLBACK) |
|
experiment_id |
|
ID of the MLflow experiment where traces for this endpoint are logged |
usage_tracking |
|
Whether usage tracking is enabled for this endpoint. When true, an experiment will be auto-created if not provided, and traces will be logged for endpoint invocations. |
GatewayEndpointBinding
Binding between an endpoint and an MLflow resource. Uses composite key (endpoint_id, resource_type, resource_id) for identification.
Field Name |
Type |
Description |
|---|---|---|
endpoint_id |
|
ID of the endpoint this binding references |
resource_type |
|
Type of MLflow resource (e.g., “scorer”) |
resource_id |
|
ID of the specific resource instance |
created_at |
|
Timestamp (milliseconds since epoch) when the binding was created |
last_updated_at |
|
Timestamp (milliseconds since epoch) when the binding was last updated |
created_by |
|
User ID who created the binding |
last_updated_by |
|
User ID who last updated the binding |
display_name |
|
Fields 8-9 reserved - endpoint_name and model_mappings removed (join client-side) Human-readable display name for the resource (e.g., scorer name) |
GatewayEndpointModelConfig
Configuration for a model attached to an endpoint
Field Name |
Type |
Description |
|---|---|---|
model_definition_id |
|
ID of the model definition |
linkage_type |
Type of linkage |
|
weight |
|
Routing weight for traffic distribution |
fallback_order |
|
Order for fallback attempts (only for FALLBACK linkages, NULL for PRIMARY) |
GatewayEndpointModelMapping
Mapping between an endpoint and a model definition
Field Name |
Type |
Description |
|---|---|---|
mapping_id |
|
Unique identifier for this mapping |
endpoint_id |
|
ID of the endpoint |
model_definition_id |
|
ID of the model definition |
model_definition |
The full model definition (populated via JOIN) |
|
weight |
|
Routing weight for traffic distribution |
created_at |
|
Timestamp (milliseconds since epoch) when the mapping was created |
created_by |
|
User ID who created the mapping |
linkage_type |
Type of linkage |
|
fallback_order |
|
Order for fallback attempts (only for FALLBACK linkages, NULL for PRIMARY) |
GatewayEndpointTag
Tag associated with an endpoint
Field Name |
Type |
Description |
|---|---|---|
key |
|
Tag key |
value |
|
Tag value |
GatewayModelDefinition
Reusable model definition that can be shared across endpoints
Field Name |
Type |
Description |
|---|---|---|
model_definition_id |
|
Unique identifier for this model definition |
name |
|
User-friendly name for identification and reuse |
secret_id |
|
ID of the secret containing authentication credentials |
secret_name |
|
Name of the secret for display purposes |
provider |
|
LLM provider (e.g., “openai”, “anthropic”, “cohere”, “bedrock”) |
model_name |
|
Provider-specific model identifier (e.g., “gpt-4o”, “claude-3-5-sonnet”) |
created_at |
|
Timestamp (milliseconds since epoch) when the model definition was created |
last_updated_at |
|
Timestamp (milliseconds since epoch) when the model definition was last updated |
created_by |
|
User ID who created the model definition |
last_updated_by |
|
User ID who last updated the model definition |
GatewaySecretInfo
Secret metadata entity (does not include the decrypted secret value)
Field Name |
Type |
Description |
|---|---|---|
secret_id |
|
Unique identifier for the secret (UUID) |
secret_name |
|
User-friendly name for the secret (must be unique) |
masked_values |
An array of MaskedValuesEntry |
Masked version of the secret values for display as key-value pairs. For simple API keys: {“api_key”: “sk-…xyz123”}
For compound credentials: |
created_at |
|
Timestamp (milliseconds since epoch) when the secret was created |
last_updated_at |
|
Timestamp (milliseconds since epoch) when the secret was last updated |
provider |
|
LLM provider identifier (e.g., “openai”, “anthropic”, “cohere”) |
created_by |
|
User ID who created the secret |
last_updated_by |
|
User ID who last updated the secret |
auth_config |
An array of AuthConfigEntry |
Provider-specific auth configuration (e.g., auth_mode, region, project_id) |
GetAssessmentRequest
Field Name |
Type |
Description |
|---|---|---|
trace_id |
|
The ID of the trace the assessment belongs to. This field is required. |
assessment_id |
|
The ID of the assessment. This field is required. |
GetDataset
Field Name |
Type |
Description |
|---|---|---|
dataset_id |
|
Dataset ID This field is required. |
page_token |
|
Optional page token for paginating records |
GetDatasetExperimentIds
Field Name |
Type |
Description |
|---|---|---|
dataset_id |
|
Dataset ID to get experiment IDs for This field is required. |
GetDatasetRecords
Field Name |
Type |
Description |
|---|---|---|
dataset_id |
|
Dataset ID to get records for This field is required. |
max_results |
|
Optional pagination - maximum number of records to return |
page_token |
|
Optional pagination token for getting next page |
GetLoggedModel
Field Name |
Type |
Description |
|---|---|---|
model_id |
|
The ID of the LoggedModel to retrieve. This field is required. |
GetMetricHistoryBulkInterval
Field Name |
Type |
Description |
|---|---|---|
run_ids |
An array of |
ID(s) of the run(s) from which to fetch metric values. Must be provided. |
metric_key |
|
Name of the metric. This field is required. |
start_step |
|
Optional start step to only fetch metrics after the specified step. Must be defined if end_step is defined. |
end_step |
|
Optional end step to only fetch metrics before the specified step. Must be defined if start_step is defined. |
max_results |
|
Maximum number of results to fetch per run specified. Must be set to a positive number. Note, in reality, the API returns at most (max_results + # of run IDs) x (# run IDs) metric data points. |
GetOnlineTraceDetails
Field Name |
Type |
Description |
|---|---|---|
trace_id |
|
Trace ID to retrieve This field is required. |
sql_warehouse_id |
|
SQL warehouse to use for query This field is required. |
source_inference_table |
|
Source inference table to use for query ie. “ml.bbqiu.codegen_payload” This field is required. |
source_databricks_request_id |
|
Source databricks request id to use for query ie. “8d1992ce-ba3d-49e9-9701-e9b323c5cc8c” This field is required. |
GetTrace
Field Name |
Type |
Description |
|---|---|---|
trace_id |
|
ID of the trace to fetch. Must be provided. This field is required. |
allow_partial |
|
Whether to allow partial traces. Default to False. |
GetTraceInfo
Field Name |
Type |
Description |
|---|---|---|
request_id |
|
ID of the trace to fetch. Must be provided. |
GetTraceInfoV3
Field Name |
Type |
Description |
|---|---|---|
trace_id |
|
ID of the trace to fetch. Must be provided. |
GetWorkspace
Retrieve workspace metadata.
Field Name |
Type |
Description |
|---|---|---|
workspace_name |
|
Name of the workspace to fetch. This field is required. |
InferenceTableLocation
Field Name |
Type |
Description |
|---|---|---|
full_table_name |
|
Full inference table name in the form of catalog.schema.table_name |
InputTag
Tag for an input.
Field Name |
Type |
Description |
|---|---|---|
key |
|
The tag key. This field is required. |
value |
|
The tag value. This field is required. |
JobState
Generic job state message combining status with metadata. Provides a unified way to represent job state across different job types.
Field Name |
Type |
Description |
|---|---|---|
status |
Current status of the job. |
|
error_message |
|
Error message if the job failed. Only set when status is JOB_STATUS_FAILED. |
metadata |
An array of MetadataEntry |
Additional metadata as key-value pairs. Can be used to store job-specific state information. |
LinkPromptsToTrace
Field Name |
Type |
Description |
|---|---|---|
trace_id |
|
ID of the trace to link prompt versions to. This field is required. |
prompt_versions |
An array of PromptVersionRef |
LinkTracesToRun
Field Name |
Type |
Description |
|---|---|---|
trace_ids |
An array of |
IDs of the traces to link to the run. The maximum number of trace IDs that can be linked in a single request is 100. |
run_id |
|
ID of the run to link the traces to. This field is required. |
ListLoggedModelArtifacts
Field Name |
Type |
Description |
|---|---|---|
model_id |
|
The ID of the LoggedModel for which to list the artifacts This field is required. |
artifact_directory_path |
|
Filter artifacts matching this path (a relative path from the root artifact directory). |
page_token |
|
Token indicating the page of artifact results to fetch |
LogLoggedModelParamsRequest
Field Name |
Type |
Description |
|---|---|---|
model_id |
|
The ID of the logged model to log params for. This field is required. |
params |
An array of LoggedModelParameter |
Parameters attached to the model. |
LogOutputs
Field Name |
Type |
Description |
|---|---|---|
run_id |
|
ID of the Run from which to log outputs. This field is required. |
models |
An array of ModelOutput |
Model outputs from the Run. |
LoggedModel
A LoggedModel message includes logged model attributes, tags, registration info, params, and linked run metrics.
Field Name |
Type |
Description |
|---|---|---|
info |
LoggedModel attributes such as model ID, status, tags, etc. |
|
data |
LoggedModel params and metrics. |
LoggedModelData
A LoggedModelData message includes logged model params and linked metrics.
Field Name |
Type |
Description |
|---|---|---|
params |
An array of LoggedModelParameter |
Immutable String key-value pairs of the model. |
metrics |
An array of Metric |
Performance metrics linked to the model. |
LoggedModelInfo
A LoggedModelInfo includes logged model attributes, tags, and registration info.
Field Name |
Type |
Description |
|---|---|---|
model_id |
|
A unique identifier for the model. |
experiment_id |
|
The ID of the experiment that owns the model. |
name |
|
Name of the model. |
creation_timestamp_ms |
|
Timestamp when the model was created, in milliseconds since the UNIX epoch. |
last_updated_timestamp_ms |
|
Timestamp when the model was last updated, in milliseconds since the UNIX epoch |
artifact_uri |
|
URI of the directory where model artifacts are stored. |
status |
Whether or not the model is ready for use. |
|
creator_id |
|
The ID of the user or principal that created the model. |
model_type |
|
The type of model, such as “Agent”, “Classifier”, “LLM”. |
source_run_id |
|
Run ID of the run that created the model. |
status_message |
|
Details on the current status. |
tags |
An array of LoggedModelTag |
Mutable String key-value pairs set on the model. |
registrations |
An array of LoggedModelRegistrationInfo |
If the model has been promoted to the Model Registry, this field includes information like the Registered Model name, Model Version number, etc. |
LoggedModelParameter
Parameter associated with a LoggedModel.
Field Name |
Type |
Description |
|---|---|---|
key |
|
Key identifying this param. |
value |
|
Value associated with this param. |
LoggedModelRegistrationInfo
RegistrationInfo for a LoggedModel.
Field Name |
Type |
Description |
|---|---|---|
name |
|
The name of the Registered Model to which the model has been promoted. |
version |
|
The version number of the promoted model. |
LoggedModelTag
Tag for a LoggedModel.
Field Name |
Type |
Description |
|---|---|---|
key |
|
The tag key. |
value |
|
The tag value. |
Metric
Metric associated with a run, represented as a key-value pair.
Field Name |
Type |
Description |
|---|---|---|
key |
|
Key identifying this metric. |
value |
|
Value associated with this metric. |
timestamp |
|
The timestamp at which this metric was recorded. |
step |
|
Step at which to log the metric. |
dataset_name |
|
The name of the dataset associated with the metric. E.g. “my.uc.table@2” “nyc-taxi-dataset”, “fantastic-elk-3” |
dataset_digest |
|
Dataset digest of the dataset associated with the metric, e.g. an md5 hash of the dataset that uniquely identifies it within datasets of the same name. |
model_id |
|
The ID of the LoggedModel or Registered Model Version associated with the metric, if applicable. |
run_id |
|
The ID of the run containing the metric. |
MetricAggregation
Field Name |
Type |
Description |
|---|---|---|
aggregation_type |
The type of aggregation to perform. |
|
percentile_value |
|
The percentile value to compute (0-100), required when aggregation_type is PERCENTILE. Examples: 50 (median), 75, 90, 95, 99. This field is ignored for other aggregation types. |
MetricDataPoint
A single data point with dimension values and metric values.
Field Name |
Type |
Description |
|---|---|---|
metric_name |
|
Metric name, e.g. “latency” |
dimensions |
An array of DimensionsEntry |
Dimension values for this data point Keys correspond to dimensions e.g., {“status”: “OK”} |
values |
An array of ValuesEntry |
Metric values for this data point Keys are aggregation types e.g., {“AVG”: 150, “P99”: 234.5} |
MetricWithRunId
Field Name |
Type |
Description |
|---|---|---|
key |
|
Key identifying this metric. |
value |
|
Value associated with this metric. |
timestamp |
|
The timestamp at which this metric was recorded. |
step |
|
Step at which to log the metric. |
run_id |
|
The ID of the run containing the metric |
MlflowExperimentLocation
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
MLflow experiment ID which is the ACL container holding the trace. |
ModelInput
Represents a LoggedModel or Registered Model Version input to a Run.
Field Name |
Type |
Description |
|---|---|---|
model_id |
|
The unique identifier of the model. This field is required. |
ModelMetric
Metric associated with a model, represented as a key-value pair. Copied from MLflow metric
Field Name |
Type |
Description |
|---|---|---|
key |
|
Key identifying this metric. |
value |
|
Value associated with this metric. |
timestamp |
|
The timestamp at which this metric was recorded. |
step |
|
Step at which to log the metric. |
dataset_name |
|
The name of the dataset associated with the metric. E.g. “my.uc.table@2” “nyc-taxi-dataset”, “fantastic-elk-3” |
dataset_digest |
|
Dataset digest of the dataset associated with the metric, e.g. an md5 hash of the dataset that uniquely identifies it within datasets of the same name. |
model_id |
|
The ID of the LoggedModel or Registered Model Version associated with the metric |
run_id |
|
The ID of the run containing the metric. |
ModelOutput
Represents a LoggedModel output of a Run.
Field Name |
Type |
Description |
|---|---|---|
model_id |
|
The unique identifier of the model. This field is required. |
step |
|
Step at which the model was produced. This field is required. |
ModelParam
Param for a model version.
Field Name |
Type |
Description |
|---|---|---|
name |
|
Name of the param. |
value |
|
Value of the param associated with the name, could be empty |
ModelVersion
Field Name |
Type |
Description |
|---|---|---|
name |
|
Unique name of the model |
version |
|
Model’s version number. |
creation_timestamp |
|
Timestamp recorded when this |
last_updated_timestamp |
|
Timestamp recorded when metadata for this |
user_id |
|
User that created this |
current_stage |
|
Current stage for this |
description |
|
Description of this |
source |
|
URI indicating the location of the source model artifacts, used when creating |
run_id |
|
MLflow run ID used when creating |
status |
Current status of |
|
status_message |
|
Details on current |
tags |
An array of ModelVersionTag |
Tags: Additional metadata key-value pairs for this |
run_link |
|
Run Link: Direct link to the run that generated this version. This field is set at model version creation time only for model versions whose source run is from a tracking server that is different from the registry server. |
aliases |
An array of |
Aliases pointing to this |
model_id |
|
Optional model_id for model version that is used to link the registered model to the source logged model |
model_params |
An array of ModelParam |
Optional parameters for the model. |
model_metrics |
An array of ModelMetric |
Optional metrics for the model. |
deployment_job_state |
Deployment job state for this model version. |
ModelVersionDeploymentJobState
Field Name |
Type |
Description |
|---|---|---|
job_id |
|
|
run_id |
|
|
job_state |
||
run_state |
||
current_task_name |
|
ModelVersionTag
Tag for a model version.
Field Name |
Type |
Description |
|---|---|---|
key |
|
The tag key. |
value |
|
The tag value. |
MultipartUploadCredential
Field Name |
Type |
Description |
|---|---|---|
url |
|
|
part_number |
|
|
headers |
An array of HeadersEntry |
OrderBy
Field Name |
Type |
Description |
|---|---|---|
field_name |
|
Name of the field to order by, e.g. “metrics.accuracy”. This field is required. |
ascending |
|
Whether the order is ascending or not. |
dataset_name |
|
If |
dataset_digest |
|
If |
Param
Param associated with a run.
Field Name |
Type |
Description |
|---|---|---|
key |
|
Key identifying this param. |
value |
|
Value associated with this param. |
PromptOptimizationJob
Represents a prompt optimization job entity.
Field Name |
Type |
Description |
|---|---|---|
job_id |
|
Unique identifier for the optimization job. Used to poll job execution status (pending/running/completed/failed). |
run_id |
|
MLflow run ID where optimization metrics and results are stored. Use this to view results in MLflow UI. Only available after job starts running. |
state |
Current state of the job (status + error message + metadata). |
|
experiment_id |
|
ID of the MLflow experiment where this optimization job is tracked. |
source_prompt_uri |
|
URI of the source prompt that optimization started from (e.g., “prompts:/my-prompt/1”). |
optimized_prompt_uri |
|
URI of the optimized prompt (e.g., “prompts:/my-prompt/2”). Only set if optimization completed successfully. |
config |
Configuration for the optimization job. |
|
creation_timestamp_ms |
|
Timestamp when the job was created (milliseconds since epoch). |
completion_timestamp_ms |
|
Timestamp when the job completed (milliseconds since epoch). Only set if status is COMPLETED, FAILED, or CANCELED. |
tags |
An array of PromptOptimizationJobTag |
Tags associated with this job. |
initial_eval_scores |
An array of InitialEvalScoresEntry |
Initial evaluation scores before optimization, keyed by scorer name. Example: {“Correctness”: 0.65, “Safety”: 0.80} |
final_eval_scores |
An array of FinalEvalScoresEntry |
Final evaluation scores after optimization, keyed by scorer name. Example: {“Correctness”: 0.89, “Safety”: 0.95} |
PromptOptimizationJobConfig
Configuration for a prompt optimization job. Stored as run parameters in the underlying MLflow run.
Field Name |
Type |
Description |
|---|---|---|
optimizer_type |
The optimizer type to use. |
|
dataset_id |
|
ID of the EvaluationDataset containing training data. |
scorers |
An array of |
List of scorer names. Can be built-in scorer class names (e.g., “Correctness”, “Safety”) or registered scorer names. |
optimizer_config_json |
|
JSON-serialized optimizer-specific configuration. Different optimizers accept different parameters: - GEPA: {“reflection_model”: “openai:/gpt-5”, “max_metric_calls”: 300} - MetaPrompt: {“reflection_model”: “openai:/gpt-5”, “guidelines”: “…”, “lm_kwargs”: {…}} |
PromptOptimizationJobTag
Tag for a prompt optimization job.
Field Name |
Type |
Description |
|---|---|---|
key |
|
|
value |
|
PromptVersionRef
Prompt version references to link to the trace. Each reference contains the prompt name and version.
Field Name |
Type |
Description |
|---|---|---|
name |
|
This field is required. |
version |
|
This field is required. |
QueryTraceMetrics
Query aggregated metrics for traces, spans, or assessments.
Field Name |
Type |
Description |
|---|---|---|
experiment_ids |
An array of |
Required: The experiment IDs to search traces. |
view_type |
Required: The level at which to aggregate metrics. |
|
metric_name |
|
Required: The name of the metric to query (e.g. “latency”). |
aggregations |
An array of MetricAggregation |
Required: The aggregations to apply. |
dimensions |
An array of |
Optional: Dimensions to group metrics by. (e.g. “name”, “status”) |
filters |
An array of |
Optional: Filter expressions to apply. (e.g. trace.status=”OK”) |
time_interval_seconds |
|
Optional: Time interval for grouping in seconds. When set, results automatically include a time dimension grouped by the specified interval. Examples: 60 (minute), 3600 (hour), 86400 (day), 604800 (week), 2592000 (month). |
start_time_ms |
|
Optional: Start of time range in milliseconds since epoch. Required if time_interval_seconds is set. |
end_time_ms |
|
Optional: End of time range in milliseconds since epoch. Required if time_interval_seconds is set. |
max_results |
|
Optional: Maximum number of data points to return. Default: 1000 |
page_token |
|
Optional: Pagination token for fetching the next page of results. |
RegisteredModel
Field Name |
Type |
Description |
|---|---|---|
name |
|
Unique name for the model. |
creation_timestamp |
|
Timestamp recorded when this |
last_updated_timestamp |
|
Timestamp recorded when metadata for this |
user_id |
|
User that created this |
description |
|
Description of this |
latest_versions |
An array of ModelVersion |
Collection of latest model versions for each stage. Only contains models with current |
tags |
An array of RegisteredModelTag |
Tags: Additional metadata key-value pairs for this |
aliases |
An array of RegisteredModelAlias |
Aliases pointing to model versions associated with this |
deployment_job_id |
|
Deployment job id for this model. |
deployment_job_state |
Deployment job state for this model. |
RegisteredModelAlias
Alias for a registered model
Field Name |
Type |
Description |
|---|---|---|
alias |
|
The name of the alias. |
version |
|
The model version number that the alias points to. |
RegisteredModelTag
Tag for a registered model
Field Name |
Type |
Description |
|---|---|---|
key |
|
The tag key. |
value |
|
The tag value. |
RemoveDatasetFromExperiments
Field Name |
Type |
Description |
|---|---|---|
dataset_id |
|
Dataset ID to remove from experiments This field is required. |
experiment_ids |
An array of |
Experiment IDs to disassociate from the dataset |
Response
Field Name |
Type |
Description |
|---|---|---|
metrics |
An array of MetricWithRunId |
List of metrics representing history of values and metadata. |
Response
Field Name |
Type |
Description |
|---|---|---|
traces |
An array of Trace |
The fetched trace information. |
Response
Field Name |
Type |
Description |
|---|---|---|
traces |
An array of TraceInfo |
Information about traces that match the search criteria. |
next_page_token |
|
Response
Field Name |
Type |
Description |
|---|---|---|
traces |
An array of TraceInfo |
Information about traces that match the search criteria. |
next_page_token |
|
Response
Field Name |
Type |
Description |
|---|---|---|
trace_data |
|
Return trace JSON in string form Note: we may change this to a TraceData object in the future |
Response
Field Name |
Type |
Description |
|---|---|---|
npmi |
|
Normalized Pointwise Mutual Information score (-1 to 1). |
npmi_smoothed |
|
Smoothed NPMI value with Jeffreys prior for robustness. |
filter1_count |
|
Number of traces matching the first filter. |
filter2_count |
|
Number of traces matching the second filter. |
joint_count |
|
Number of traces matching both filters. |
total_count |
|
Total number of traces in the experiments. |
Response
Field Name |
Type |
Description |
|---|---|---|
data_points |
An array of MetricDataPoint |
Data points grouped by dimensions. |
next_page_token |
|
Pagination token for fetching the next page. Empty if no more results are available. |
Response
Field Name |
Type |
Description |
|---|---|---|
dataset_summaries |
An array of DatasetSummary |
Return the summary for most recently created N datasets, as configured in backend |
Response
Field Name |
Type |
Description |
|---|---|---|
models |
An array of LoggedModel |
Logged Models that match the search criteria. |
next_page_token |
|
Token that can be used to retrieve the next page of Logged Models. |
Response
Field Name |
Type |
Description |
|---|---|---|
root_uri |
|
Root artifact directory for the logged model. |
files |
An array of FileInfo |
File location and metadata for artifacts. |
next_page_token |
|
Token that can be used to retrieve the next page of artifact results |
Response
Field Name |
Type |
Description |
|---|---|---|
traces |
An array of TraceInfoV3 |
Information about traces that match the search criteria. |
next_page_token |
|
Response
Field Name |
Type |
Description |
|---|---|---|
dataset |
The dataset (without records for lazy loading) |
|
next_page_token |
|
Next page token if more records exist |
Response
Field Name |
Type |
Description |
|---|---|---|
datasets |
An array of Dataset |
List of datasets (metadata only) |
next_page_token |
|
Next page token if more results exist |
Response
Field Name |
Type |
Description |
|---|---|---|
inserted_count |
|
Number of records inserted |
updated_count |
|
Number of records updated |
Response
Field Name |
Type |
Description |
|---|---|---|
experiment_ids |
An array of |
List of experiment IDs associated with the dataset |
Response
Field Name |
Type |
Description |
|---|---|---|
records |
|
Records in the dataset (JSON serialized list) |
next_page_token |
|
Pagination token for next page (if more records exist) |
Response
Field Name |
Type |
Description |
|---|---|---|
dataset |
The updated dataset after removing experiment associations |
Response
Field Name |
Type |
Description |
|---|---|---|
secrets_available |
|
Whether the server is configured to handle secrets (encryption available) |
Response
Field Name |
Type |
Description |
|---|---|---|
workspaces |
An array of Workspace |
Collection of workspace records. |
Run
A single run.
Field Name |
Type |
Description |
|---|---|---|
info |
Run metadata. |
|
data |
Run data. |
|
inputs |
Run inputs. |
|
outputs |
Run outputs. |
RunData
Run data (metrics, params, and tags).
Field Name |
Type |
Description |
|---|---|---|
metrics |
An array of Metric |
Run metrics. |
params |
An array of Param |
Run parameters. |
tags |
An array of RunTag |
Additional metadata key-value pairs. |
RunInfo
Metadata of a single run.
Field Name |
Type |
Description |
|---|---|---|
run_id |
|
Unique identifier for the run. |
run_uuid |
|
[Deprecated, use run_id instead] Unique identifier for the run. This field will be removed in a future MLflow version. |
run_name |
|
The name of the run. |
experiment_id |
|
The experiment ID. |
user_id |
|
User who initiated the run. This field is deprecated as of MLflow 1.0, and will be removed in a future MLflow release. Use ‘mlflow.user’ tag instead. |
status |
Current status of the run. |
|
start_time |
|
Unix timestamp of when the run started in milliseconds. |
end_time |
|
Unix timestamp of when the run ended in milliseconds. |
artifact_uri |
|
URI of the directory where artifacts should be uploaded. This can be a local path (starting with “/”), or a distributed file system (DFS) path, like
|
lifecycle_stage |
|
Current life cycle stage of the experiment : OneOf(“active”, “deleted”) |
RunInputs
Run inputs.
Field Name |
Type |
Description |
|---|---|---|
dataset_inputs |
An array of DatasetInput |
Dataset inputs to the Run. |
model_inputs |
An array of ModelInput |
Model inputs to the Run. |
RunOutputs
Outputs of a Run.
Field Name |
Type |
Description |
|---|---|---|
model_outputs |
An array of ModelOutput |
Model outputs of the Run. |
RunTag
Tag for a run.
Field Name |
Type |
Description |
|---|---|---|
key |
|
The tag key. |
value |
|
The tag value. |
Scorer
Scorer entity representing a scorer in the database.
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
The experiment ID. |
scorer_name |
|
The scorer name. |
scorer_version |
|
The scorer version. |
serialized_scorer |
|
The serialized scorer string. |
creation_time |
|
The creation time of the scorer version (in milliseconds since epoch). |
scorer_id |
|
The unique identifier for the scorer. |
SearchDatasets
Field Name |
Type |
Description |
|---|---|---|
experiment_ids |
An array of |
List of experiment IDs to search over. |
SearchEvaluationDatasets
Field Name |
Type |
Description |
|---|---|---|
experiment_ids |
An array of |
Associated experiment IDs to filter by |
filter_string |
|
Filter string for dataset names |
max_results |
|
Maximum number of results |
order_by |
An array of |
Ordering criteria |
page_token |
|
Page token for pagination |
SearchLoggedModels
Field Name |
Type |
Description |
|---|---|---|
experiment_ids |
An array of |
IDs of the Experiments in which to search for Logged Models. |
filter |
|
A filter expression over Logged Model info and data that allows returning a subset of Logged Models. The syntax is a subset of
SQL that supports ANDing together binary operations Example: |
datasets |
An array of Dataset |
List of datasets on which to apply the metrics filter clauses. For example, a filter with metrics.accuracy > 0.9 and dataset info with name “test_dataset” means we will return all logged models with accuracy > 0.9 on the test_dataset. Metric values from ANY dataset matching the criteria are considered. If no datasets are specified, then metrics across all datasets are considered in the filter. |
max_results |
|
Maximum number of Logged Models to return. Max threshold is 50. |
order_by |
An array of OrderBy |
List of columns for ordering the results, with additional fields for sorting criteria. |
page_token |
|
Token indicating the page of Logged Models to fetch. |
SearchTraces
Field Name |
Type |
Description |
|---|---|---|
experiment_ids |
An array of |
List of experiment IDs to search over. |
filter |
|
A filter expression over trace attributes and tags that allows returning a subset of traces. The syntax is a subset of SQL that supports ANDing together
binary operations Example: |
max_results |
|
Maximum number of traces desired. Max threshold is 500. |
order_by |
An array of |
List of columns for ordering the results, e.g. |
page_token |
|
Token indicating the page of traces to fetch. |
SearchTracesV3
Field Name |
Type |
Description |
|---|---|---|
locations |
An array of TraceLocation |
A list of MLflow experiments to search over. |
filter |
|
A filter expression over trace attributes and tags that allows returning a subset of traces. The syntax is a subset of SQL that supports
ANDing together binary operations Example: |
max_results |
|
Maximum number of traces desired. Max threshold is 500. |
order_by |
An array of |
List of columns for ordering the results, e.g. |
page_token |
|
Token indicating the page of traces to fetch. |
SearchUnifiedTraces
Field Name |
Type |
Description |
|---|---|---|
model_id |
|
This field is required. |
sql_warehouse_id |
|
This field is required. |
experiment_ids |
An array of |
TODO: Eventually we want to provide an API that only uses model_id |
filter |
|
A filter expression over trace attributes and tags that allows returning a subset of traces. The syntax is a subset of SQL that supports ANDing together
binary operations Example: |
max_results |
|
Maximum number of traces desired. Max threshold is 500. |
order_by |
An array of |
List of columns for ordering the results, e.g. |
page_token |
|
Token indicating the page of traces to fetch. This is a unified token that encodes both online and offline traces tokens. |
SerializedValue
Field Name |
Type |
Description |
|---|---|---|
serialization_format |
|
Marks the serialization format for the expectation value. This is a contract specific to the client. The service will not attempt to deserialize the value or validate the format. An example format is “JSON_FORMAT”. |
value |
|
The value of the expectation-based assessment serialized as a string in the format defined by |
SetDatasetTags
Field Name |
Type |
Description |
|---|---|---|
dataset_id |
|
Dataset ID to update tags for This field is required. |
tags |
|
Tags to update (JSON string). This field is required. |
SetLoggedModelTags
Field Name |
Type |
Description |
|---|---|---|
model_id |
|
The ID of the LoggedModel to set the tag on. This field is required. |
tags |
An array of LoggedModelTag |
The tag key. |
SetTraceTag
Field Name |
Type |
Description |
|---|---|---|
request_id |
|
ID of the trace on which to set a tag. |
key |
|
Name of the tag. Maximum size depends on storage backend. All storage backends are guaranteed to support key values up to 250 bytes in size. |
value |
|
String value of the tag being logged. Maximum size depends on storage backend. All storage backends are guaranteed to support key values up to 250 bytes in size. |
SetTraceTagV3
Field Name |
Type |
Description |
|---|---|---|
trace_id |
|
ID of the trace on which to set a tag. |
key |
|
Name of the tag. Maximum size depends on storage backend. All storage backends are guaranteed to support key values up to 250 bytes in size. |
value |
|
String value of the tag being logged. Maximum size depends on storage backend. All storage backends are guaranteed to support key values up to 250 bytes in size. |
StartTrace
Field Name |
Type |
Description |
|---|---|---|
experiment_id |
|
ID of the associated experiment. |
timestamp_ms |
|
Unix timestamp of when the trace started in milliseconds. |
request_metadata |
An array of TraceRequestMetadata |
Metadata about the request that initiated the trace. |
tags |
An array of TraceTag |
Tags for the trace. |
StartTraceV3
Field Name |
Type |
Description |
|---|---|---|
trace |
The information for the trace being created. This field is required. |
TraceInfo
TraceInfo. Represents metadata of a trace.
Field Name |
Type |
Description |
|---|---|---|
request_id |
|
Unique identifier for the trace. |
experiment_id |
|
The ID of the experiment that contains the trace. |
timestamp_ms |
|
Unix timestamp of when the trace started in milliseconds. |
execution_time_ms |
|
Unix timestamp of the duration of the trace in milliseconds. |
status |
Overall status of the operation being traced (OK, error, etc.). |
|
request_metadata |
An array of TraceRequestMetadata |
Other trace metadata. |
tags |
An array of TraceTag |
Tags for the trace. |
TraceInfoV3
Field Name |
Type |
Description |
|---|---|---|
trace_id |
|
The primary key associated with the trace |
client_request_id |
|
Client supplied request ID associated with the trace. This could be used to identify the trace/request from an external system that produced the trace. |
trace_location |
||
request |
|
[Deprecated, please use request_preview instead.] Request to the model/agent. Equivalent to the input of the root span but added for ease of access. Represented as a JSON string. |
response |
|
[Deprecated, please use request_preview instead.] Response of the model/agent. Equivalent to the output of the root span but added for ease of access. Represented as a JSON string. |
request_preview |
|
A preview of the request to the model/agent represented as a JSON string. This is equivalent to the input of the root span. This preview value is truncated to 10KB while the full request is stored in the trace data in blob storage. |
response_preview |
|
A preview of the request to the model/agent represented as a JSON string. This is equivalent to the output of the root span. This preview value is truncated to 10KB while the full response is stored in the trace data in blob storage. |
request_time |
|
Start time of the trace |
execution_duration |
|
Execution time of the trace |
state |
||
trace_metadata |
An array of TraceMetadataEntry |
Metadata associated with the trace. Examples include: - run_id: The ID of the mlflow Run (i.e. evaluation job) that produced the trace. May not be applicable in certain situations such as if the trace was created via interactive vibe checks) - model_id: The ID of the associated model that produced the trace. - dataset_id: The ID of the mlflow Dataset (usually used together with dataset_record_id) - dataset_record_id: The ID of the mlflow Dataset (usually used together with dataset_record_id) - session_id: The ID of the session (e.g. chat conversation) where the request came from |
assessments |
An array of Assessment |
|
tags |
An array of TagsEntry |
Mutable, user-defined tags for the trace, e.g. “question_topic”: “DBSQL” |
TraceLocation
The location where the traces was stored and produced
Field Name |
Type |
Description |
|---|---|---|
type |
||
|
If |
TraceRequestMetadata
Field Name |
Type |
Description |
|---|---|---|
key |
|
Key identifying this metadata. |
value |
|
Value identifying this metadata. |
TraceTag
Field Name |
Type |
Description |
|---|---|---|
key |
|
Key identifying this trace tag. |
value |
|
Value associated with this trace tag. |
UpdateAssessment
A request to update an existing assessment.
Field Name |
Type |
Description |
|---|---|---|
assessment |
The Assessment containing the fields which should be updated. This field is required. |
|
update_mask |
|
The list of the assessment fields to update. These should correspond to the values (or lack thereof) present in assessment. This field is required. |
UpdateWorkspace
Update workspace metadata.
Field Name |
Type |
Description |
|---|---|---|
workspace_name |
|
Name of the workspace to update. This field is required. |
description |
|
Optional description update. |
default_artifact_root |
|
Optional default artifact root override update. |
UpsertDatasetRecords
Field Name |
Type |
Description |
|---|---|---|
dataset_id |
|
Dataset ID to upsert records for This field is required. |
records |
|
Records to upsert (JSON serialized list of record dictionaries) This field is required. |
updated_by |
|
User performing the update |
Webhook
Webhook entity
Field Name |
Type |
Description |
|---|---|---|
webhook_id |
|
Unique identifier for the webhook |
name |
|
Name of the webhook |
description |
|
Optional description for the webhook |
url |
|
URL to send webhook events to |
events |
An array of WebhookEvent |
List of events this webhook is subscribed to |
status |
Current status of the webhook |
|
creation_timestamp |
|
Timestamp when webhook was created |
last_updated_timestamp |
|
Timestamp when webhook was last updated |
WebhookEvent
Webhook event definition
Field Name |
Type |
Description |
|---|---|---|
entity |
Entity type (required) This field is required. |
|
action |
Action type (required) This field is required. |
WebhookTestResult
Test webhook result
Field Name |
Type |
Description |
|---|---|---|
success |
|
Whether the test succeeded |
response_status |
|
HTTP response status code if available |
response_body |
|
Response body if available |
error_message |
|
Error message if test failed |
Workspace
Workspace metadata returned by workspace APIs.
Field Name |
Type |
Description |
|---|---|---|
name |
|
The unique workspace name. This field is required. |
description |
|
Optional workspace description. |
default_artifact_root |
|
Optional default artifact root override for this workspace. |
AggregationType
Aggregation type for metrics.
Name |
Description |
|---|---|
COUNT |
Count of entities. |
SUM |
Sum of values. |
AVG |
Average of values. |
PERCENTILE |
Percentile aggregation (requires percentile_value parameter). |
MIN |
Minimum value. |
MAX |
Maximum value. |
DeploymentJobRunState
Name |
Description |
|---|---|
DEPLOYMENT_JOB_RUN_STATE_UNSPECIFIED |
|
NO_VALID_DEPLOYMENT_JOB_FOUND |
|
RUNNING |
|
SUCCEEDED |
|
FAILED |
|
PENDING |
|
APPROVAL |
FallbackStrategy
Fallback strategy for routing (future-proof for additional strategies)
Name |
Description |
|---|---|
FALLBACK_STRATEGY_UNSPECIFIED |
|
SEQUENTIAL |
Sequential fallback: tries models in the order specified |
GatewayModelLinkageType
Type of linkage between endpoint and model definition
Name |
Description |
|---|---|
LINKAGE_TYPE_UNSPECIFIED |
|
PRIMARY |
Primary linkage: used for routing traffic |
FALLBACK |
Fallback linkage: used for failover |
JobStatus
Generic status enum for MLflow jobs. Can be used across different job types (optimization, scorer, etc.).
Name |
Description |
|---|---|
JOB_STATUS_UNSPECIFIED |
|
JOB_STATUS_PENDING |
Job is queued, waiting to start. |
JOB_STATUS_IN_PROGRESS |
Job is currently running. |
JOB_STATUS_COMPLETED |
Job completed successfully. |
JOB_STATUS_FAILED |
Job failed with an error. |
JOB_STATUS_CANCELED |
Job was canceled by user. |
LoggedModelStatus
A LoggedModelStatus enum value represents the status of a logged model.
Name |
Description |
|---|---|
LOGGED_MODEL_STATUS_UNSPECIFIED |
|
LOGGED_MODEL_PENDING |
The LoggedModel has been created, but the LoggedModel files are not completely uploaded. |
LOGGED_MODEL_READY |
The LoggedModel is created, and the LoggedModel files are completely uploaded. |
LOGGED_MODEL_UPLOAD_FAILED |
The LoggedModel is created, but an error occurred when uploading the LoggedModel files such as model weights / agent code. |
MetricViewType
View type for metrics aggregation.
Name |
Description |
|---|---|
TRACES |
Aggregate at trace level. |
SPANS |
Aggregate at span level. |
ASSESSMENTS |
Aggregate at assessment level. |
ModelVersionStatus
Name |
Description |
|---|---|
PENDING_REGISTRATION |
Request to register a new model version is pending as server performs background tasks. |
FAILED_REGISTRATION |
Request to register a new model version has failed. |
READY |
Model version is ready for use. |
OptimizerType
Type of optimizer algorithm to use.
Name |
Description |
|---|---|
OPTIMIZER_TYPE_UNSPECIFIED |
|
OPTIMIZER_TYPE_GEPA |
GEPA (Genetic Pareto) optimizer (https://github.com/gepa-ai/gepa) |
OPTIMIZER_TYPE_METAPROMPT |
MetaPrompt optimizer - uses metaprompting with LLMs to improve prompts in a single pass. |
RoutingStrategy
Routing strategy for endpoints
Name |
Description |
|---|---|
ROUTING_STRATEGY_UNSPECIFIED |
|
REQUEST_BASED_TRAFFIC_SPLIT |
Request-based traffic split: distributes traffic based on weights |
RunStatus
Status of a run.
Name |
Description |
|---|---|
RUNNING |
Run has been initiated. |
SCHEDULED |
Run is scheduled to run at a later time. |
FINISHED |
Run has completed. |
FAILED |
Run execution failed. |
KILLED |
Run killed by user. |
SourceType
Source that generated a run.
Name |
Description |
|---|---|
NOTEBOOK |
Databricks notebook environment. |
JOB |
Scheduled or Run Now job. |
PROJECT |
As a prepackaged project: either a Docker image or GitHub source, etc. |
LOCAL |
Local run: Using CLI, IDE, or local notebook. |
UNKNOWN |
Unknown source type. |
SourceType
Type of the assessment source.
Name |
Description |
|---|---|
SOURCE_TYPE_UNSPECIFIED |
|
HUMAN |
Assessment from a human. |
LLM_JUDGE |
Assessment from an LLM Judge. |
CODE |
Code-based assessment, (e.g. Python UDF). |
SourceType
Type of the dataset record source.
Name |
Description |
|---|---|
SOURCE_TYPE_UNSPECIFIED |
|
TRACE |
Record from a trace/span. |
HUMAN |
Record from human annotation. |
DOCUMENT |
Record from a document. |
CODE |
Record from code/computation. |
State
Execution state of the trace at the time that it was logged.
Name |
Description |
|---|---|
STATE_UNSPECIFIED |
|
OK |
The operation being traced was successful. |
ERROR |
The operation being traced failed. |
IN_PROGRESS |
The operation being traced is still in progress. This is useful for incremental/distributed tracing logging in contrast with when the full trace is logged only upon its completion. |
State
Name |
Description |
|---|---|
DEPLOYMENT_JOB_CONNECTION_STATE_UNSPECIFIED |
|
NOT_SET_UP |
default state |
CONNECTED |
connected job: job exists, owner has ACLs, and required job parameters are present |
NOT_FOUND |
job was deleted OR owner had job ACLs removed |
REQUIRED_PARAMETERS_CHANGED |
required job parameters were changed |
TraceLocationType
Name |
Description |
|---|---|
TRACE_LOCATION_TYPE_UNSPECIFIED |
|
MLFLOW_EXPERIMENT |
|
INFERENCE_TABLE |
TraceStatus
Name |
Description |
|---|---|
TRACE_STATUS_UNSPECIFIED |
|
OK |
The operation being traced was successful. |
ERROR |
The operation being traced failed. |
IN_PROGRESS |
The operation being traced is still in progress. |
ViewType
View type for ListExperiments query.
Name |
Description |
|---|---|
ACTIVE_ONLY |
Default. Return only active experiments. |
DELETED_ONLY |
Return only deleted experiments. |
ALL |
Get all experiments. |