> ## Documentation Index
> Fetch the complete documentation index at: https://cortex-e852fafe-docs-pro-2457-api-response-cleanup.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Databases: Overview

> Every database endpoint, the order to call them in, and what each is for.

Databases are physically isolated spaces for storing context. In most integrations you create a database once, wait for provisioning, then ingest and query inside it.

## Endpoint references

| Endpoint | Method | SDK method | Purpose | Async? |
| - | - | - | - | - |
| [`/databases`](/api-reference/v2/endpoint/create-tenant) | `POST` | `databases.create` | Create a new isolated workspace | Yes |
| [`/databases`](/api-reference/v2/endpoint/delete-tenant) | `DELETE` | `databases.delete` | Permanently remove a database | Yes |
| [`/databases`](/api-reference/v2/endpoint/list-tenants) | `GET` | `databases.list` | List all databases for the organization | No |
| [`/databases/status`](/api-reference/v2/endpoint/tenant-status) | `GET` | `databases.status` | Check provisioning readiness | No |
| [`/databases/stats`](/api-reference/v2/endpoint/tenant-stats) | `GET` | `databases.stats` | Row counts for a database | No |
| [`/databases/collections`](/api-reference/v2/endpoint/list-sub-tenants) | `GET` | TypeScript: `databases.collections`<br />Python: `databases.collections` | List active collections | No |
| [`/databases/collections`](/api-reference/v2/endpoint/delete-collection) | `DELETE` | TypeScript: `databases.deleteCollection`<br />Python: `databases.delete_collection` | Permanently remove one collection | Yes |
| [`/databases/{database}/metadata-schema`](/api-reference/v2/endpoint/update-metadata-schema) | `PATCH` | TypeScript: `databases.updateMetadataSchema`<br />Python: `databases.update_metadata_schema` | Add metadata schema fields | No |
| `/databases/{database}/metadata-schema` | `GET` | TypeScript: `databases.getMetadataSchema`<br />Python: `databases.get_metadata_schema` | Read the metadata schema | No |

## Typical call sequence

For a new database from scratch:

1. Create the database: `POST /databases`
2. Wait for provisioning: `GET /databases/status` until `infra.ready_for_ingestion` is `true`
3. Ingest content: `POST /context/ingest`
4. Wait for indexing: `GET /context/status` until sources are searchable
5. Retrieve context: `POST /query`
6. Inspect usage: `GET /databases/stats`
7. Delete: `DELETE /databases`

For routine operations on an existing database:

* `GET /databases`: list databases in the org
* `GET /databases/collections`: list active collections
* `GET /databases/stats`: row counts for knowledge and memories

## Key concepts

* **Database:** A top-level isolated space. For example, you can dedicate one database to one enterprise customer.
* **Collection:** Partitions within a database for per-user separation. The first collection is created implicitly at ingestion. Collections are useful when you need to scope data per user, team, or customer within a single database.
* **Database Metadata & Schema:** Structured fields defined at database creation to enable query-time filtering. You can add fields later with [Update Metadata Schema](/api-reference/v2/endpoint/update-metadata-schema).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.