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

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

# Soft delete by ID
DatabaseSchemas.delete("770e8400-e29b-41d4-a716-446655440000")

# Hard delete with recursive
DatabaseSchemas.delete(
    "770e8400-e29b-41d4-a716-446655440000",
    recursive=True,
    hard_delete=True
)

# Delete by name
DatabaseSchemas.delete_by_name("snowflake_prod.analytics.public")

# Delete by name with options
DatabaseSchemas.delete_by_name(
    "snowflake_prod.analytics.public",
    recursive=True,
    hard_delete=True
)

# Restore a soft-deleted schema
DatabaseSchemas.restore("770e8400-e29b-41d4-a716-446655440000")
{
  "id": "f681432b-e66c-4096-a1cd-7771358c5323",
  "name": "information_schema",
  "fullyQualifiedName": "Glue.default.information_schema",
  "deleted": true,
  "version": 0.2
}

Delete a Database Schema

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

Delete by ID

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

Delete by Name

Use DELETE /v1/databaseSchemas/name/{fqn} to delete by fully qualified name.
fqn
string
required
Fully qualified name of the schema (e.g., snowflake_prod.analytics.public).
recursive
boolean
default:"false"
Recursively delete child tables.
hardDelete
boolean
default:"false"
Permanently delete the schema.

Restore a Soft-Deleted Schema

Use PUT /v1/databaseSchemas/restore to restore a soft-deleted schema.
id
string
required
UUID of the soft-deleted schema to restore.
DELETE /v1/databaseSchemas/{id}
from metadata.sdk import configure
from metadata.sdk.entities import DatabaseSchemas

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

# Soft delete by ID
DatabaseSchemas.delete("770e8400-e29b-41d4-a716-446655440000")

# Hard delete with recursive
DatabaseSchemas.delete(
    "770e8400-e29b-41d4-a716-446655440000",
    recursive=True,
    hard_delete=True
)

# Delete by name
DatabaseSchemas.delete_by_name("snowflake_prod.analytics.public")

# Delete by name with options
DatabaseSchemas.delete_by_name(
    "snowflake_prod.analytics.public",
    recursive=True,
    hard_delete=True
)

# Restore a soft-deleted schema
DatabaseSchemas.restore("770e8400-e29b-41d4-a716-446655440000")
{
  "id": "f681432b-e66c-4096-a1cd-7771358c5323",
  "name": "information_schema",
  "fullyQualifiedName": "Glue.default.information_schema",
  "deleted": true,
  "version": 0.2
}

Returns

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

Error Handling

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