DELETE /v1/services/storageServices/{id}
from metadata.sdk import configure
from metadata.sdk.entities import StorageServices
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Soft delete by ID
StorageServices.delete("d1589e1d-2ab0-431c-a383-15e4be20a106")
# Hard delete
StorageServices.delete(
"d1589e1d-2ab0-431c-a383-15e4be20a106",
hard_delete=True
)
# Delete by name
StorageServices.delete(StorageServices.retrieve_by_name("s3_datalake").id)
# Delete by name with options
StorageServices.delete(
StorageServices.retrieve_by_name("s3_datalake").id,
hard_delete=True,
recursive=True
)
# Restore a soft-deleted storage service
StorageServices.restore("d1589e1d-2ab0-431c-a383-15e4be20a106")
import org.openmetadata.schema.entity.services.StorageService;
import org.openmetadata.sdk.fluent.StorageServices;
// client is an initialized OpenMetadataClient.
// Soft delete
StorageServices.delete("d1589e1d-2ab0-431c-a383-15e4be20a106").execute();
// Hard delete
StorageServices.delete("d1589e1d-2ab0-431c-a383-15e4be20a106")
.hardDelete()
.execute();
// Delete by name (look up the ID first)
StorageService service = StorageServices.retrieveByName("s3_datalake");
StorageServices.delete(service.getId()).execute();
// Restore. The fluent class has no restore method, so use the client service.
client.storageServices().restore("d1589e1d-2ab0-431c-a383-15e4be20a106");
# Soft delete by ID
curl -X DELETE "{base_url}/api/v1/services/storageServices/d1589e1d-2ab0-431c-a383-15e4be20a106" \
-H "Authorization: Bearer {access_token}"
# Hard delete
curl -X DELETE "{base_url}/api/v1/services/storageServices/d1589e1d-2ab0-431c-a383-15e4be20a106?hardDelete=true" \
-H "Authorization: Bearer {access_token}"
# Delete by name
curl -X DELETE "{base_url}/api/v1/services/storageServices/name/s3_datalake" \
-H "Authorization: Bearer {access_token}"
# Restore soft-deleted storage service
curl -X PUT "{base_url}/api/v1/services/storageServices/restore" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{"id": "d1589e1d-2ab0-431c-a383-15e4be20a106"}'
{
"id": "d1589e1d-2ab0-431c-a383-15e4be20a106",
"name": "s3_datalake",
"fullyQualifiedName": "s3_datalake",
"serviceType": "S3",
"description": "Production S3 data lake for analytics",
"connection": {
"config": {
"type": "S3",
"awsConfig": {
"enabled": false,
"awsAccessKeyId": "AKIA...",
"awsSecretAccessKey": "*********",
"awsRegion": "us-east-1",
"endPointURL": "https://s3.amazonaws.com/"
}
}
},
"version": 0.2,
"updatedAt": 1769982621820,
"updatedBy": "admin",
"owners": [],
"tags": [],
"deleted": true,
"domains": []
}
Delete a Storage Service
Delete a storage service by ID or name, with soft/hard delete options
DELETE
/
v1
/
services
/
storageServices
/
{id}
DELETE /v1/services/storageServices/{id}
from metadata.sdk import configure
from metadata.sdk.entities import StorageServices
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Soft delete by ID
StorageServices.delete("d1589e1d-2ab0-431c-a383-15e4be20a106")
# Hard delete
StorageServices.delete(
"d1589e1d-2ab0-431c-a383-15e4be20a106",
hard_delete=True
)
# Delete by name
StorageServices.delete(StorageServices.retrieve_by_name("s3_datalake").id)
# Delete by name with options
StorageServices.delete(
StorageServices.retrieve_by_name("s3_datalake").id,
hard_delete=True,
recursive=True
)
# Restore a soft-deleted storage service
StorageServices.restore("d1589e1d-2ab0-431c-a383-15e4be20a106")
import org.openmetadata.schema.entity.services.StorageService;
import org.openmetadata.sdk.fluent.StorageServices;
// client is an initialized OpenMetadataClient.
// Soft delete
StorageServices.delete("d1589e1d-2ab0-431c-a383-15e4be20a106").execute();
// Hard delete
StorageServices.delete("d1589e1d-2ab0-431c-a383-15e4be20a106")
.hardDelete()
.execute();
// Delete by name (look up the ID first)
StorageService service = StorageServices.retrieveByName("s3_datalake");
StorageServices.delete(service.getId()).execute();
// Restore. The fluent class has no restore method, so use the client service.
client.storageServices().restore("d1589e1d-2ab0-431c-a383-15e4be20a106");
# Soft delete by ID
curl -X DELETE "{base_url}/api/v1/services/storageServices/d1589e1d-2ab0-431c-a383-15e4be20a106" \
-H "Authorization: Bearer {access_token}"
# Hard delete
curl -X DELETE "{base_url}/api/v1/services/storageServices/d1589e1d-2ab0-431c-a383-15e4be20a106?hardDelete=true" \
-H "Authorization: Bearer {access_token}"
# Delete by name
curl -X DELETE "{base_url}/api/v1/services/storageServices/name/s3_datalake" \
-H "Authorization: Bearer {access_token}"
# Restore soft-deleted storage service
curl -X PUT "{base_url}/api/v1/services/storageServices/restore" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{"id": "d1589e1d-2ab0-431c-a383-15e4be20a106"}'
{
"id": "d1589e1d-2ab0-431c-a383-15e4be20a106",
"name": "s3_datalake",
"fullyQualifiedName": "s3_datalake",
"serviceType": "S3",
"description": "Production S3 data lake for analytics",
"connection": {
"config": {
"type": "S3",
"awsConfig": {
"enabled": false,
"awsAccessKeyId": "AKIA...",
"awsSecretAccessKey": "*********",
"awsRegion": "us-east-1",
"endPointURL": "https://s3.amazonaws.com/"
}
}
},
"version": 0.2,
"updatedAt": 1769982621820,
"updatedBy": "admin",
"owners": [],
"tags": [],
"deleted": true,
"domains": []
}
Delete a Storage Service
Delete a storage service by ID or fully qualified name. Supports soft delete (default), hard delete, and restore operations.Delete by ID
string
required
UUID of the storage service to delete.
boolean
default:"false"
Recursively delete child entities (containers).
boolean
default:"false"
Permanently delete the storage service. If
false, the storage service is soft-deleted and can be restored.Delete by Name
UseDELETE /v1/services/storageServices/name/{fqn} to delete by fully qualified name.
string
required
Fully qualified name of the storage service, for example
s3_datalake.boolean
default:"false"
Recursively delete child entities (containers).
boolean
default:"false"
Permanently delete the storage service.
Restore a Soft-Deleted Storage Service
UsePUT /v1/services/storageServices/restore to restore a soft-deleted storage service.
string
required
UUID of the soft-deleted storage service to restore.
DELETE /v1/services/storageServices/{id}
from metadata.sdk import configure
from metadata.sdk.entities import StorageServices
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Soft delete by ID
StorageServices.delete("d1589e1d-2ab0-431c-a383-15e4be20a106")
# Hard delete
StorageServices.delete(
"d1589e1d-2ab0-431c-a383-15e4be20a106",
hard_delete=True
)
# Delete by name
StorageServices.delete(StorageServices.retrieve_by_name("s3_datalake").id)
# Delete by name with options
StorageServices.delete(
StorageServices.retrieve_by_name("s3_datalake").id,
hard_delete=True,
recursive=True
)
# Restore a soft-deleted storage service
StorageServices.restore("d1589e1d-2ab0-431c-a383-15e4be20a106")
import org.openmetadata.schema.entity.services.StorageService;
import org.openmetadata.sdk.fluent.StorageServices;
// client is an initialized OpenMetadataClient.
// Soft delete
StorageServices.delete("d1589e1d-2ab0-431c-a383-15e4be20a106").execute();
// Hard delete
StorageServices.delete("d1589e1d-2ab0-431c-a383-15e4be20a106")
.hardDelete()
.execute();
// Delete by name (look up the ID first)
StorageService service = StorageServices.retrieveByName("s3_datalake");
StorageServices.delete(service.getId()).execute();
// Restore. The fluent class has no restore method, so use the client service.
client.storageServices().restore("d1589e1d-2ab0-431c-a383-15e4be20a106");
# Soft delete by ID
curl -X DELETE "{base_url}/api/v1/services/storageServices/d1589e1d-2ab0-431c-a383-15e4be20a106" \
-H "Authorization: Bearer {access_token}"
# Hard delete
curl -X DELETE "{base_url}/api/v1/services/storageServices/d1589e1d-2ab0-431c-a383-15e4be20a106?hardDelete=true" \
-H "Authorization: Bearer {access_token}"
# Delete by name
curl -X DELETE "{base_url}/api/v1/services/storageServices/name/s3_datalake" \
-H "Authorization: Bearer {access_token}"
# Restore soft-deleted storage service
curl -X PUT "{base_url}/api/v1/services/storageServices/restore" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{"id": "d1589e1d-2ab0-431c-a383-15e4be20a106"}'
{
"id": "d1589e1d-2ab0-431c-a383-15e4be20a106",
"name": "s3_datalake",
"fullyQualifiedName": "s3_datalake",
"serviceType": "S3",
"description": "Production S3 data lake for analytics",
"connection": {
"config": {
"type": "S3",
"awsConfig": {
"enabled": false,
"awsAccessKeyId": "AKIA...",
"awsSecretAccessKey": "*********",
"awsRegion": "us-east-1",
"endPointURL": "https://s3.amazonaws.com/"
}
}
},
"version": 0.2,
"updatedAt": 1769982621820,
"updatedBy": "admin",
"owners": [],
"tags": [],
"deleted": true,
"domains": []
}
Returns
Soft delete returns the storage service object withdeleted: true. Hard delete returns no content (204). Restore returns the restored storage service object.
Error Handling
| Code | Error Type | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission to delete this storage service |
404 | NOT_FOUND | Storage service with given ID or FQN does not exist |
Was this page helpful?