GET /v1/services/mlmodelServices/{id}/versions
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 all versions
history = metadata.list_versions(
entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9",
entity=MlModelService
)
for v in history.versions:
svc_version = MlModelService.model_validate_json(v)
print(f"Version {svc_version.version.root}: {getattr(svc_version.description, 'root', svc_version.description)}")
# Get a specific version
svc_v1 = metadata.get_entity_version(
entity=MlModelService,
entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9",
version="0.1"
)
print(f"Original description: {getattr(svc_v1.description, 'root', svc_v1.description)}")
import org.openmetadata.schema.entity.services.MlModelService;
import org.openmetadata.schema.type.EntityHistory;
// client is an initialized OpenMetadataClient.
// List all versions
EntityHistory history = client.mlModelServices().getVersionList("ca22d46e-81b9-4e48-85b5-0adc44980da9");
for (Object version : history.getVersions()) {
System.out.println("Version: " + version);
}
// Get a specific version
MlModelService v1 = client.mlModelServices().getVersion("ca22d46e-81b9-4e48-85b5-0adc44980da9", 0.1);
System.out.println("Description: " + v1.getDescription());
# List all versions
curl "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9/versions" \
-H "Authorization: Bearer {access_token}"
# Get a specific version
curl "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9/versions/0.1" \
-H "Authorization: Bearer {access_token}"
{
"entityType": "mlmodelService",
"versions": [
"{\"id\":\"ca22d46e-81b9-4e48-85b5-0adc44980da9\",\"name\":\"mlflow_svc\",\"fullyQualifiedName\":\"mlflow_svc\",\"version\":0.2,\"description\":\"Updated: Production MLflow tracking server\",\"serviceType\":\"Mlflow\"}",
"{\"id\":\"ca22d46e-81b9-4e48-85b5-0adc44980da9\",\"name\":\"mlflow_svc\",\"fullyQualifiedName\":\"mlflow_svc\",\"version\":0.1,\"serviceType\":\"Mlflow\"}"
]
}
ML Model Service Versions
List and retrieve historical versions of an ML model service
GET
/
v1
/
services
/
mlmodelServices
/
{id}
/
versions
GET /v1/services/mlmodelServices/{id}/versions
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 all versions
history = metadata.list_versions(
entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9",
entity=MlModelService
)
for v in history.versions:
svc_version = MlModelService.model_validate_json(v)
print(f"Version {svc_version.version.root}: {getattr(svc_version.description, 'root', svc_version.description)}")
# Get a specific version
svc_v1 = metadata.get_entity_version(
entity=MlModelService,
entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9",
version="0.1"
)
print(f"Original description: {getattr(svc_v1.description, 'root', svc_v1.description)}")
import org.openmetadata.schema.entity.services.MlModelService;
import org.openmetadata.schema.type.EntityHistory;
// client is an initialized OpenMetadataClient.
// List all versions
EntityHistory history = client.mlModelServices().getVersionList("ca22d46e-81b9-4e48-85b5-0adc44980da9");
for (Object version : history.getVersions()) {
System.out.println("Version: " + version);
}
// Get a specific version
MlModelService v1 = client.mlModelServices().getVersion("ca22d46e-81b9-4e48-85b5-0adc44980da9", 0.1);
System.out.println("Description: " + v1.getDescription());
# List all versions
curl "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9/versions" \
-H "Authorization: Bearer {access_token}"
# Get a specific version
curl "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9/versions/0.1" \
-H "Authorization: Bearer {access_token}"
{
"entityType": "mlmodelService",
"versions": [
"{\"id\":\"ca22d46e-81b9-4e48-85b5-0adc44980da9\",\"name\":\"mlflow_svc\",\"fullyQualifiedName\":\"mlflow_svc\",\"version\":0.2,\"description\":\"Updated: Production MLflow tracking server\",\"serviceType\":\"Mlflow\"}",
"{\"id\":\"ca22d46e-81b9-4e48-85b5-0adc44980da9\",\"name\":\"mlflow_svc\",\"fullyQualifiedName\":\"mlflow_svc\",\"version\":0.1,\"serviceType\":\"Mlflow\"}"
]
}
ML Model Service Versions
Every change to an ML model service entity creates a new version. Use these endpoints to view the version history and retrieve specific versions.List Versions
string
required
UUID of the ML model service.
Get Specific Version
UseGET /v1/services/mlmodelServices/{id}/versions/{version} to retrieve a specific version.
string
required
UUID of the ML model service.
string
required
Version number to retrieve, for example
0.2.GET /v1/services/mlmodelServices/{id}/versions
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 all versions
history = metadata.list_versions(
entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9",
entity=MlModelService
)
for v in history.versions:
svc_version = MlModelService.model_validate_json(v)
print(f"Version {svc_version.version.root}: {getattr(svc_version.description, 'root', svc_version.description)}")
# Get a specific version
svc_v1 = metadata.get_entity_version(
entity=MlModelService,
entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9",
version="0.1"
)
print(f"Original description: {getattr(svc_v1.description, 'root', svc_v1.description)}")
import org.openmetadata.schema.entity.services.MlModelService;
import org.openmetadata.schema.type.EntityHistory;
// client is an initialized OpenMetadataClient.
// List all versions
EntityHistory history = client.mlModelServices().getVersionList("ca22d46e-81b9-4e48-85b5-0adc44980da9");
for (Object version : history.getVersions()) {
System.out.println("Version: " + version);
}
// Get a specific version
MlModelService v1 = client.mlModelServices().getVersion("ca22d46e-81b9-4e48-85b5-0adc44980da9", 0.1);
System.out.println("Description: " + v1.getDescription());
# List all versions
curl "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9/versions" \
-H "Authorization: Bearer {access_token}"
# Get a specific version
curl "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9/versions/0.1" \
-H "Authorization: Bearer {access_token}"
{
"entityType": "mlmodelService",
"versions": [
"{\"id\":\"ca22d46e-81b9-4e48-85b5-0adc44980da9\",\"name\":\"mlflow_svc\",\"fullyQualifiedName\":\"mlflow_svc\",\"version\":0.2,\"description\":\"Updated: Production MLflow tracking server\",\"serviceType\":\"Mlflow\"}",
"{\"id\":\"ca22d46e-81b9-4e48-85b5-0adc44980da9\",\"name\":\"mlflow_svc\",\"fullyQualifiedName\":\"mlflow_svc\",\"version\":0.1,\"serviceType\":\"Mlflow\"}"
]
}
Returns
List versions returns an object withentityType and a versions array of serialized entity snapshots (newest first).
Get specific version returns the full ML model service object as it existed at that version.
Error Handling
| Code | Error Type | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing authentication token |
404 | NOT_FOUND | ML model service or version does not exist |
Was this page helpful?