DELETE /v1/services/pipelineServices/{id}
import requests
base_url = "https://your-company.open-metadata.org/api"
headers = {"Authorization": "Bearer your-jwt-token"}
# Soft delete by ID
requests.delete(
f"{base_url}/v1/services/pipelineServices/daa58a49-df05-48a3-a417-45dfd12eacf5",
headers=headers
)
# Hard delete with recursive
requests.delete(
f"{base_url}/v1/services/pipelineServices/daa58a49-df05-48a3-a417-45dfd12eacf5?hardDelete=true&recursive=true",
headers=headers
)
# Delete by name
requests.delete(
f"{base_url}/v1/services/pipelineServices/name/sample_airflow",
headers=headers
)
# Restore a soft-deleted pipeline service
requests.put(
f"{base_url}/v1/services/pipelineServices/restore",
json={"id": "daa58a49-df05-48a3-a417-45dfd12eacf5"},
headers={**headers, "Content-Type": "application/json"}
)
import org.openmetadata.schema.entity.services.PipelineService;
import org.openmetadata.sdk.fluent.PipelineServices;
// client is an initialized OpenMetadataClient.
// Soft delete
PipelineServices.delete("daa58a49-df05-48a3-a417-45dfd12eacf5").execute();
// Hard delete
PipelineServices.delete("daa58a49-df05-48a3-a417-45dfd12eacf5")
.hardDelete()
.recursive()
.execute();
// Delete by name (look up the ID first)
PipelineService service = PipelineServices.retrieveByName("sample_airflow");
PipelineServices.delete(service.getId()).execute();
// Restore. The fluent class has no restore method, so use the client service.
client.pipelineServices().restore("daa58a49-df05-48a3-a417-45dfd12eacf5");
# Soft delete by ID
curl -X DELETE "{base_url}/api/v1/services/pipelineServices/daa58a49-df05-48a3-a417-45dfd12eacf5" \
-H "Authorization: Bearer {access_token}"
# Hard delete with recursive
curl -X DELETE "{base_url}/api/v1/services/pipelineServices/daa58a49-df05-48a3-a417-45dfd12eacf5?hardDelete=true&recursive=true" \
-H "Authorization: Bearer {access_token}"
# Delete by name
curl -X DELETE "{base_url}/api/v1/services/pipelineServices/name/sample_airflow" \
-H "Authorization: Bearer {access_token}"
# Restore soft-deleted pipeline service
curl -X PUT "{base_url}/api/v1/services/pipelineServices/restore" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{"id": "daa58a49-df05-48a3-a417-45dfd12eacf5"}'
{
"id": "daa58a49-df05-48a3-a417-45dfd12eacf5",
"name": "sample_airflow",
"fullyQualifiedName": "sample_airflow",
"serviceType": "Airflow",
"version": 0.2,
"updatedAt": 1769982621418,
"updatedBy": "admin",
"deleted": true,
"owners": [],
"tags": [],
"domains": []
}
Delete a Pipeline Service
Delete a pipeline service by ID or name, with soft/hard delete options
DELETE
/
v1
/
services
/
pipelineServices
/
{id}
DELETE /v1/services/pipelineServices/{id}
import requests
base_url = "https://your-company.open-metadata.org/api"
headers = {"Authorization": "Bearer your-jwt-token"}
# Soft delete by ID
requests.delete(
f"{base_url}/v1/services/pipelineServices/daa58a49-df05-48a3-a417-45dfd12eacf5",
headers=headers
)
# Hard delete with recursive
requests.delete(
f"{base_url}/v1/services/pipelineServices/daa58a49-df05-48a3-a417-45dfd12eacf5?hardDelete=true&recursive=true",
headers=headers
)
# Delete by name
requests.delete(
f"{base_url}/v1/services/pipelineServices/name/sample_airflow",
headers=headers
)
# Restore a soft-deleted pipeline service
requests.put(
f"{base_url}/v1/services/pipelineServices/restore",
json={"id": "daa58a49-df05-48a3-a417-45dfd12eacf5"},
headers={**headers, "Content-Type": "application/json"}
)
import org.openmetadata.schema.entity.services.PipelineService;
import org.openmetadata.sdk.fluent.PipelineServices;
// client is an initialized OpenMetadataClient.
// Soft delete
PipelineServices.delete("daa58a49-df05-48a3-a417-45dfd12eacf5").execute();
// Hard delete
PipelineServices.delete("daa58a49-df05-48a3-a417-45dfd12eacf5")
.hardDelete()
.recursive()
.execute();
// Delete by name (look up the ID first)
PipelineService service = PipelineServices.retrieveByName("sample_airflow");
PipelineServices.delete(service.getId()).execute();
// Restore. The fluent class has no restore method, so use the client service.
client.pipelineServices().restore("daa58a49-df05-48a3-a417-45dfd12eacf5");
# Soft delete by ID
curl -X DELETE "{base_url}/api/v1/services/pipelineServices/daa58a49-df05-48a3-a417-45dfd12eacf5" \
-H "Authorization: Bearer {access_token}"
# Hard delete with recursive
curl -X DELETE "{base_url}/api/v1/services/pipelineServices/daa58a49-df05-48a3-a417-45dfd12eacf5?hardDelete=true&recursive=true" \
-H "Authorization: Bearer {access_token}"
# Delete by name
curl -X DELETE "{base_url}/api/v1/services/pipelineServices/name/sample_airflow" \
-H "Authorization: Bearer {access_token}"
# Restore soft-deleted pipeline service
curl -X PUT "{base_url}/api/v1/services/pipelineServices/restore" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{"id": "daa58a49-df05-48a3-a417-45dfd12eacf5"}'
{
"id": "daa58a49-df05-48a3-a417-45dfd12eacf5",
"name": "sample_airflow",
"fullyQualifiedName": "sample_airflow",
"serviceType": "Airflow",
"version": 0.2,
"updatedAt": 1769982621418,
"updatedBy": "admin",
"deleted": true,
"owners": [],
"tags": [],
"domains": []
}
Delete a Pipeline Service
Delete a pipeline service by ID or fully qualified name. Supports soft delete (default), hard delete, and restore operations.Delete by ID
string
required
UUID of the pipeline service to delete.
boolean
default:"false"
Recursively delete child entities (pipelines).
boolean
default:"false"
Permanently delete the pipeline service. If
false, the service is soft-deleted and can be restored.Delete by Name
UseDELETE /v1/services/pipelineServices/name/{fqn} to delete by fully qualified name.
string
required
Fully qualified name of the pipeline service, for example
sample_airflow.boolean
default:"false"
Recursively delete child entities.
boolean
default:"false"
Permanently delete the pipeline service.
Restore a Soft-Deleted Pipeline Service
UsePUT /v1/services/pipelineServices/restore to restore a soft-deleted pipeline service.
string
required
UUID of the soft-deleted pipeline service to restore.
DELETE /v1/services/pipelineServices/{id}
import requests
base_url = "https://your-company.open-metadata.org/api"
headers = {"Authorization": "Bearer your-jwt-token"}
# Soft delete by ID
requests.delete(
f"{base_url}/v1/services/pipelineServices/daa58a49-df05-48a3-a417-45dfd12eacf5",
headers=headers
)
# Hard delete with recursive
requests.delete(
f"{base_url}/v1/services/pipelineServices/daa58a49-df05-48a3-a417-45dfd12eacf5?hardDelete=true&recursive=true",
headers=headers
)
# Delete by name
requests.delete(
f"{base_url}/v1/services/pipelineServices/name/sample_airflow",
headers=headers
)
# Restore a soft-deleted pipeline service
requests.put(
f"{base_url}/v1/services/pipelineServices/restore",
json={"id": "daa58a49-df05-48a3-a417-45dfd12eacf5"},
headers={**headers, "Content-Type": "application/json"}
)
import org.openmetadata.schema.entity.services.PipelineService;
import org.openmetadata.sdk.fluent.PipelineServices;
// client is an initialized OpenMetadataClient.
// Soft delete
PipelineServices.delete("daa58a49-df05-48a3-a417-45dfd12eacf5").execute();
// Hard delete
PipelineServices.delete("daa58a49-df05-48a3-a417-45dfd12eacf5")
.hardDelete()
.recursive()
.execute();
// Delete by name (look up the ID first)
PipelineService service = PipelineServices.retrieveByName("sample_airflow");
PipelineServices.delete(service.getId()).execute();
// Restore. The fluent class has no restore method, so use the client service.
client.pipelineServices().restore("daa58a49-df05-48a3-a417-45dfd12eacf5");
# Soft delete by ID
curl -X DELETE "{base_url}/api/v1/services/pipelineServices/daa58a49-df05-48a3-a417-45dfd12eacf5" \
-H "Authorization: Bearer {access_token}"
# Hard delete with recursive
curl -X DELETE "{base_url}/api/v1/services/pipelineServices/daa58a49-df05-48a3-a417-45dfd12eacf5?hardDelete=true&recursive=true" \
-H "Authorization: Bearer {access_token}"
# Delete by name
curl -X DELETE "{base_url}/api/v1/services/pipelineServices/name/sample_airflow" \
-H "Authorization: Bearer {access_token}"
# Restore soft-deleted pipeline service
curl -X PUT "{base_url}/api/v1/services/pipelineServices/restore" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{"id": "daa58a49-df05-48a3-a417-45dfd12eacf5"}'
{
"id": "daa58a49-df05-48a3-a417-45dfd12eacf5",
"name": "sample_airflow",
"fullyQualifiedName": "sample_airflow",
"serviceType": "Airflow",
"version": 0.2,
"updatedAt": 1769982621418,
"updatedBy": "admin",
"deleted": true,
"owners": [],
"tags": [],
"domains": []
}
Returns
Soft delete returns the pipeline service object withdeleted: true. Hard delete returns no content (204). Restore returns the restored pipeline service object.
Error Handling
| Code | Error Type | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission to delete this pipeline service |
404 | NOT_FOUND | Pipeline service with given ID or FQN does not exist |
Was this page helpful?