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

# Knowledge bases create

**Endpoint**\
`POST https://gateway.orkeia.ai/knowledge-bases`

**Autenticación**\
Requiere el encabezado `authorization:  <tu_token>`.

### Cuerpo de la solicitud

> El servicio espera **un wrapper** con `knowledgeBase` y `filename`.

```json theme={null}
{
  "knowledgeBase": {
    "name": "Políticas Internas",
    "description": "Documentos corporativos oficiales",
    "enabled": true,
    "sectors": ["hr", "legal"],
    "content": "https://storage.orkeia.ai/kb/policies.pdf",
    "type": "file",
    "multimodal": false,
    "tags": ["compliance", "contracts"]
  },
  "filename": "policies.pdf"
}
```

> **Notas**
>
> * Para `type: "file"`, envíe `filename` correspondiente al contenido almacenado.
> * Para `type: "url"` o `type: "text"`, `filename` puede ser ignorado/vacío, pero el campo existe en el payload por consistencia del endpoint.
> * `content`:
>   * `file`: ruta/URL de almacenamiento del archivo (ej.: S3/Storage).
>   * `url`: enlace público/privado a ser referenciado.
>   * `text`: contenido textual directo.

### Ejemplo (cURL)

```bash theme={null}
curl -X POST "https://gateway.orkeia.ai/knowledge-bases"   -H "Authorization: Bearer <tu_token>"   -H "Content-Type: application/json"   -d '{
    "knowledgeBase": {
      "name": "Políticas Internas",
      "description": "Documentos corporativos oficiales",
      "enabled": true,
      "sectors": ["hr", "legal"],
      "content": "https://storage.orkeia.ai/kb/policies.pdf",
      "type": "file",
      "multimodal": false,
      "tags": ["compliance", "contracts"]
    },
    "filename": "policies.pdf",
  }'
```

### Interfaz de referencia:

```ts theme={null}
export interface KnowledgeBase {
  id?: string;
  name: string;
  description: string;
  enabled: boolean;
  sectors: string[];
  content: string;
  type: 'file' | 'url' | 'text';
  multimodal: boolean;
  tags: string[];
}
```

| Nombre      | Tipo                      | Obligatorio | Descripción                                                                                    | Ejemplo                                                                                  |
| ----------- | ------------------------- | ----------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| id          | string                    | No          | Identificador único de la base de conocimiento (retornado por el backend).                     | "KB\_123456"                                                                             |
| name        | string                    | Sí          | Nombre de la base de conocimiento.                                                             | "Políticas Internas"                                                                     |
| description | string                    | Sí          | Descripción breve del contenido/uso.                                                           | "Documentos corporativos oficiales"                                                      |
| enabled     | boolean                   | Sí          | Indica si la base estará activa en el ambiente.                                                | true                                                                                     |
| sectors     | string\[]                 | Sí          | Sectores que pueden consumir esta base (gobernanza de acceso).                                 | \["hr", "legal"]                                                                         |
| content     | string                    | Sí          | Fuente del contenido: ruta/URL del archivo, enlace externo, o texto literal (conforme `type`). | "[https://storage.orkeia.ai/kb/policies.pdf](https://storage.orkeia.ai/kb/policies.pdf)" |
| type        | "file" \| "url" \| "text" | Sí          | Tipo del contenido.                                                                            | "file"                                                                                   |
| multimodal  | boolean                   | Sí          | Si la base contiene modalidades además de texto (imágenes/audio/vídeo).                        | false                                                                                    |
| tags        | string\[]                 | Sí          | Metadatos/etiquetas para búsqueda y organización.                                              | \["compliance","contracts"]                                                              |

## Respuestas

### Response - Success

```json response theme={null}
{
  "status": "OK",
  "data": { "id": "KB_123456" }
}
```

### 500 — Bad Request

```json theme={null}
{
  "status": "ERROR",
  "code": "server/error",
  "data": null
}
```

### 400 — Client Error

```json theme={null}
{
  "status": "ERROR",
  "code": "client/error",
  "data": null
}
```
