GET /v1/services/mlmodelServices
from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import (
AuthProvider,
OpenMetadataConnection,
)
from metadata.generated.schema.security.client.openMetadataJWTClientConfig import (
OpenMetadataJWTClientConfig,
)
from metadata.ingestion.ometa.ometa_api import OpenMetadata
from metadata.generated.schema.entity.services.mlmodelService import MlModelService
metadata = OpenMetadata(
OpenMetadataConnection(
hostPort="https://your-company.open-metadata.org/api",
authProvider=AuthProvider.openmetadata,
securityConfig=OpenMetadataJWTClientConfig(jwtToken="your-jwt-token"),
)
)
# List first page
services = metadata.list_entities(entity=MlModelService, limit=50)
for svc in services.entities:
print(f"{svc.fullyQualifiedName.root} ({svc.serviceType.value})")
# List all with auto-pagination
for svc in metadata.list_all_entities(entity=MlModelService):
print(f"{svc.fullyQualifiedName.root}")
# List with fields
services = metadata.list_entities(
entity=MlModelService,
fields=["owners", "tags", "domains"],
limit=50
)
for svc in services.entities:
print(f"{svc.fullyQualifiedName.root}")
if svc.owners:
print(f" Owners: {[o.name for o in svc.owners.root]}")
import org.openmetadata.schema.entity.services.MlModelService;
import org.openmetadata.sdk.models.ListParams;
import org.openmetadata.sdk.models.ListResponse;
// client is an initialized OpenMetadataClient.
// List first page
ListResponse<MlModelService> firstPage = client.mlModelServices().list(new ListParams().setLimit(50));
for (MlModelService service : firstPage.getData()) {
System.out.println(service.getFullyQualifiedName());
}
// With fields
ListResponse<MlModelService> withFields = client.mlModelServices().list(
new ListParams().setFields("owners,tags,domains").setLimit(50)
);
# List all
curl "{base_url}/api/v1/services/mlmodelServices?limit=50" \
-H "Authorization: Bearer {access_token}"
# With fields
curl "{base_url}/api/v1/services/mlmodelServices?fields=owners,tags,domains&limit=50" \
-H "Authorization: Bearer {access_token}"
{
"data": [
{
"id": "ca22d46e-81b9-4e48-85b5-0adc44980da9",
"name": "mlflow_svc",
"fullyQualifiedName": "mlflow_svc",
"serviceType": "Mlflow",
"version": 0.1,
"updatedAt": 1769982621618,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9",
"connection": {
"config": {
"type": "Mlflow",
"trackingUri": "http://localhost:8088",
"registryUri": "http://localhost:8088",
"supportsMetadataExtraction": true
}
},
"owners": [],
"tags": [],
"deleted": false,
"domains": []
}
],
"paging": {
"after": "...",
"total": 3
}
}
List ML Model Services
List all ML model services with optional filtering and pagination
GET
/
v1
/
services
/
mlmodelServices
GET /v1/services/mlmodelServices
from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import (
AuthProvider,
OpenMetadataConnection,
)
from metadata.generated.schema.security.client.openMetadataJWTClientConfig import (
OpenMetadataJWTClientConfig,
)
from metadata.ingestion.ometa.ometa_api import OpenMetadata
from metadata.generated.schema.entity.services.mlmodelService import MlModelService
metadata = OpenMetadata(
OpenMetadataConnection(
hostPort="https://your-company.open-metadata.org/api",
authProvider=AuthProvider.openmetadata,
securityConfig=OpenMetadataJWTClientConfig(jwtToken="your-jwt-token"),
)
)
# List first page
services = metadata.list_entities(entity=MlModelService, limit=50)
for svc in services.entities:
print(f"{svc.fullyQualifiedName.root} ({svc.serviceType.value})")
# List all with auto-pagination
for svc in metadata.list_all_entities(entity=MlModelService):
print(f"{svc.fullyQualifiedName.root}")
# List with fields
services = metadata.list_entities(
entity=MlModelService,
fields=["owners", "tags", "domains"],
limit=50
)
for svc in services.entities:
print(f"{svc.fullyQualifiedName.root}")
if svc.owners:
print(f" Owners: {[o.name for o in svc.owners.root]}")
import org.openmetadata.schema.entity.services.MlModelService;
import org.openmetadata.sdk.models.ListParams;
import org.openmetadata.sdk.models.ListResponse;
// client is an initialized OpenMetadataClient.
// List first page
ListResponse<MlModelService> firstPage = client.mlModelServices().list(new ListParams().setLimit(50));
for (MlModelService service : firstPage.getData()) {
System.out.println(service.getFullyQualifiedName());
}
// With fields
ListResponse<MlModelService> withFields = client.mlModelServices().list(
new ListParams().setFields("owners,tags,domains").setLimit(50)
);
# List all
curl "{base_url}/api/v1/services/mlmodelServices?limit=50" \
-H "Authorization: Bearer {access_token}"
# With fields
curl "{base_url}/api/v1/services/mlmodelServices?fields=owners,tags,domains&limit=50" \
-H "Authorization: Bearer {access_token}"
{
"data": [
{
"id": "ca22d46e-81b9-4e48-85b5-0adc44980da9",
"name": "mlflow_svc",
"fullyQualifiedName": "mlflow_svc",
"serviceType": "Mlflow",
"version": 0.1,
"updatedAt": 1769982621618,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9",
"connection": {
"config": {
"type": "Mlflow",
"trackingUri": "http://localhost:8088",
"registryUri": "http://localhost:8088",
"supportsMetadataExtraction": true
}
},
"owners": [],
"tags": [],
"deleted": false,
"domains": []
}
],
"paging": {
"after": "...",
"total": 3
}
}
List ML Model Services
List all ML model services with optional filtering and pagination.Query Parameters
integer
default:"10"
Maximum number of results to return (max: 1000000).
string
Cursor for backward pagination.
string
Cursor for forward pagination.
string
Comma-separated list of fields to include:
owners, tags, domains.string
default:"non-deleted"
Include
all, deleted, or non-deleted entities.GET /v1/services/mlmodelServices
from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import (
AuthProvider,
OpenMetadataConnection,
)
from metadata.generated.schema.security.client.openMetadataJWTClientConfig import (
OpenMetadataJWTClientConfig,
)
from metadata.ingestion.ometa.ometa_api import OpenMetadata
from metadata.generated.schema.entity.services.mlmodelService import MlModelService
metadata = OpenMetadata(
OpenMetadataConnection(
hostPort="https://your-company.open-metadata.org/api",
authProvider=AuthProvider.openmetadata,
securityConfig=OpenMetadataJWTClientConfig(jwtToken="your-jwt-token"),
)
)
# List first page
services = metadata.list_entities(entity=MlModelService, limit=50)
for svc in services.entities:
print(f"{svc.fullyQualifiedName.root} ({svc.serviceType.value})")
# List all with auto-pagination
for svc in metadata.list_all_entities(entity=MlModelService):
print(f"{svc.fullyQualifiedName.root}")
# List with fields
services = metadata.list_entities(
entity=MlModelService,
fields=["owners", "tags", "domains"],
limit=50
)
for svc in services.entities:
print(f"{svc.fullyQualifiedName.root}")
if svc.owners:
print(f" Owners: {[o.name for o in svc.owners.root]}")
import org.openmetadata.schema.entity.services.MlModelService;
import org.openmetadata.sdk.models.ListParams;
import org.openmetadata.sdk.models.ListResponse;
// client is an initialized OpenMetadataClient.
// List first page
ListResponse<MlModelService> firstPage = client.mlModelServices().list(new ListParams().setLimit(50));
for (MlModelService service : firstPage.getData()) {
System.out.println(service.getFullyQualifiedName());
}
// With fields
ListResponse<MlModelService> withFields = client.mlModelServices().list(
new ListParams().setFields("owners,tags,domains").setLimit(50)
);
# List all
curl "{base_url}/api/v1/services/mlmodelServices?limit=50" \
-H "Authorization: Bearer {access_token}"
# With fields
curl "{base_url}/api/v1/services/mlmodelServices?fields=owners,tags,domains&limit=50" \
-H "Authorization: Bearer {access_token}"
{
"data": [
{
"id": "ca22d46e-81b9-4e48-85b5-0adc44980da9",
"name": "mlflow_svc",
"fullyQualifiedName": "mlflow_svc",
"serviceType": "Mlflow",
"version": 0.1,
"updatedAt": 1769982621618,
"updatedBy": "admin",
"href": "http://localhost:8585/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9",
"connection": {
"config": {
"type": "Mlflow",
"trackingUri": "http://localhost:8088",
"registryUri": "http://localhost:8088",
"supportsMetadataExtraction": true
}
},
"owners": [],
"tags": [],
"deleted": false,
"domains": []
}
],
"paging": {
"after": "...",
"total": 3
}
}
Returns
Returns a paginated list of ML model service objects. By default, only basic fields are included. Use thefields parameter to request additional data.
Response
array
Array of ML model service objects.
Show properties
Show properties
string
Unique identifier for the ML model service (UUID format).
string
ML model service name.
string
Fully qualified name of the service.
string
Human-readable display name.
string
Type of ML model service, for example Mlflow, Sklearn, SageMaker, CustomMlModel.
object
Connection configuration for the service.
array
List of owners. Only included when
fields contains owners.array
Classification tags. Only included when
fields contains tags.array
Domain assignments. Only included when
fields contains domains.object
Error Handling
| Code | Error Type | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission to list ML model services |
Was this page helpful?