DocumentazioneCrea il tuo assistente
I tuoi assistenti
Crea il tuo assistente
Un assistente riunisce istruzioni, un modello e una memoria di conversazione. Lo crei tramite l’API, poi ci parli nei thread.
In questa pagina
Accesso
Le route degli assistenti agiscono per conto di una persona. Richiedono il suo token di accesso Learnya, ottenuto tramite OAuth per l’audience https://api.learnya.ai. Le chiavi API danno accesso solo ai modelli.
Creare un assistente
POST /v1/assistant Crea l’assistente e ne restituisce l’ID.
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)Risposta
{
"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"
}I campi
nametestoobbligatorio- Il suo nome, come lo vedono le persone in Learnya.
modeltestoobbligatorio- Il modello su cui si basa: learnya-flash o learnya-max.
instructionstesto- Le sue istruzioni, fino a 500.000 caratteri.
visibilitytesto- private lo riserva alla persona che lo crea. org e instance lo condividono con l’organizzazione o con tutto lo spazio di lavoro, e richiedono diritti di amministrazione.
contextWindowoggetto- Cosa rilegge di un thread: full, none, oppure gli ultimi messaggi con last_n e historyLimit, da 1 a 500.
responseFormatoggetto- text, oppure json con uno schema per leggere la risposta nel tuo codice.
Leggere, modificare, eliminare
GET /v1/assistants Gli assistenti che la persona può usare.
GET /v1/assistant/{id} Un singolo assistente.
PUT /v1/assistant/{id} Modifica i campi inviati, e solo quelli.
DELETE /v1/assistant/{id} Elimina l’assistente.
Solo la persona che l’ha creato e gli amministratori dello spazio di lavoro possono modificare o eliminare un assistente.