DELETE /v1/services/dashboardServices/{id}
from metadata.sdk import configure
import requests
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Soft delete by ID
response = requests.delete(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/2c0c7c05-d820-4bea-a471-047deb7f92fd",
headers={"Authorization": "Bearer your-jwt-token"}
)
# Hard delete
response = requests.delete(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/2c0c7c05-d820-4bea-a471-047deb7f92fd?hardDelete=true",
headers={"Authorization": "Bearer your-jwt-token"}
)
# Delete by name
response = requests.delete(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker",
headers={"Authorization": "Bearer your-jwt-token"}
)
# Restore
response = requests.put(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/restore",
headers={"Authorization": "Bearer your-jwt-token"},
json={"id": "2c0c7c05-d820-4bea-a471-047deb7f92fd"}
)
import org.openmetadata.schema.entity.services.DashboardService;
import org.openmetadata.sdk.fluent.DashboardServices;
// client is an initialized OpenMetadataClient.
// Soft delete
DashboardServices.delete("2c0c7c05-d820-4bea-a471-047deb7f92fd").execute();
// Hard delete
DashboardServices.delete("2c0c7c05-d820-4bea-a471-047deb7f92fd")
.hardDelete()
.execute();
// Delete by name (look up the ID first)
DashboardService service = DashboardServices.retrieveByName("sample_looker");
DashboardServices.delete(service.getId()).execute();
// Restore. The fluent class has no restore method, so use the client service.
client.dashboardServices().restore("2c0c7c05-d820-4bea-a471-047deb7f92fd");
# Soft delete by ID
curl -X DELETE "{base_url}/api/v1/services/dashboardServices/2c0c7c05-d820-4bea-a471-047deb7f92fd" \
-H "Authorization: Bearer {access_token}"
# Hard delete
curl -X DELETE "{base_url}/api/v1/services/dashboardServices/2c0c7c05-d820-4bea-a471-047deb7f92fd?hardDelete=true" \
-H "Authorization: Bearer {access_token}"
# Delete by name
curl -X DELETE "{base_url}/api/v1/services/dashboardServices/name/sample_looker" \
-H "Authorization: Bearer {access_token}"
# Restore soft-deleted dashboard service
curl -X PUT "{base_url}/api/v1/services/dashboardServices/restore" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{"id": "2c0c7c05-d820-4bea-a471-047deb7f92fd"}'
{
"id": "2c0c7c05-d820-4bea-a471-047deb7f92fd",
"name": "sample_looker",
"fullyQualifiedName": "sample_looker",
"serviceType": "Looker",
"version": 0.2,
"updatedAt": 1769982621219,
"updatedBy": "admin",
"deleted": true,
"owners": [],
"tags": [],
"domains": []
}
Delete a Dashboard Service
Delete a dashboard service by ID or name, with soft/hard delete options
DELETE
/
v1
/
services
/
dashboardServices
/
{id}
DELETE /v1/services/dashboardServices/{id}
from metadata.sdk import configure
import requests
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Soft delete by ID
response = requests.delete(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/2c0c7c05-d820-4bea-a471-047deb7f92fd",
headers={"Authorization": "Bearer your-jwt-token"}
)
# Hard delete
response = requests.delete(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/2c0c7c05-d820-4bea-a471-047deb7f92fd?hardDelete=true",
headers={"Authorization": "Bearer your-jwt-token"}
)
# Delete by name
response = requests.delete(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker",
headers={"Authorization": "Bearer your-jwt-token"}
)
# Restore
response = requests.put(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/restore",
headers={"Authorization": "Bearer your-jwt-token"},
json={"id": "2c0c7c05-d820-4bea-a471-047deb7f92fd"}
)
import org.openmetadata.schema.entity.services.DashboardService;
import org.openmetadata.sdk.fluent.DashboardServices;
// client is an initialized OpenMetadataClient.
// Soft delete
DashboardServices.delete("2c0c7c05-d820-4bea-a471-047deb7f92fd").execute();
// Hard delete
DashboardServices.delete("2c0c7c05-d820-4bea-a471-047deb7f92fd")
.hardDelete()
.execute();
// Delete by name (look up the ID first)
DashboardService service = DashboardServices.retrieveByName("sample_looker");
DashboardServices.delete(service.getId()).execute();
// Restore. The fluent class has no restore method, so use the client service.
client.dashboardServices().restore("2c0c7c05-d820-4bea-a471-047deb7f92fd");
# Soft delete by ID
curl -X DELETE "{base_url}/api/v1/services/dashboardServices/2c0c7c05-d820-4bea-a471-047deb7f92fd" \
-H "Authorization: Bearer {access_token}"
# Hard delete
curl -X DELETE "{base_url}/api/v1/services/dashboardServices/2c0c7c05-d820-4bea-a471-047deb7f92fd?hardDelete=true" \
-H "Authorization: Bearer {access_token}"
# Delete by name
curl -X DELETE "{base_url}/api/v1/services/dashboardServices/name/sample_looker" \
-H "Authorization: Bearer {access_token}"
# Restore soft-deleted dashboard service
curl -X PUT "{base_url}/api/v1/services/dashboardServices/restore" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{"id": "2c0c7c05-d820-4bea-a471-047deb7f92fd"}'
{
"id": "2c0c7c05-d820-4bea-a471-047deb7f92fd",
"name": "sample_looker",
"fullyQualifiedName": "sample_looker",
"serviceType": "Looker",
"version": 0.2,
"updatedAt": 1769982621219,
"updatedBy": "admin",
"deleted": true,
"owners": [],
"tags": [],
"domains": []
}
Delete a Dashboard Service
Delete a dashboard service by ID or fully qualified name. Supports soft delete (default), hard delete, and restore operations.Delete by ID
string
required
UUID of the dashboard service to delete.
boolean
default:"false"
Recursively delete child entities (dashboards, charts).
boolean
default:"false"
Permanently delete the dashboard service. If
false, the service is soft-deleted and can be restored.Delete by Name
UseDELETE /v1/services/dashboardServices/name/{fqn} to delete by fully qualified name.
string
required
Fully qualified name of the dashboard service, for example
sample_looker.boolean
default:"false"
Recursively delete child entities.
boolean
default:"false"
Permanently delete the dashboard service.
Restore a Soft-Deleted Dashboard Service
UsePUT /v1/services/dashboardServices/restore to restore a soft-deleted dashboard service.
string
required
UUID of the soft-deleted dashboard service to restore.
DELETE /v1/services/dashboardServices/{id}
from metadata.sdk import configure
import requests
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Soft delete by ID
response = requests.delete(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/2c0c7c05-d820-4bea-a471-047deb7f92fd",
headers={"Authorization": "Bearer your-jwt-token"}
)
# Hard delete
response = requests.delete(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/2c0c7c05-d820-4bea-a471-047deb7f92fd?hardDelete=true",
headers={"Authorization": "Bearer your-jwt-token"}
)
# Delete by name
response = requests.delete(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker",
headers={"Authorization": "Bearer your-jwt-token"}
)
# Restore
response = requests.put(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/restore",
headers={"Authorization": "Bearer your-jwt-token"},
json={"id": "2c0c7c05-d820-4bea-a471-047deb7f92fd"}
)
import org.openmetadata.schema.entity.services.DashboardService;
import org.openmetadata.sdk.fluent.DashboardServices;
// client is an initialized OpenMetadataClient.
// Soft delete
DashboardServices.delete("2c0c7c05-d820-4bea-a471-047deb7f92fd").execute();
// Hard delete
DashboardServices.delete("2c0c7c05-d820-4bea-a471-047deb7f92fd")
.hardDelete()
.execute();
// Delete by name (look up the ID first)
DashboardService service = DashboardServices.retrieveByName("sample_looker");
DashboardServices.delete(service.getId()).execute();
// Restore. The fluent class has no restore method, so use the client service.
client.dashboardServices().restore("2c0c7c05-d820-4bea-a471-047deb7f92fd");
# Soft delete by ID
curl -X DELETE "{base_url}/api/v1/services/dashboardServices/2c0c7c05-d820-4bea-a471-047deb7f92fd" \
-H "Authorization: Bearer {access_token}"
# Hard delete
curl -X DELETE "{base_url}/api/v1/services/dashboardServices/2c0c7c05-d820-4bea-a471-047deb7f92fd?hardDelete=true" \
-H "Authorization: Bearer {access_token}"
# Delete by name
curl -X DELETE "{base_url}/api/v1/services/dashboardServices/name/sample_looker" \
-H "Authorization: Bearer {access_token}"
# Restore soft-deleted dashboard service
curl -X PUT "{base_url}/api/v1/services/dashboardServices/restore" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{"id": "2c0c7c05-d820-4bea-a471-047deb7f92fd"}'
{
"id": "2c0c7c05-d820-4bea-a471-047deb7f92fd",
"name": "sample_looker",
"fullyQualifiedName": "sample_looker",
"serviceType": "Looker",
"version": 0.2,
"updatedAt": 1769982621219,
"updatedBy": "admin",
"deleted": true,
"owners": [],
"tags": [],
"domains": []
}
Returns
Soft delete returns the dashboard service object withdeleted: true. Hard delete returns no content (204). Restore returns the restored dashboard service object.
Error Handling
| Code | Error Type | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission to delete this dashboard service |
404 | NOT_FOUND | Dashboard service with given ID or FQN does not exist |
Was this page helpful?