> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hydradb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Database Status

> Check the readiness of a database's infrastructure.

Database creation is asynchronous, check if your database is ready before executing ingestion or any queries.

The response includes `infra.ready_for_ingestion`, a convenience flag derived from the vectorstore fields below. For a single check, read that field. The underlying signals are:

* `infra.ready_for_ingestion === true` (derived - true once both vectorstores are provisioned)
* `infra.scheduler_status === true` (the background indexing scheduler)
* `infra.graph_status === true` (the graph layer)
* `infra.vectorstore_status.knowledge === true`
* `infra.vectorstore_status.memories === true`

<RequestExample>
  ```python Python SDK theme={"dark"}
  response = client.databases.status(database="my_first_database")

  if response.data.infra.ready_for_ingestion:
      print("Database is ready.")
  ```

  ```typescript TypeScript SDK theme={"dark"}
  const response = await client.databases.status({
    database: "my_first_database",
  });

  if (response.data?.infra.readyForIngestion) {
    console.log("Database is ready.");
  }
  ```

  ```bash cURL theme={"dark"}
  curl -X GET 'https://api.hydradb.com/databases/status?database=my_first_database' \
    -H "Authorization: Bearer <your_api_key>" \
    -H "API-Version: 2"
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={"dark"}
  {
    "success": true,
    "data": {
      "database": "my_first_database",
      "org_id": "org_abc123",
      "infra": {
        "scheduler_status": true,
        "graph_status": true,
        "vectorstore_status": {
          "knowledge": true,
          "memories": true
        },
        "ready_for_ingestion": true
      },
      "message": "Deployed infrastructure status"
    },
    "error": null,
    "meta": {
      "request_id": "9d13aef4-02f4-4e73-8c62-4c2601d04f9d",
      "latency_ms": 12.3
    }
  }
  ```

  ```json Failure theme={"dark"}
  {
    "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
    }
  }
  ```
</ResponseExample>

**Stale database IDs:** If `database` does not exist, the call returns `404 DATABASE_NOT_FOUND`. Always verify that the database was created successfully before polling.

<Warning>
  **Common mistake:** `row_count` from [Database Stats](/api-reference/v2/endpoint/tenant-stats) counts individual chunks, not documents. For distinct source or memory counts, use [List Documents](/api-reference/v2/endpoint/list-documents) and read `pagination.total` from the response.
</Warning>

<div className="api-before-related-resources" />

<Tip>
  **Related Resources**

  * **Before this:** [Create Database](/api-reference/v2/endpoint/create-tenant) - kicks off provisioning
  * **After this:** [Ingest Context](/api-reference/v2/endpoint/ingest-context) - once status is ready
</Tip>


## OpenAPI

````yaml api-reference/v2/openapi.json GET /databases/status
openapi: 3.1.0
info:
  contact:
    email: support@hydradb.com
    name: HydraDB Support
  description: >-
    HydraDB Application API — knowledge ingestion, search, and memory
    management.
  license:
    name: Proprietary
  title: HydraDB Application API
  version: 0.1.0
servers:
  - description: Production server
    url: https://api.hydradb.com
security: []
externalDocs:
  description: ''
  url: ''
paths:
  /databases/status:
    get:
      tags:
        - database-management
      summary: Get infrastructure status
      description: Check the infrastructure provisioning status for a database
      parameters:
        - description: Database identifier
          in: query
          name: database
          required: true
          schema:
            example: acme_corp
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/handler.Envelope-tenants_InfraStatusResponseV2
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Internal Server Error
      security:
        - BearerAuth: []
