cURL
curl --request POST \
--url https://api.example.com/knowledge-basesimport requests
url = "https://api.example.com/knowledge-bases"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.example.com/knowledge-bases', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/knowledge-bases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/knowledge-bases"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/knowledge-bases")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/knowledge-bases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_bodyBases de Conocimiento
Knowledge bases create
POST
/
knowledge-bases
cURL
curl --request POST \
--url https://api.example.com/knowledge-basesimport requests
url = "https://api.example.com/knowledge-bases"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.example.com/knowledge-bases', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/knowledge-bases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/knowledge-bases"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/knowledge-bases")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/knowledge-bases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_bodyEndpoint
Requiere el encabezado
POST https://gateway.orkeia.ai/knowledge-bases
AutenticaciónRequiere el encabezado
authorization: <tu_token>.
Cuerpo de la solicitud
El servicio espera un wrapper conknowledgeBaseyfilename.
{
"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íefilenamecorrespondiente al contenido almacenado.- Para
type: "url"otype: "text",filenamepuede 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)
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:
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” |
| 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
response
{
"status": "OK",
"data": { "id": "KB_123456" }
}
500 — Bad Request
{
"status": "ERROR",
"code": "server/error",
"data": null
}
400 — Client Error
{
"status": "ERROR",
"code": "client/error",
"data": null
}
¿Esta página le ayudó?
⌘I
