GET /v1/mlmodels
from metadata.sdk import configure
from metadata.sdk.entities import MLModels
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# List first page
models = MLModels.list(limit=50)
for m in models.data:
print(f"{m.fullyQualifiedName} ({m.algorithm})")
# List all with auto-pagination
for m in MLModels.list_all():
print(f"{m.fullyQualifiedName}")
# Filter by service
models = MLModels.list(
service="mlflow_svc",
fields=["owners", "tags", "domains"],
limit=50
)
for m in models.data:
print(f"{m.fullyQualifiedName}")
if m.owners:
print(f" Owners: {[o.name for o in m.owners]}")
if m.tags:
print(f" Tags: {[t.tagFQN for t in m.tags]}")
import static org.openmetadata.sdk.fluent.MlModels.*;
// List first page
var result = MlModels.list()
.limit(50)
.execute();
for (var m : result.getData()) {
System.out.println(m.getFullyQualifiedName());
}
// Filter by service with fields
var result = MlModels.list()
.service("mlflow_svc")
.fields("owners", "tags", "domains")
.limit(50)
.execute();
for (var m : result.getData()) {
System.out.println(m.getFullyQualifiedName());
}
# List all
curl "{base_url}/api/v1/mlmodels?limit=50" \
-H "Authorization: Bearer {access_token}"
# Filter by service
curl "{base_url}/api/v1/mlmodels?service=mlflow_svc&limit=50" \
-H "Authorization: Bearer {access_token}"
# With fields
curl "{base_url}/api/v1/mlmodels?service=mlflow_svc&fields=owners,tags,domains&limit=50" \
-H "Authorization: Bearer {access_token}"
{
"data": [
{
"id": "6b04e1d8-b66d-4f78-ab21-beb5be2cf4f2",
"name": "customer_segmentation",
"fullyQualifiedName": "mlflow_svc.customer_segmentation",
"displayName": "Customer Segmentation Model",
"algorithm": "KMeans",
"version": 0.1,
"updatedAt": 1769982669247,
"updatedBy": "admin",
"service": {
"id": "ca22d46e-81b9-4e48-85b5-0adc44980da9",
"type": "mlmodelService",
"name": "mlflow_svc",
"fullyQualifiedName": "mlflow_svc",
"deleted": false
},
"serviceType": "Mlflow",
"href": "http://localhost:8585/api/v1/mlmodels/6b04e1d8-b66d-4f78-ab21-beb5be2cf4f2",
"deleted": false,
"owners": [],
"tags": [],
"followers": [],
"votes": {
"upVotes": 0,
"downVotes": 0
},
"domains": []
}
],
"paging": {
"after": "...",
"total": 5
}
}
List ML Models
List all ML models with optional filtering and pagination
GET
/
v1
/
mlmodels
GET /v1/mlmodels
from metadata.sdk import configure
from metadata.sdk.entities import MLModels
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# List first page
models = MLModels.list(limit=50)
for m in models.data:
print(f"{m.fullyQualifiedName} ({m.algorithm})")
# List all with auto-pagination
for m in MLModels.list_all():
print(f"{m.fullyQualifiedName}")
# Filter by service
models = MLModels.list(
service="mlflow_svc",
fields=["owners", "tags", "domains"],
limit=50
)
for m in models.data:
print(f"{m.fullyQualifiedName}")
if m.owners:
print(f" Owners: {[o.name for o in m.owners]}")
if m.tags:
print(f" Tags: {[t.tagFQN for t in m.tags]}")
import static org.openmetadata.sdk.fluent.MlModels.*;
// List first page
var result = MlModels.list()
.limit(50)
.execute();
for (var m : result.getData()) {
System.out.println(m.getFullyQualifiedName());
}
// Filter by service with fields
var result = MlModels.list()
.service("mlflow_svc")
.fields("owners", "tags", "domains")
.limit(50)
.execute();
for (var m : result.getData()) {
System.out.println(m.getFullyQualifiedName());
}
# List all
curl "{base_url}/api/v1/mlmodels?limit=50" \
-H "Authorization: Bearer {access_token}"
# Filter by service
curl "{base_url}/api/v1/mlmodels?service=mlflow_svc&limit=50" \
-H "Authorization: Bearer {access_token}"
# With fields
curl "{base_url}/api/v1/mlmodels?service=mlflow_svc&fields=owners,tags,domains&limit=50" \
-H "Authorization: Bearer {access_token}"
{
"data": [
{
"id": "6b04e1d8-b66d-4f78-ab21-beb5be2cf4f2",
"name": "customer_segmentation",
"fullyQualifiedName": "mlflow_svc.customer_segmentation",
"displayName": "Customer Segmentation Model",
"algorithm": "KMeans",
"version": 0.1,
"updatedAt": 1769982669247,
"updatedBy": "admin",
"service": {
"id": "ca22d46e-81b9-4e48-85b5-0adc44980da9",
"type": "mlmodelService",
"name": "mlflow_svc",
"fullyQualifiedName": "mlflow_svc",
"deleted": false
},
"serviceType": "Mlflow",
"href": "http://localhost:8585/api/v1/mlmodels/6b04e1d8-b66d-4f78-ab21-beb5be2cf4f2",
"deleted": false,
"owners": [],
"tags": [],
"followers": [],
"votes": {
"upVotes": 0,
"downVotes": 0
},
"domains": []
}
],
"paging": {
"after": "...",
"total": 5
}
}
List ML Models
List all ML models with optional filtering and pagination.Query Parameters
Filter by ML model service fully qualified name.
Maximum number of results to return (max: 1000000).
Cursor for backward pagination.
Cursor for forward pagination.
Comma-separated list of fields to include:
owners, tags, followers, votes, extension, domains, sourceHash. See Supported Fields below.Include
all, deleted, or non-deleted entities.GET /v1/mlmodels
from metadata.sdk import configure
from metadata.sdk.entities import MLModels
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# List first page
models = MLModels.list(limit=50)
for m in models.data:
print(f"{m.fullyQualifiedName} ({m.algorithm})")
# List all with auto-pagination
for m in MLModels.list_all():
print(f"{m.fullyQualifiedName}")
# Filter by service
models = MLModels.list(
service="mlflow_svc",
fields=["owners", "tags", "domains"],
limit=50
)
for m in models.data:
print(f"{m.fullyQualifiedName}")
if m.owners:
print(f" Owners: {[o.name for o in m.owners]}")
if m.tags:
print(f" Tags: {[t.tagFQN for t in m.tags]}")
import static org.openmetadata.sdk.fluent.MlModels.*;
// List first page
var result = MlModels.list()
.limit(50)
.execute();
for (var m : result.getData()) {
System.out.println(m.getFullyQualifiedName());
}
// Filter by service with fields
var result = MlModels.list()
.service("mlflow_svc")
.fields("owners", "tags", "domains")
.limit(50)
.execute();
for (var m : result.getData()) {
System.out.println(m.getFullyQualifiedName());
}
# List all
curl "{base_url}/api/v1/mlmodels?limit=50" \
-H "Authorization: Bearer {access_token}"
# Filter by service
curl "{base_url}/api/v1/mlmodels?service=mlflow_svc&limit=50" \
-H "Authorization: Bearer {access_token}"
# With fields
curl "{base_url}/api/v1/mlmodels?service=mlflow_svc&fields=owners,tags,domains&limit=50" \
-H "Authorization: Bearer {access_token}"
{
"data": [
{
"id": "6b04e1d8-b66d-4f78-ab21-beb5be2cf4f2",
"name": "customer_segmentation",
"fullyQualifiedName": "mlflow_svc.customer_segmentation",
"displayName": "Customer Segmentation Model",
"algorithm": "KMeans",
"version": 0.1,
"updatedAt": 1769982669247,
"updatedBy": "admin",
"service": {
"id": "ca22d46e-81b9-4e48-85b5-0adc44980da9",
"type": "mlmodelService",
"name": "mlflow_svc",
"fullyQualifiedName": "mlflow_svc",
"deleted": false
},
"serviceType": "Mlflow",
"href": "http://localhost:8585/api/v1/mlmodels/6b04e1d8-b66d-4f78-ab21-beb5be2cf4f2",
"deleted": false,
"owners": [],
"tags": [],
"followers": [],
"votes": {
"upVotes": 0,
"downVotes": 0
},
"domains": []
}
],
"paging": {
"after": "...",
"total": 5
}
}
Returns
Returns a paginated list of ML model objects. By default, only basic fields are included. Use thefields parameter to request additional data.
Response
Array of ML model objects.
Show properties
Show properties
Unique identifier for the ML model (UUID format).
ML model name.
Fully qualified name in format
service.modelName.Human-readable display name.
Algorithm used by the ML model.
Reference to the parent ML model service.
Type of ML model service (e.g., Mlflow, Sklearn, SageMaker).
List of owners assigned to the ML model. Only included when
fields contains owners.Classification tags applied. Only included when
fields contains tags.Domain assignments for governance. Only included when
fields contains domains.Users following this ML model. Only included when
fields contains followers.User votes and ratings. Only included when
fields contains votes.Custom properties. Only included when
fields contains extension.Supported Fields
The following fields can be requested via thefields query parameter:
| Field | Description |
|---|---|
owners | Owner references (users and teams) |
tags | Classification tags |
followers | Users following the ML model |
votes | User votes and ratings |
extension | Custom property values |
domains | Domain assignments for governance |
sourceHash | Hash for change detection |
Error Handling
| Code | Error Type | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission to list ML models |
Was this page helpful?
⌘I