Skip to main content
DELETE
https://sandbox.getcollate.io/api
/
v1
/
dataQuality
/
testCases
/
{id}
DELETE /v1/dataQuality/testCases/{id}
from metadata.sdk import configure
from metadata.sdk.entities import TestCases

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

# Soft delete by ID
TestCases.delete("c1bce355-fa2f-48c6-ab4d-fad722a56ed7")

# Hard delete
TestCases.delete(
    "c1bce355-fa2f-48c6-ab4d-fad722a56ed7",
    hard_delete=True
)

# Delete by name
TestCases.delete_by_name(
    "sample_data.ecommerce_db.shopify.dim_address.shop_id.column_value_max_to_be_between"
)

# Restore a soft-deleted test case
TestCases.restore("c1bce355-fa2f-48c6-ab4d-fad722a56ed7")
{
  "id": "c1bce355-fa2f-48c6-ab4d-fad722a56ed7",
  "name": "column_value_max_to_be_between",
  "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.shop_id.column_value_max_to_be_between",
  "version": 0.2,
  "updatedAt": 1769982800000,
  "updatedBy": "admin",
  "testDefinition": {
    "id": "def-id",
    "type": "testDefinition",
    "name": "columnValueMaxToBeBetween"
  },
  "testSuite": {
    "id": "suite-id",
    "type": "testSuite",
    "name": "b5fcae09-02c2-4c0b-8c4a-5b52d650e592"
  },
  "entityLink": "<#E::table::sample_data.ecommerce_db.shopify.dim_address::columns::shop_id>",
  "deleted": true,
  "owners": []
}

Delete a Test Case

Delete a test case by ID or fully qualified name. Supports soft delete (default), hard delete, and restore operations.

Delete by ID

id
string
required
UUID of the test case to delete.
recursive
boolean
default:"false"
Recursively delete child entities.
hardDelete
boolean
default:"false"
Permanently delete the test case. If false, the test case is soft-deleted and can be restored.

Delete by Name

Use DELETE /v1/dataQuality/testCases/name/{fqn} to delete by fully qualified name.
fqn
string
required
Fully qualified name of the test case.
recursive
boolean
default:"false"
Recursively delete child entities.
hardDelete
boolean
default:"false"
Permanently delete the test case.

Restore a Soft-Deleted Test Case

Use PUT /v1/dataQuality/testCases/restore to restore a soft-deleted test case.
id
string
required
UUID of the soft-deleted test case to restore.
DELETE /v1/dataQuality/testCases/{id}
from metadata.sdk import configure
from metadata.sdk.entities import TestCases

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

# Soft delete by ID
TestCases.delete("c1bce355-fa2f-48c6-ab4d-fad722a56ed7")

# Hard delete
TestCases.delete(
    "c1bce355-fa2f-48c6-ab4d-fad722a56ed7",
    hard_delete=True
)

# Delete by name
TestCases.delete_by_name(
    "sample_data.ecommerce_db.shopify.dim_address.shop_id.column_value_max_to_be_between"
)

# Restore a soft-deleted test case
TestCases.restore("c1bce355-fa2f-48c6-ab4d-fad722a56ed7")
{
  "id": "c1bce355-fa2f-48c6-ab4d-fad722a56ed7",
  "name": "column_value_max_to_be_between",
  "fullyQualifiedName": "sample_data.ecommerce_db.shopify.dim_address.shop_id.column_value_max_to_be_between",
  "version": 0.2,
  "updatedAt": 1769982800000,
  "updatedBy": "admin",
  "testDefinition": {
    "id": "def-id",
    "type": "testDefinition",
    "name": "columnValueMaxToBeBetween"
  },
  "testSuite": {
    "id": "suite-id",
    "type": "testSuite",
    "name": "b5fcae09-02c2-4c0b-8c4a-5b52d650e592"
  },
  "entityLink": "<#E::table::sample_data.ecommerce_db.shopify.dim_address::columns::shop_id>",
  "deleted": true,
  "owners": []
}

Returns

Soft delete returns the test case object with deleted: true. Hard delete returns no content (204). Restore returns the restored test case object.

Error Handling

CodeError TypeDescription
401UNAUTHORIZEDInvalid or missing authentication token
403FORBIDDENUser lacks permission to delete this test case
404NOT_FOUNDTest case with given ID or FQN does not exist