> ## 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.

# Obter informações dos bancos de dados

> Consulte e gerencie bancos de dados Datum armazenados na Jelou.

<Note>
  A estrutura do schema é fundamental para validar dados antes de inserir ou consultar registros dos seus workflows.
</Note>

## Descrição

A API Datum permite que você consulte os bancos de dados disponíveis na Jelou e acesse sua estrutura e metadados.\
É útil para listar schemas, validar campos e preparar operações de leitura ou escrita dos seus workflows.

## Obter bancos de dados

### Endpoint

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

### Parâmetros de query

<ParamField query="shouldPaginate" type="string">
  Define se os resultados devem ser retornados de forma paginada.

  ### Respostas

  * **200 – OK** Requisição bem-sucedida.
  * **401 – Unauthorized** Credenciais inválidas ou ausentes.
  * **500 – Internal Server Error** Erro interno do servidor.

  ### \\

  Exemplo de resposta

  ```json theme={null}
  {
    "message": ["Databases retrieved successfully!"],
    "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>

## Estrutura do banco de dados

Cada banco de dados no Datum é composto pelos seguintes atributos:

| Propriedade | Tipo    | Descrição                                                     |
| ----------- | ------- | ------------------------------------------------------------- |
| id          | string  | Identificador único do banco de dados.                        |
| name        | string  | Nome do banco de dados.                                       |
| description | string  | Descrição funcional do banco de dados.                        |
| schema      | object  | Schema que define os campos e tipos de dados.                 |
| state       | boolean | Estado do banco de dados. `true` = ativo, `false` = excluído. |
| createdAt   | date    | Data de criação.                                              |
| updatedAt   | date    | Data da última atualização.                                   |
| columns     | array   | Colunas visíveis no Datum, com nome, descrição e ordem.       |
| metadata    | array   | Metadados adicionais associados ao banco de dados.            |

## Estrutura do schema

Define a forma e as validações dos dados armazenados.

| Propriedade | Tipo   | Descrição                                                |
| ----------- | ------ | -------------------------------------------------------- |
| type        | string | Tipo do schema (geralmente `object`).                    |
| required    | array  | Campos obrigatórios ao inserir um registro.              |
| properties  | object | Cada propriedade representa um campo e seu tipo de dado. |

## Obter informações de um banco de dados específico

### Endpoint

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

### Parâmetros de path

<ParamField path="DATABASE_ID" type="string" required>
  Identificador único do banco de dados.
</ParamField>

### Respostas

* **200 – OK** Banco de dados encontrado.
* **401 – Unauthorized** Não autorizado.
* **404 – Not Found** Banco de dados não encontrado.
* **500 – Internal Server Error** Erro interno do servidor.

### Exemplo de resposta

```json theme={null}
{
  "message": ["Database retrieved successfully!"],
  "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

````