API-referentie
Julien AI
Julien AI is de assistent van de Gemlead-app. Via de API beantwoordt hij vragen over Gemlead en over het X-account van de sleutel, met de leads, persona's, campagnes en gesprekken ervan. Hij antwoordt alleen en maakt, wijzigt of verstuurt nooit iets.
Stuur een bericht zonder chat_id om een chat te beginnen, en stuur de volgende met de chat_id uit het antwoord om erin verder te gaan. Je bereikt de chats die via de API met dit X-account zijn gemaakt, nooit de chats van de app.
Na het versturen wacht de API maximaal 25 seconden op het antwoord. Heeft Julien AI meer tijd nodig, dan komt het antwoord terug met de status running. Haal het om de paar seconden op tot het completed of failed is, wat hooguit 150 seconden duurt.
Elk X-account kan 6 berichten per minuut en 100 per UTC-dag sturen, één tegelijk per chat en 3 tegelijk in totaal, elk van 1 tot 4 000 tekens. Julien AI accepteert daarnaast maximaal 150 berichten per uur per gebruiker, de chat in de app en de API samen.
Het assistentantwoord-object
Eén bericht aan Julien AI en het antwoord erop. Je krijgt dit object terug als je een bericht verstuurt, en het blijft via de ID op te vragen.
Attributen
- idstringUnieke ID van het antwoord,
rpl_gevolgd door 32 tekens. - objectstringAltijd
assistant_reply. - statusstring
runningterwijl Julien AI schrijft, daarnacompletedoffailed.runningcompletedfailed - chat_idstring of nullDe chat van het bericht. Stuur het volgende bericht hiermee om in dezelfde chat verder te gaan.
nullzolang het eerste bericht van een nieuwe chat nog wordt verwerkt. - messageobject of null
- replyobject of null
- errorobject of nullWaarom het antwoord mislukte, anders
null. - created_atstringWanneer het bericht is verstuurd, in ISO 8601.
- completed_atstring of nullWanneer het antwoord eindigde, voltooid of mislukt, in ISO 8601.
nullzolang het loopt.
{
"id": "rpl_7Hq2LmX9vR4tKp8WzN3cYd6FbJ1sGa5E",
"object": "assistant_reply",
"status": "completed",
"chat_id": "Jc7Rk2WqNb",
"message": {
"id": "Qm4xT8vLpZ",
"object": "assistant_message",
"chat_id": "Jc7Rk2WqNb",
"role": "user",
"text": "Which persona brought the most hot leads?",
"created_at": "2026-11-06T09:14:02.000Z"
},
"reply": {
"id": "Ra9Yh3KsDw",
"object": "assistant_message",
"chat_id": "Jc7Rk2WqNb",
"role": "assistant",
"text": "Tipsters, with 38 hot leads this week out of 412 scored. Most of them follow @bettingpros.\n\nShould I compare it with last week?",
"created_at": "2026-11-06T09:14:09.000Z"
},
"error": null,
"created_at": "2026-11-06T09:14:02.000Z",
"completed_at": "2026-11-06T09:14:09.000Z"
}Een bericht sturen
Stuurt een bericht naar Julien AI en wacht maximaal 25 seconden op het antwoord. Duurt het langer, dan komt het antwoord terug als running en haal je het op tot het klaar is. Stuur het met een Idempotency-Key, zodat een nieuwe poging de vraag nooit twee keer stelt.
Bodyparameters
- textstringVerplichtJe bericht, 1 tot 4 000 tekens.
- chat_idstringDe chat om in verder te gaan, uit een eerder antwoord. Zonder deze waarde begint het bericht een nieuwe chat.
Resultaat
Een assistentantwoord-object, completed met het antwoord, of running als Julien AI meer dan 25 seconden nodig heeft.
Fouten
- Er ontbreekt een verplichte parameter.
paramgeeft aan welke. - De tekst is leeg of langer dan 4 000 tekens.
paramnoemt het veld. - Geen chat met deze ID die via de API met dit X-account is gemaakt. Voor de eigen chats van de app krijg je hetzelfde antwoord.
- Julien AI is nog bezig met een bericht in deze chat, of met 3 berichten van dit X-account.
- Meer dan 6 berichten in een minuut vanaf dit X-account, of 150 in een uur voor de eigenaar.
- Vandaag, in UTC, al 100 berichten vanaf dit X-account.
- Julien AI is niet beschikbaar of kon niet antwoorden. Een bericht dat hij ontving, blijft in de chat staan.
curl -X POST https://gemlead.ai/api/v1/assistant/messages \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Which persona brought the most hot leads?"
}'{
"id": "rpl_7Hq2LmX9vR4tKp8WzN3cYd6FbJ1sGa5E",
"object": "assistant_reply",
"status": "completed",
"chat_id": "Jc7Rk2WqNb",
"message": {
"id": "Qm4xT8vLpZ",
"object": "assistant_message",
"chat_id": "Jc7Rk2WqNb",
"role": "user",
"text": "Which persona brought the most hot leads?",
"created_at": "2026-11-06T09:14:02.000Z"
},
"reply": {
"id": "Ra9Yh3KsDw",
"object": "assistant_message",
"chat_id": "Jc7Rk2WqNb",
"role": "assistant",
"text": "Tipsters, with 38 hot leads this week out of 412 scored. Most of them follow @bettingpros.\n\nShould I compare it with last week?",
"created_at": "2026-11-06T09:14:09.000Z"
},
"error": null,
"created_at": "2026-11-06T09:14:02.000Z",
"completed_at": "2026-11-06T09:14:09.000Z"
}Een antwoord ophalen
Geeft een antwoord terug. Zolang het running is, haal je het om de paar seconden op. Het eindigt als completed met het antwoord van Julien AI, of als failed met de error.
Padparameters
- reply_idstringVerplichtDe ID van het antwoord.
Resultaat
Fouten
- Geen antwoord met deze ID op het X-account van de sleutel.
curl \
https://gemlead.ai/api/v1/assistant/replies/rpl_7Hq2LmX9vR4tKp8WzN3cYd6FbJ1sGa5E \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "rpl_7Hq2LmX9vR4tKp8WzN3cYd6FbJ1sGa5E",
"object": "assistant_reply",
"status": "running",
"chat_id": "Jc7Rk2WqNb",
"message": null,
"reply": null,
"error": null,
"created_at": "2026-11-06T09:14:02.000Z",
"completed_at": null
}Het assistentbericht-object
Een bericht uit een chat met Julien AI, van jou of van Julien AI zelf.
Attributen
- idstringUnieke ID van het bericht.
- objectstringAltijd
assistant_message. - chat_idstringDe chat waar het bij hoort.
- rolestring
uservoor jouw berichten,assistantvoor die van Julien AI.userassistant - textstringHet bericht. Bij Julien AI het antwoord, gevolgd door de vraag die hij je stelt, als hij er een stelt.
- created_atstringWanneer het bericht is verstuurd, in ISO 8601.
{
"id": "Ra9Yh3KsDw",
"object": "assistant_message",
"chat_id": "Jc7Rk2WqNb",
"role": "assistant",
"text": "Tipsters, with 38 hot leads this week out of 412 scored. Most of them follow @bettingpros.\n\nShould I compare it with last week?",
"created_at": "2026-11-06T09:14:09.000Z"
}Berichten opvragen
readGeeft de berichten terug van je chats met Julien AI die via de API zijn gemaakt, je eigen berichten en zijn antwoorden, nieuwste eerst.
Queryparameters
- chat_idstringAlleen de berichten van deze chat. Standaard alle chats van dit X-account.
- limitintegerHoeveel objecten je terugkrijgt, van 1 tot 100. Standaard 25.
- cursorstringDe
next_cursorvan de vorige pagina, om de pagina daarna op te halen. Zie Paginering.
Resultaat
Een lijst van assistentbericht-objecten.
Fouten
- Geen chat met deze ID die via de API met dit X-account is gemaakt. Voor de eigen chats van de app krijg je hetzelfde antwoord.
- Een parameter heeft een waarde die de API niet accepteert.
paramgeeft aan welke.
curl -G https://gemlead.ai/api/v1/assistant/messages \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-d chat_id=Jc7Rk2WqNb{
"object": "list",
"data": [
{
"id": "Ra9Yh3KsDw",
"object": "assistant_message",
"chat_id": "Jc7Rk2WqNb",
"role": "assistant",
"text": "Tipsters, with 38 hot leads this week out of 412 scored. Most of them follow @bettingpros.\n\nShould I compare it with last week?",
"created_at": "2026-11-06T09:14:09.000Z"
},
{
"id": "Qm4xT8vLpZ",
"object": "assistant_message",
"chat_id": "Jc7Rk2WqNb",
"role": "user",
"text": "Which persona brought the most hot leads?",
"created_at": "2026-11-06T09:14:02.000Z"
}
],
"has_more": false,
"next_cursor": null
}Het assistentchat-object
Een chat met Julien AI die via de API is gestart.
Attributen
- idstringUnieke ID van de chat, de
chat_idvan de berichten erin. - objectstringAltijd
assistant_chat. - titlestringDe titel van de chat, zoals de app chats een titel geeft.
New chatzolang er nog geen titel is. - created_atstringWanneer de chat begon, in ISO 8601.
- last_message_atstringWanneer het laatste bericht is verstuurd, in ISO 8601.
- last_message_previewstringHet begin van het laatste bericht.
{
"id": "Jc7Rk2WqNb",
"object": "assistant_chat",
"title": "Hot leads this week",
"created_at": "2026-11-06T09:14:02.000Z",
"last_message_at": "2026-11-06T09:14:09.000Z",
"last_message_preview": "Tipsters, with 38 hot leads this week out of 412 scored."
}Chats opvragen
readGeeft je chats met Julien AI terug die via de API met dit X-account zijn gemaakt, de laatst actieve eerst.
Queryparameters
- limitintegerHoeveel objecten je terugkrijgt, van 1 tot 100. Standaard 25.
- cursorstringDe
next_cursorvan de vorige pagina, om de pagina daarna op te halen. Zie Paginering.
Resultaat
Een lijst van assistentchat-objecten.
Fouten
- Een parameter heeft een waarde die de API niet accepteert.
paramgeeft aan welke.
curl https://gemlead.ai/api/v1/assistant/chats \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"object": "list",
"data": [
{
"id": "Jc7Rk2WqNb",
"object": "assistant_chat",
"title": "Hot leads this week",
"created_at": "2026-11-06T09:14:02.000Z",
"last_message_at": "2026-11-06T09:14:09.000Z",
"last_message_preview": "Tipsters, with 38 hot leads this week out of 412 scored."
}
],
"has_more": false,
"next_cursor": null
}