DocumentaciónCrea tu asistente
Tus asistentes
Crea tu asistente
Un asistente reúne instrucciones, un modelo y una memoria de conversación. Lo creas a través de la API y después le hablas en hilos.
En esta página
Acceso
Las rutas de los asistentes actúan en nombre de una persona. Requieren su token de acceso de Learnya, obtenido mediante OAuth para la audiencia https://api.learnya.ai. Las claves de API solo dan acceso a los modelos.
Crear un asistente
POST /v1/assistant Crea el asistente y devuelve su identificador.
curl https://api.learnya.ai/v1/assistant \
-H "Authorization: Bearer $LEARNYA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Billing desk",
"model": "learnya-flash",
"instructions": "Answer billing questions plainly.",
"visibility": "private",
"contextWindow": { "mode": "last_n", "historyLimit": 20 }
}'import os
import requests
API = "https://api.learnya.ai/v1"
TOKEN = os.environ["LEARNYA_TOKEN"]
HEADERS = {"Authorization": f"Bearer {TOKEN}"}
assistant = requests.post(
f"{API}/assistant",
headers=HEADERS,
json={
"name": "Billing desk",
"model": "learnya-flash",
"instructions": "Answer billing questions plainly.",
"visibility": "private",
"contextWindow": {"mode": "last_n", "historyLimit": 20},
},
).json()
print(assistant["id"])const API = "https://api.learnya.ai/v1"
const headers = {
Authorization: `Bearer ${process.env.LEARNYA_TOKEN}`,
"Content-Type": "application/json",
}
const response = await fetch(`${API}/assistant`, {
method: "POST",
headers,
body: JSON.stringify({
name: "Billing desk",
model: "learnya-flash",
instructions: "Answer billing questions plainly.",
visibility: "private",
contextWindow: { mode: "last_n", historyLimit: 20 },
}),
})
const assistant = await response.json()
console.log(assistant.id)interface Assistant {
id: string
name: string
model: string
instructions?: string | null
visibility: "private" | "org" | "instance"
createdAt: string
}
const API = "https://api.learnya.ai/v1"
const headers = {
Authorization: `Bearer ${process.env.LEARNYA_TOKEN}`,
"Content-Type": "application/json",
}
const response = await fetch(`${API}/assistant`, {
method: "POST",
headers,
body: JSON.stringify({
name: "Billing desk",
model: "learnya-flash",
instructions: "Answer billing questions plainly.",
visibility: "private",
contextWindow: { mode: "last_n", historyLimit: 20 },
}),
})
const assistant = (await response.json()) as Assistant
console.log(assistant.id){
"id": "6f1c2b0e-3a4d-4c8e-9b7a-2d5e8f1a0c34",
"name": "Billing desk",
"instructions": "Answer billing questions plainly.",
"model": "learnya-flash",
"tools": [],
"responseFormat": { "type": "text" },
"contextWindow": { "mode": "last_n", "historyLimit": 20 },
"visibility": "private",
"ownerUserId": "0b9d4e2a-7c1f-4a6b-8e3d-5f2a9c7b1e08",
"createdAt": "2026-10-09T09:41:12.000Z"
}Los campos
nametextoobligatorio- Su nombre, tal como lo ven las personas en Learnya.
modeltextoobligatorio- El modelo que lo impulsa: learnya-flash o learnya-max.
instructionstexto- Sus instrucciones, hasta 500.000 caracteres.
visibilitytexto- private lo reserva a la persona que lo crea. org e instance lo comparten con la organización o con todo el espacio de trabajo, y requieren permisos de administración.
contextWindowobjeto- Lo que vuelve a leer de un hilo: full, none, o los últimos mensajes con last_n y historyLimit, de 1 a 500.
responseFormatobjeto- text, o json con un esquema para leer la respuesta en tu código.
Leer, modificar, eliminar
GET /v1/assistants Los asistentes que la persona puede usar.
GET /v1/assistant/{id} Un solo asistente.
PUT /v1/assistant/{id} Modifica los campos enviados, y solo esos.
DELETE /v1/assistant/{id} Elimina el asistente.
Solo la persona que lo creó y los administradores del espacio de trabajo pueden modificar o eliminar un asistente.