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.getcollate.io/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 entity to track changes over time including field modifications, metadata updates, and change authors via the Collate REST API.
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.getcollate.io/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.The Python examples on this page use the original client (
metadata.ingestion.ometa.ometa_api.OpenMetadata). For more information, see Which Python SDK Should I Use?.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.getcollate.io/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?