API: creators, identità e persona
Una creator è una persona che la tua agency gestisce su Telegram. Ha una identità (chi è), una persona (come parla, in otto pagine) e collegamenti ai suoi account Telegram, al suo AI Brain, al suo Vault e ai suoi script. Questi endpoint corrispondono alla pagina Creators della Console.
Endpoints #
| Method | Path | Description | Permission | Status |
|---|---|---|---|---|
| GET | /creators | Elenca le creator (status=active,paused,archived, q= ricerca per nome) | can_setup o can_fan_read | Planned |
| POST | /creators | Crea una creator (nome obbligatorio) | can_setup | Planned |
| GET | /creators/{id} | Una creator con il suo avanzamento setup | can_setup o can_fan_read | Planned |
| PATCH | /creators/{id} | Rinomina, cambia foto, fuso orario o brain collegato | can_setup | Planned |
| POST | /creators/{id}/pause | Metti in pausa: l'AI smette di rispondere su tutti i suoi account | can_setup | Planned |
| POST | /creators/{id}/resume | Riattiva una creator in pausa | can_setup | Planned |
| DELETE | /creators/{id} | Archivia (i suoi fan e le vendite restano) | can_setup | Planned |
| GET | /creators/{id}/identity | La sua carta d'identità | can_setup | Planned |
| PUT | /creators/{id}/identity | Sostituisci la sua carta d'identità | can_setup | Planned |
| GET | /creators/{id}/persona | Le otto pagine della persona e il loro completamento | can_engine | Planned |
| PATCH | /creators/{id}/persona | Modifica una o più pagine della persona | can_engine | Planned |
| GET | /creators/{id}/setup | La Setup card: ogni step e se è completato | can_setup | Planned |
The creator object #
{
"id": "cr_lea",
"name": "Lea",
"status": "active",
"photo_url": "https://cdn.lanachat.ai/w/7Hq2/cr_lea/photo.jpg",
"timezone": "Europe/Paris",
"brain_id": "br_lea_main",
"accounts": { "total": 3, "connected": 2 },
"setup": { "done": 5, "total": 7 },
"created_at": "2026-08-14T09:12:00Z",
"updated_at": "2026-10-05T18:40:11Z"
}
| Field | Type | Description |
|---|---|---|
id | string | Inizia con cr_ |
name | string | Il suo nome nella Console |
status | string | active, paused o archived |
photo_url | string o null | La sua foto |
timezone | string | Fuso orario IANA, ad esempio Europe/Paris |
brain_id | string o null | L'AI Brain collegato |
accounts | object | Conteggio dei suoi account Telegram: total, connected |
setup | object | Step della Setup card done su total |
created_at, updated_at | string | ISO 8601, UTC |
Una creator in pausa mantiene i suoi account collegati ma l'AI non risponde; gli script già avviati si fermano al prossimo step.
Creators #
List creators #
GET /creators · can_setup o can_fan_read
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | active, paused o archived; più valori separati da virgole |
q | string | No | Parte del suo nome |
limit, cursor | number, string | No | Paginazione |
curl "https://api.lanachat.ai/v1/creators?status=active,paused" \
-H "Authorization: Bearer $LANACHAT_TOKEN"
{
"data": [
{ "id": "cr_lea", "name": "Lea", "status": "active", "photo_url": "https://cdn.lanachat.ai/w/7Hq2/cr_lea/photo.jpg", "timezone": "Europe/Paris", "brain_id": "br_lea_main", "accounts": { "total": 3, "connected": 2 }, "setup": { "done": 5, "total": 7 }, "created_at": "2026-08-14T09:12:00Z", "updated_at": "2026-10-05T18:40:11Z" },
{ "id": "cr_mia", "name": "Mia", "status": "paused", "photo_url": null, "timezone": "Europe/Rome", "brain_id": "br_mia_main", "accounts": { "total": 2, "connected": 2 }, "setup": { "done": 7, "total": 7 }, "created_at": "2026-07-02T11:00:00Z", "updated_at": "2026-10-01T08:15:00Z" }
],
"next_cursor": null
}
Create a creator #
POST /creators · can_setup
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Il suo nome nella Console |
timezone | string | No | Fuso orario IANA |
curl -X POST https://api.lanachat.ai/v1/creators \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"name": "Lea", "timezone": "Europe/Paris"}'
{
"id": "cr_lea",
"name": "Lea",
"status": "active",
"photo_url": null,
"timezone": "Europe/Paris",
"brain_id": null,
"accounts": { "total": 0, "connected": 0 },
"setup": { "done": 0, "total": 7 },
"created_at": "2026-10-06T14:00:00Z",
"updated_at": "2026-10-06T14:00:00Z"
}
La risposta è la nuova creator (201). Parte con identità e persona vuote, nessun account e nessun brain: il contatore setup mostra cosa manca, come la Setup card nella Console. Se manca il name risponde 400.
Get a creator #
GET /creators/{id} · can_setup o can_fan_read
curl https://api.lanachat.ai/v1/creators/cr_lea \
-H "Authorization: Bearer $LANACHAT_TOKEN"
La risposta è il creator object. Un id sconosciuto risponde 404.
Update a creator #
PATCH /creators/{id} · can_setup
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | No | Nuovo nome |
timezone | string | No | Fuso orario IANA |
brain_id | string o null | No | Brain da collegare; null lo scollega |
curl -X PATCH https://api.lanachat.ai/v1/creators/cr_lea \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"timezone": "Europe/Madrid", "brain_id": "br_lea_main"}'
La risposta è la creator aggiornata. Un brain_id di un altro workspace risponde 404.
Pause and resume #
POST /creators/{id}/pause e POST /creators/{id}/resume · can_setup
curl -X POST https://api.lanachat.ai/v1/creators/cr_lea/pause \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"
La pausa ferma l'AI su tutti i suoi account in una volta; resume la riattiva. Entrambe rispondono con il creator object aggiornato con il nuovo status.
Archive a creator #
DELETE /creators/{id} · can_setup
curl -X DELETE https://api.lanachat.ai/v1/creators/cr_lea \
-H "Authorization: Bearer $LANACHAT_TOKEN"
La risposta è la creator con status: "archived". I suoi fan e le vendite restano e contano ancora nelle tue statistiche.
Identity #
Get the identity #
GET /creators/{id}/identity · can_setup
curl https://api.lanachat.ai/v1/creators/cr_lea/identity \
-H "Authorization: Bearer $LANACHAT_TOKEN"
La risposta ha gli stessi campi dell'identità qui sotto.
Replace the identity #
PUT /creators/{id}/identity · can_setup
| Parameter | Type | Required | Description |
|---|---|---|---|
first_name | string | No | Il suo nome di battesimo, come lo conoscono i fan |
nicknames | array of strings | No | Nomi brevi a cui risponde |
date_of_birth | string | No | YYYY-MM-DD; deve avere almeno 18 anni |
nationality | string | No | Codice paese a due lettere, ad esempio FR |
languages | array of strings | No | Lingue che parla, ad esempio ["fr", "en"] |
curl -X PUT https://api.lanachat.ai/v1/creators/cr_lea/identity \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"first_name": "Lea", "nicknames": ["Lele"], "date_of_birth": "2001-04-12", "nationality": "FR", "languages": ["fr", "en"]}'
{
"first_name": "Lea",
"nicknames": ["Lele"],
"date_of_birth": "2001-04-12",
"zodiac_sign": "aries",
"nationality": "FR",
"languages": ["fr", "en"]
}
zodiac_sign viene calcolato dalla data di nascita. Una creator sotto i 18 anni viene rifiutata (400). PUT sostituisce tutta la card: un campo omesso viene svuotato.
Persona #
La persona ha le stesse otto pagine della Console: appearance, life, voice, mimic, personality, memory, boundaries, examples. Ogni pagina è un oggetto di campi testuali; PATCH modifica solo le pagine inviate.
Get the persona #
GET /creators/{id}/persona · can_engine
curl https://api.lanachat.ai/v1/creators/cr_lea/persona \
-H "Authorization: Bearer $LANACHAT_TOKEN"
La risposta ha la stessa struttura qui sotto, con tutte e otto le pagine.
Change persona pages #
PATCH /creators/{id}/persona · can_engine
| Parameter | Type | Required | Description |
|---|---|---|---|
appearance, life, voice, mimic, personality, memory, boundaries, examples | object | Almeno uno | Le pagine da modificare; le altre restano |
curl -X PATCH https://api.lanachat.ai/v1/creators/cr_lea/persona \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"voice": {"style": "Short, warm, a few emojis, never formal.", "phrase_bank": [{"trigger": "Are you a bot?", "reply": "Haha no, just slow at typing"}]}}'
{
"complete_percent": 64,
"pages": {
"voice": { "style": "Short, warm, a few emojis, never formal.", "phrase_bank": [ { "trigger": "Are you a bot?", "reply": "Haha no, just slow at typing" } ], "complete": true },
"mimic": { "enabled": false, "lines": [], "complete": false }
},
"reply_language": "fr"
}
Suggerimento La persona alimenta ogni brain collegato alla creator. Modificala in un'ora tranquilla, poi testa il brain nel Playground prima delle ore di punta.
Setup progress #
Get the Setup card #
GET /creators/{id}/setup · can_setup
curl https://api.lanachat.ai/v1/creators/cr_lea/setup \
-H "Authorization: Bearer $LANACHAT_TOKEN"
La risposta elenca ogni step della Setup card della Console e se è completato. setup nel creator object mostra lo stesso avanzamento come contatore (done su total).