components:
  schemas:
    handler.Envelope-tenants_InfraStatusResponseV2:
      properties:
        data:
          $ref: '#/components/schemas/tenants.InfraStatusResponseV2'
          example:
            database: acme_corp
            infra:
              graph_status: true
              scheduler_status: true
              vectorstore_status:
                knowledge: true
                memories: true
            message: Success
            org_id: org_1a2b3c
            tenant_id: tenant_1234
        error:
          $ref: '#/components/schemas/handler.apiError'
          description: Error message, empty string on success.
          example:
            code: DATABASE_NOT_FOUND
            message: Database not found
        meta:
          $ref: '#/components/schemas/handler.responseMeta'
          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
        success:
          description: Whether the request succeeded.
          example: true
          type: boolean
      type: object
    handler.ErrorResponse:
      properties:
        detail:
          $ref: '#/components/schemas/handler.ErrorDetail'
          description: Structured error detail with code, message, and deprecation hints.
          example:
            deprecated: true
            deprecated_field: tenant_id
            error_code: VALIDATION_ERROR
            message: Request validation failed
            preferred_field: database
            success: true
      type: object
    tenants.InfraStatusResponseV2:
      properties:
        database:
          description: >-
            Owning database. Formerly `tenant_id`; the `tenant_id` alias is
            still accepted (deprecated).
          example: acme_corp
          type: string
        infra:
          $ref: '#/components/schemas/tenants.InfraV2'
          example:
            graph_status: true
            scheduler_status: true
            vectorstore_status:
              knowledge: true
              memories: true
        message:
          description: Human-readable result message.
          example: Success
          type: string
        org_id:
          description: Organization that owns this resource.
          example: org_1a2b3c
          type: string
        tenant_id:
          deprecated: true
          example: tenant_1234
          type: string
          x-deprecated: 'true'
      type: object
    handler.apiError:
      properties:
        code:
          description: Machine-readable error code (e.g. `DATABASE_NOT_FOUND`).
          example: DATABASE_NOT_FOUND
          type: string
        message:
          description: Human-readable description of the error.
          example: Database not found
          type: string
      type: object
    handler.responseMeta:
      properties:
        collection:
          description: >-
            Collection scope. Defaults to the default collection when omitted.
            Formerly `sub_tenant_id`; the `sub_tenant_id` alias is still
            accepted (deprecated).
          example: team_docs
          type: string
        database:
          description: >-
            Owning database. Formerly `tenant_id`; the `tenant_id` alias is
            still accepted (deprecated).
          example: acme_corp
          type: string
        deprecation:
          description: >-
            Deprecation lists any migration nudges that apply to this request —
            the

            caller used a legacy /tenants route, a legacy
            tenant_id/sub_tenant_id field,

            or the deprecated sub_tenant_ids selector. It is a non-breaking
            signal (the

            status code is unchanged); omitempty keeps it absent for
            fully-migrated

            requests. A list so independent deprecations coexist without
            clobbering.
          items:
            $ref: '#/components/schemas/handler.deprecationNotice'
          type: array
          uniqueItems: false
        latency_ms:
          description: Server-side processing time in milliseconds.
          example: 12.3
          type: number
        request_id:
          description: Unique identifier for this request, useful for support and tracing.
          example: 9d13aef4-02f4-4e73-8c62-4c2601d04f9d
          type: string
        source_type:
          description: Type of the parent source (e.g. `file`, `slack`, `notion`).
          example: file
          type: string
        sub_tenant_id:
          deprecated: true
          example: sub_tenant_4567
          type: string
          x-deprecated: 'true'
        tenant_id:
          deprecated: true
          example: tenant_1234
          type: string
          x-deprecated: 'true'
      type: object
    handler.ErrorDetail:
      properties:
        deprecated:
          description: Whether this response concerns a deprecated field or route.
          example: true
          type: boolean
        deprecated_field:
          description: The deprecated field name.
          example: tenant_id
          type: string
        error_code:
          description: Machine-readable error classification code.
          example: VALIDATION_ERROR
          type: string
        message:
          description: Human-readable description of the error.
          example: Request validation failed
          type: string
        preferred_field:
          description: The canonical replacement for the deprecated field.
          example: database
          type: string
        success:
          description: Always false for error responses.
          example: true
          type: boolean
      type: object
    tenants.InfraV2:
      properties:
        graph_status:
          description: Whether the graph store is healthy for this database.
          example: true
          type: boolean
        scheduler_status:
          description: Whether the sync scheduler is healthy for this database.
          example: true
          type: boolean
        vectorstore_status:
          $ref: '#/components/schemas/tenants.VectorstoreStatusV2'
          example:
            knowledge: true
            memories: true
      type: object
    handler.deprecationNotice:
      properties:
        deprecated:
          description: Whether this response concerns a deprecated field or route.
          example: true
          type: boolean
        deprecated_field:
          description: The deprecated field name.
          example: tenant_id
          type: string
        deprecated_since:
          description: API version when the field was deprecated.
          example: 2.0.1
          type: string
        message:
          description: Migration guidance message.
          example: tenant_id is deprecated; use database instead.
          type: string
        preferred_field:
          description: The canonical replacement for the deprecated field.
          example: database
          type: string
      type: object
    tenants.VectorstoreStatusV2:
      properties:
        knowledge:
          description: Whether the knowledge vector store is healthy.
          example: true
          type: boolean
        memories:
          description: Whether the memories vector store is healthy.
          example: true
          type: boolean
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: API key
      description: 'API key sent as a Bearer token: "Bearer prefix.secret"'
      scheme: bearer
      type: http

````