response = client.databases.delete(database="database_to_delete")
const response = await client.databases.delete({
database: "database_to_delete",
});
curl -X DELETE 'https://api.hydradb.com/databases?database=database_to_delete' \
-H "Authorization: Bearer <your_api_key>" \
-H "API-Version: 2"
{
"success": true,
"data": {
"database": "database_to_delete",
"status": "deletion_scheduled",
"message": "Database deregistered. Background cleanup is in progress."
},
"error": null,
"meta": {
"request_id": "9d13aef4-02f4-4e73-8c62-4c2601d04f9d",
"latency_ms": 12.3
}
}
{
"success": false,
"data": null,
"error": {
"code": "DATABASE_NOT_FOUND",
"message": "Database not found"
},
"meta": {
"request_id": "9d13aef4-02f4-4e73-8c62-4c2601d04f9d",
"latency_ms": 4.8
}
}
Databases
Delete Database
Permanently remove a database and all of its data.
DELETE
/
databases
response = client.databases.delete(database="database_to_delete")
const response = await client.databases.delete({
database: "database_to_delete",
});
curl -X DELETE 'https://api.hydradb.com/databases?database=database_to_delete' \
-H "Authorization: Bearer <your_api_key>" \
-H "API-Version: 2"
{
"success": true,
"data": {
"database": "database_to_delete",
"status": "deletion_scheduled",
"message": "Database deregistered. Background cleanup is in progress."
},
"error": null,
"meta": {
"request_id": "9d13aef4-02f4-4e73-8c62-4c2601d04f9d",
"latency_ms": 12.3
}
}
{
"success": false,
"data": null,
"error": {
"code": "DATABASE_NOT_FOUND",
"message": "Database not found"
},
"meta": {
"request_id": "9d13aef4-02f4-4e73-8c62-4c2601d04f9d",
"latency_ms": 4.8
}
}
This action is irreversible. Deleting a database removes all of its associated data, including ingested content, memories, metadata schema, vector indices, and graphs. There is no soft-delete and no recovery window.
The examples below use a placeholder name,
database_to_delete. Replace it with the database you actually mean to destroy before running them - and check the name twice on a shared or team account, where you may not be the only one using it.response = client.databases.delete(database="database_to_delete")
const response = await client.databases.delete({
database: "database_to_delete",
});
curl -X DELETE 'https://api.hydradb.com/databases?database=database_to_delete' \
-H "Authorization: Bearer <your_api_key>" \
-H "API-Version: 2"
Query parameters
| Name | Description |
|---|---|
Identifier of the database to delete. Formerly tenant_id; the tenant_id alias is still accepted (deprecated). |
{
"success": true,
"data": {
"database": "database_to_delete",
"status": "deletion_scheduled",
"message": "Database deregistered. Background cleanup is in progress."
},
"error": null,
"meta": {
"request_id": "9d13aef4-02f4-4e73-8c62-4c2601d04f9d",
"latency_ms": 12.3
}
}
{
"success": false,
"data": null,
"error": {
"code": "DATABASE_NOT_FOUND",
"message": "Database not found"
},
"meta": {
"request_id": "9d13aef4-02f4-4e73-8c62-4c2601d04f9d",
"latency_ms": 4.8
}
}
Deletion completion
Deletion is asynchronous. Treat deletion as complete when the database no longer appears inGET /databases, or when GET /databases/status?database=... returns DATABASE_NOT_FOUND.
After deletion completes, the same database can be used in a new POST /databases request. Until then, avoid recreating the database or retrying ingestion/query against it.
Behavior notes
Irreversible action. Ingested documents, memories, embeddings, graph nodes, metadata schema, and storage objects are permanently removed. There is no recovery window - ensure you have a backup if the content matters.
- Stop in-flight work first: Stop all ingestion, polling, query, and background jobs targeting this database before deleting. Calls made after deregistration can fail with
DATABASE_NOT_FOUNDeven while infrastructure cleanup is still running. - Async cleanup: The endpoint returns immediately after deregistering the database. Infrastructure cleanup of vector stores, graphs, and storage objects runs in the background and may take a few minutes to complete.
- Repeat calls: Deleting an already-deleted database returns
404 DATABASE_NOT_FOUND. Deleting a database that is still provisioning or deleting is treated as a request to tear down that database.
Errors
Common codes:404 DATABASE_NOT_FOUND, 401 UNAUTHORIZED, 422 VALIDATION_ERROR. See Error Responses for the full list.
Related Resources
- Before this: List Databases - find the database ID
- Alternative: Delete Context - remove specific knowledge or memories without deleting the whole database
- Read more: Concepts → Multi-Tenant Support
Authorizations
API key sent as a Bearer token: "Bearer prefix.secret"
Query Parameters
Database identifier to delete
Example:
"acme_corp"
Response
OK
Show child attributes
Show child attributes
Example:
{ "database": "acme_corp", "message": "Success", "status": "completed", "tenant_id": "tenant_1234" }
Error message, empty string on success.
Show child attributes
Show child attributes
Example:
{ "code": "DATABASE_NOT_FOUND", "message": "Database not found" }
Show child attributes
Show child attributes
Example:
{ "collection": "team_docs", "database": "acme_corp", "latency_ms": 12.3, "request_id": "9d13aef4-02f4-4e73-8c62-4c2601d04f9d", "source_type": "file", "sub_tenant_id": "sub_tenant_4567", "tenant_id": "tenant_1234" }
Whether the request succeeded.
Example:
true
Was this page helpful?
