DocumentationCréer votre assistant
Vos assistants
Créer votre assistant
Un assistant réunit des consignes, un modèle et une mémoire de conversation. Vous le créez par l’API, puis vous lui parlez dans des fils.
Sur cette page
Accès
Les routes des assistants agissent au nom d’une personne. Elles demandent son jeton de connexion Learnya, obtenu par OAuth pour l’audience https://api.learnya.ai. Les clés d’API n’ouvrent que les modèles.
Créer un assistant
POST /v1/assistant Crée l’assistant et renvoie son identifiant.
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)Réponse
{
"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"
}Les champs
nametexteobligatoire- Son nom, tel que les personnes le voient dans Learnya.
modeltexteobligatoire- Le modèle qui l’anime : learnya-flash ou learnya-max.
instructionstexte- Ses consignes, jusqu’à 500 000 caractères.
visibilitytexte- private le réserve à la personne qui le crée. org et instance le partagent avec l’organisation ou tout l’espace de travail, et demandent des droits d’administration.
contextWindowobjet- Ce qu’il relit d’un fil : full, none, ou les derniers messages avec last_n et historyLimit, de 1 à 500.
responseFormatobjet- text, ou json avec un schéma pour lire la réponse dans votre code.
Lire, modifier, supprimer
GET /v1/assistants Les assistants que la personne peut utiliser.
GET /v1/assistant/{id} Un assistant.
PUT /v1/assistant/{id} Modifie les champs envoyés, et eux seuls.
DELETE /v1/assistant/{id} Supprime l’assistant.
Seuls la personne qui l’a créé et les administrateurs de l’espace de travail modifient ou suppriment un assistant.