DELETE /v1/services/mlmodelServices/{id}
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"),
)
)
# Soft delete by ID
metadata.delete(entity=MlModelService, entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9")
# Hard delete
metadata.delete(
entity=MlModelService,
entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9",
hard_delete=True
)
# Delete by name
service = metadata.get_by_name(entity=MlModelService, fqn="mlflow_svc")
metadata.delete(entity=MlModelService, entity_id=service.id)
# Delete by name with options
service = metadata.get_by_name(entity=MlModelService, fqn="mlflow_svc")
metadata.delete(
entity=MlModelService,
entity_id=service.id,
hard_delete=True,
recursive=True
)
# Restore a soft-deleted ML model service
metadata.restore(entity=MlModelService, entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9")
import org.openmetadata.schema.entity.services.MlModelService;
import org.openmetadata.sdk.fluent.MlModelServices;
// client is an initialized OpenMetadataClient.
// Soft delete
MlModelServices.delete("ca22d46e-81b9-4e48-85b5-0adc44980da9").execute();
// Hard delete
MlModelServices.delete("ca22d46e-81b9-4e48-85b5-0adc44980da9")
.hardDelete()
.execute();
// Delete by name (look up the ID first)
MlModelService service = MlModelServices.retrieveByName("mlflow_svc");
MlModelServices.delete(service.getId()).execute();
// Restore. The fluent class has no restore method, so use the client service.
client.mlModelServices().restore("ca22d46e-81b9-4e48-85b5-0adc44980da9");
# Soft delete by ID
curl -X DELETE "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9" \
-H "Authorization: Bearer {access_token}"
# Hard delete
curl -X DELETE "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9?hardDelete=true" \
-H "Authorization: Bearer {access_token}"
# Delete by name
curl -X DELETE "{base_url}/api/v1/services/mlmodelServices/name/mlflow_svc" \
-H "Authorization: Bearer {access_token}"
# Restore soft-deleted ML model service
curl -X PUT "{base_url}/api/v1/services/mlmodelServices/restore" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{"id": "ca22d46e-81b9-4e48-85b5-0adc44980da9"}'
{
"id": "ca22d46e-81b9-4e48-85b5-0adc44980da9",
"name": "mlflow_svc",
"fullyQualifiedName": "mlflow_svc",
"serviceType": "Mlflow",
"version": 0.2,
"updatedAt": 1769982621618,
"updatedBy": "admin",
"connection": {
"config": {
"type": "Mlflow",
"trackingUri": "http://localhost:8088",
"registryUri": "http://localhost:8088",
"supportsMetadataExtraction": true
}
},
"owners": [],
"tags": [],
"deleted": true,
"domains": []
}
Delete an ML Model Service
Delete an ML model service by ID or name, with soft/hard delete options
DELETE
/
v1
/
services
/
mlmodelServices
/
{id}
DELETE /v1/services/mlmodelServices/{id}
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"),
)
)
# Soft delete by ID
metadata.delete(entity=MlModelService, entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9")
# Hard delete
metadata.delete(
entity=MlModelService,
entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9",
hard_delete=True
)
# Delete by name
service = metadata.get_by_name(entity=MlModelService, fqn="mlflow_svc")
metadata.delete(entity=MlModelService, entity_id=service.id)
# Delete by name with options
service = metadata.get_by_name(entity=MlModelService, fqn="mlflow_svc")
metadata.delete(
entity=MlModelService,
entity_id=service.id,
hard_delete=True,
recursive=True
)
# Restore a soft-deleted ML model service
metadata.restore(entity=MlModelService, entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9")
import org.openmetadata.schema.entity.services.MlModelService;
import org.openmetadata.sdk.fluent.MlModelServices;
// client is an initialized OpenMetadataClient.
// Soft delete
MlModelServices.delete("ca22d46e-81b9-4e48-85b5-0adc44980da9").execute();
// Hard delete
MlModelServices.delete("ca22d46e-81b9-4e48-85b5-0adc44980da9")
.hardDelete()
.execute();
// Delete by name (look up the ID first)
MlModelService service = MlModelServices.retrieveByName("mlflow_svc");
MlModelServices.delete(service.getId()).execute();
// Restore. The fluent class has no restore method, so use the client service.
client.mlModelServices().restore("ca22d46e-81b9-4e48-85b5-0adc44980da9");
# Soft delete by ID
curl -X DELETE "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9" \
-H "Authorization: Bearer {access_token}"
# Hard delete
curl -X DELETE "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9?hardDelete=true" \
-H "Authorization: Bearer {access_token}"
# Delete by name
curl -X DELETE "{base_url}/api/v1/services/mlmodelServices/name/mlflow_svc" \
-H "Authorization: Bearer {access_token}"
# Restore soft-deleted ML model service
curl -X PUT "{base_url}/api/v1/services/mlmodelServices/restore" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{"id": "ca22d46e-81b9-4e48-85b5-0adc44980da9"}'
{
"id": "ca22d46e-81b9-4e48-85b5-0adc44980da9",
"name": "mlflow_svc",
"fullyQualifiedName": "mlflow_svc",
"serviceType": "Mlflow",
"version": 0.2,
"updatedAt": 1769982621618,
"updatedBy": "admin",
"connection": {
"config": {
"type": "Mlflow",
"trackingUri": "http://localhost:8088",
"registryUri": "http://localhost:8088",
"supportsMetadataExtraction": true
}
},
"owners": [],
"tags": [],
"deleted": true,
"domains": []
}
Delete an ML Model Service
Delete an ML model service by ID or fully qualified name. Supports soft delete (default), hard delete, and restore operations.Delete by ID
string
required
UUID of the ML model service to delete.
boolean
default:"false"
Recursively delete child entities (ML models).
boolean
default:"false"
Permanently delete the ML model service. If
false, the service is soft-deleted and can be restored.Delete by Name
UseDELETE /v1/services/mlmodelServices/name/{fqn} to delete by fully qualified name.
string
required
Fully qualified name of the ML model service, for example
mlflow_svc.boolean
default:"false"
Recursively delete child entities.
boolean
default:"false"
Permanently delete the ML model service.
Restore a Soft-Deleted ML Model Service
UsePUT /v1/services/mlmodelServices/restore to restore a soft-deleted ML model service.
string
required
UUID of the soft-deleted ML model service to restore.
DELETE /v1/services/mlmodelServices/{id}
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"),
)
)
# Soft delete by ID
metadata.delete(entity=MlModelService, entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9")
# Hard delete
metadata.delete(
entity=MlModelService,
entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9",
hard_delete=True
)
# Delete by name
service = metadata.get_by_name(entity=MlModelService, fqn="mlflow_svc")
metadata.delete(entity=MlModelService, entity_id=service.id)
# Delete by name with options
service = metadata.get_by_name(entity=MlModelService, fqn="mlflow_svc")
metadata.delete(
entity=MlModelService,
entity_id=service.id,
hard_delete=True,
recursive=True
)
# Restore a soft-deleted ML model service
metadata.restore(entity=MlModelService, entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9")
import org.openmetadata.schema.entity.services.MlModelService;
import org.openmetadata.sdk.fluent.MlModelServices;
// client is an initialized OpenMetadataClient.
// Soft delete
MlModelServices.delete("ca22d46e-81b9-4e48-85b5-0adc44980da9").execute();
// Hard delete
MlModelServices.delete("ca22d46e-81b9-4e48-85b5-0adc44980da9")
.hardDelete()
.execute();
// Delete by name (look up the ID first)
MlModelService service = MlModelServices.retrieveByName("mlflow_svc");
MlModelServices.delete(service.getId()).execute();
// Restore. The fluent class has no restore method, so use the client service.
client.mlModelServices().restore("ca22d46e-81b9-4e48-85b5-0adc44980da9");
# Soft delete by ID
curl -X DELETE "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9" \
-H "Authorization: Bearer {access_token}"
# Hard delete
curl -X DELETE "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9?hardDelete=true" \
-H "Authorization: Bearer {access_token}"
# Delete by name
curl -X DELETE "{base_url}/api/v1/services/mlmodelServices/name/mlflow_svc" \
-H "Authorization: Bearer {access_token}"
# Restore soft-deleted ML model service
curl -X PUT "{base_url}/api/v1/services/mlmodelServices/restore" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{"id": "ca22d46e-81b9-4e48-85b5-0adc44980da9"}'
{
"id": "ca22d46e-81b9-4e48-85b5-0adc44980da9",
"name": "mlflow_svc",
"fullyQualifiedName": "mlflow_svc",
"serviceType": "Mlflow",
"version": 0.2,
"updatedAt": 1769982621618,
"updatedBy": "admin",
"connection": {
"config": {
"type": "Mlflow",
"trackingUri": "http://localhost:8088",
"registryUri": "http://localhost:8088",
"supportsMetadataExtraction": true
}
},
"owners": [],
"tags": [],
"deleted": true,
"domains": []
}
Returns
Soft delete returns the ML model service object withdeleted: true. Hard delete returns no content (204). Restore returns the restored ML model service object.
Error Handling
| Code | Error Type | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission to delete this ML model service |
404 | NOT_FOUND | ML model service with given ID or FQN does not exist |
Was this page helpful?