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

# Obtener información de las bases de datos

> Consulta y gestiona las bases de datos de Datum almacenadas en Jelou.

<Note>
  La estructura del esquema es clave para validar los datos antes de insertar o consultar registros desde tus workflows.
</Note>

## Descripción

La API de Datum te permite consultar las bases de datos disponibles en Jelou y acceder a su estructura y metadatos.\
Es útil para listar esquemas, validar campos y preparar operaciones de lectura o escritura desde tus workflows.

## Obtener bases de datos

### Endpoint

```
GET https://api.jelou.ai/v2/databases
```

### Parámetros de consulta

<ParamField query="shouldPaginate" type="string">
  Define si los resultados deben devolverse de forma paginada.

  ### Respuestas

  * **200 – OK** Solicitud exitosa.
  * **401 – Unauthorized** Credenciales inválidas o faltantes.
  * **500 – Internal Server Error** Error interno del servidor.

  ### \\

  Ejemplo de respuesta

  ```json theme={null}
  {
    "message": ["¡Bases de datos recuperadas exitosamente!"],
    "statusMessage": "success",
    "status": 1,
    "data": [
      {
        "id": 123456789,
        "name": "JELOU TEST",
        "slug": "jeloutest",
        "driver": "elastic",
        "description": "JELOU TEST",
        "companyId": 135,
        "schema": {
          "type": "object",
          "properties": {
            "total": { "type": "string", "database": "text" },
            "name": { "type": "string", "database": "text" }
          },
          "required": ["total", "name"]
        }
      }
    ]
  }
  ```
</ParamField>

## Estructura de la base de datos

Cada base de datos en Datum está compuesta por los siguientes atributos:

| Propiedad   | Tipo    | Descripción                                                       |
| ----------- | ------- | ----------------------------------------------------------------- |
| id          | string  | Identificador único de la base de datos.                          |
| name        | string  | Nombre de la base de datos.                                       |
| description | string  | Descripción funcional de la base de datos.                        |
| schema      | object  | Esquema que define los campos y tipos de datos.                   |
| state       | boolean | Estado de la base de datos. `true` = activa, `false` = eliminada. |
| createdAt   | date    | Fecha de creación.                                                |
| updatedAt   | date    | Fecha de última actualización.                                    |
| columns     | array   | Columnas visibles en Datum, con nombre, descripción y orden.      |
| metadata    | array   | Metadatos adicionales asociados a la base de datos.               |

## Estructura del esquema

Define la forma y validaciones de los datos almacenados.

| Propiedad  | Tipo   | Descripción                                           |
| ---------- | ------ | ----------------------------------------------------- |
| type       | string | Tipo de esquema (normalmente `object`).               |
| required   | array  | Campos obligatorios al insertar un registro.          |
| properties | object | Cada propiedad representa un campo y su tipo de dato. |

## Obtener información de una base de datos específica

### Endpoint

```
GET https://api.jelou.ai/v2/databases/DATABASE_ID
```

### Parámetros de ruta

<ParamField path="DATABASE_ID" type="string" required>
  Identificador único de la base de datos.
</ParamField>

### Respuestas

* **200 – OK** Base de datos encontrada.
* **401 – Unauthorized** No autorizado.
* **404 – Not Found** Base de datos no encontrada.
* **500 – Internal Server Error** Error interno del servidor.

### Ejemplo de respuesta

```json theme={null}
{
  "message": ["¡Base de datos recuperada exitosamente!"],
  "statusMessage": "success",
  "status": 1,
  "data": {
    "id": 123456789,
    "name": "JELOU TEST",
    "slug": "jeloutest",
    "schema": {
      "type": "object",
      "properties": {
        "total": { "type": "string", "database": "text" },
        "name": { "type": "string", "database": "text" }
      },
      "required": ["total", "name"]
    }
  }
}
```


## OpenAPI

````yaml GET /v2/databases
openapi: 3.1.0
info:
  title: Jelou API
  description: >-
    API for the Jelou platform. Send messages, manage campaigns, handle
    conversations, users, databases, and widgets.
  version: 1.0.0
servers:
  - url: https://api.jelou.ai
    description: Production server
security:
  - basicAuth: []
tags:
  - name: Messages
    description: Send messages to users
  - name: Campaigns
    description: HSM campaigns and templates
  - name: Conversations
    description: Chat history and metrics
  - name: Users
    description: User state and cache management
  - name: Resources
    description: Media resource management
  - name: Datum
    description: Database CRUD operations
  - name: Widget
    description: Widget and room management
  - name: PMA Custom
    description: External support panel integration
paths:
  /v2/databases:
    get:
      tags:
        - Datum
      summary: List Databases
      description: Retrieve all Datum databases.
      operationId: listDatabases
      parameters:
        - name: shouldPaginate
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Databases retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabasesListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    DatabasesListResponse:
      type: object
      properties:
        message:
          type: array
          items:
            type: string
        statusMessage:
          type: string
        status:
          type: integer
        data:
          type: array
          items:
            $ref: '#/components/schemas/Database'
    Database:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        slug:
          type: string
        driver:
          type: string
        description:
          type: string
        companyId:
          type: integer
        schema:
          type: object
        state:
          type: boolean
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        message:
          oneOf:
            - type: string
            - type: array
              items:
                type: string
        statusMessage:
          type: string
        status:
          type: integer
        error:
          type: object
          properties:
            code:
              type: string
            key:
              type: string
            description:
              type: string
            developerMessages:
              type: object
            clientMessages:
              type: object
        validationError:
          type: object
  responses:
    Unauthorized:
      description: Unauthorized - Invalid authentication credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Basic authentication using Base64 encoded clientId:clientSecret

````