Referência da API
Julien AI
O Julien AI é o assistente do app Gemlead. Pela API, ele responde perguntas sobre o Gemlead e sobre a conta do X da chave, com os leads, as personas, as campanhas e as conversas dela. Ele só responde e nunca cria, altera ou envia nada.
Envie uma mensagem sem chat_id para começar um chat e depois envie as próximas com o chat_id da resposta para continuar nele. Você acessa os chats criados pela API com esta conta do X, nunca os chats do app.
Um envio espera até 25 segundos pela resposta. Quando o Julien AI precisa de mais tempo, a resposta volta com o status running. Consulte de novo a cada poucos segundos até ela ficar completed ou failed, o que leva no máximo 150 segundos.
Cada conta do X pode enviar 6 mensagens por minuto e 100 por dia em UTC, uma por vez num chat e 3 ao mesmo tempo, cada uma com 1 a 4 000 caracteres. O Julien AI também aceita 150 mensagens por hora por usuário, somando o chat do app e a API.
O objeto assistant reply
Uma mensagem ao Julien AI e a resposta dele. Um envio retorna esse objeto, e ele continua disponível para leitura pelo ID.
Atributos
- idstringIdentificador único da resposta,
rpl_seguido de 32 caracteres. - objectstringSempre
assistant_reply. - statusstring
runningenquanto o Julien AI escreve, depoiscompletedoufailed.runningcompletedfailed - chat_idstring ou nullO chat da mensagem. Envie a próxima mensagem com ele para continuar no mesmo chat.
nullenquanto a primeira mensagem de um novo chat está em processamento. - messageobject ou null
- replyobject ou null
- errorobject ou nullO motivo da falha da resposta, senão
null. - created_atstringQuando a mensagem foi enviada, em ISO 8601.
- completed_atstring ou nullQuando a resposta terminou, concluída ou com falha, em ISO 8601.
nullenquanto ela está em andamento.
{
"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"
}Enviar uma mensagem
Envia uma mensagem ao Julien AI e espera até 25 segundos pela resposta. Depois disso, a resposta volta como running e você a consulta de novo até ela terminar. Envie com uma Idempotency-Key para que uma nova tentativa nunca envie a pergunta duas vezes.
Parâmetros do corpo
- textstringObrigatórioA sua mensagem, de 1 a 4 000 caracteres.
- chat_idstringO chat em que continuar, vindo de uma resposta anterior. Sem ele, a mensagem começa um novo chat.
Retorno
Um objeto assistant reply, completed com a resposta, ou running quando o Julien AI precisa de mais de 25 segundos.
Erros
- Falta um parâmetro obrigatório.
paramdiz qual. - O texto está vazio ou tem mais de 4 000 caracteres.
paramdiz qual. - Nenhum chat com este ID criado pela API com esta conta do X. Os chats do próprio app recebem a mesma resposta.
- O Julien AI ainda está respondendo a uma mensagem deste chat, ou a 3 mensagens desta conta do X.
- Mais de 6 mensagens no minuto a partir desta conta do X, ou 150 na hora para o dono dela.
- 100 mensagens hoje em UTC a partir desta conta do X.
- O Julien AI está indisponível ou não conseguiu responder. Uma mensagem que ele recebeu continua no chat.
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"
}Obter uma resposta
Retorna uma resposta. Enquanto ela estiver running, consulte de novo a cada poucos segundos. Ela termina completed com a resposta do Julien AI, ou failed com o error.
Parâmetros de caminho
- reply_idstringObrigatórioO ID da resposta.
Retorno
Erros
- Nenhuma resposta com este ID na conta do X da chave.
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
}O objeto assistant message
Uma mensagem de um chat com o Julien AI, sua ou dele.
Atributos
- idstringIdentificador único da mensagem.
- objectstringSempre
assistant_message. - chat_idstringO chat a que ela pertence.
- rolestring
userpara as suas mensagens,assistantpara as do Julien AI.userassistant - textstringA mensagem. Vinda do Julien AI, a resposta dele e depois a pergunta que ele faz a você, quando faz uma.
- created_atstringQuando a mensagem foi enviada, em 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"
}Listar mensagens
readRetorna as mensagens dos seus chats com o Julien AI criados pela API, as suas e as respostas dele, das mais novas para as mais antigas.
Parâmetros de consulta
- chat_idstringSó as mensagens deste chat. O padrão são todos os chats desta conta do X.
- limitintegerQuantos objetos retornar, de 1 a 100. O padrão é 25.
- cursorstringO
next_cursorda página anterior, para obter a página seguinte. Veja Paginação.
Retorno
Uma lista de objetos assistant message.
Erros
- Nenhum chat com este ID criado pela API com esta conta do X. Os chats do próprio app recebem a mesma resposta.
- Um parâmetro tem um valor que a API não aceita.
paramdiz qual.
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
}O objeto assistant chat
Um chat com o Julien AI iniciado pela API.
Atributos
- idstringIdentificador único do chat, o
chat_iddas mensagens dele. - objectstringSempre
assistant_chat. - titlestringO título do chat, no mesmo formato que o app usa.
New chataté ele ganhar um. - created_atstringQuando o chat começou, em ISO 8601.
- last_message_atstringQuando a última mensagem dele foi enviada, em ISO 8601.
- last_message_previewstringO começo da última mensagem dele.
{
"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."
}Listar chats
readRetorna seus chats com o Julien AI criados pela API com esta conta do X, começando pelo que teve atividade mais recente.
Parâmetros de consulta
- limitintegerQuantos objetos retornar, de 1 a 100. O padrão é 25.
- cursorstringO
next_cursorda página anterior, para obter a página seguinte. Veja Paginação.
Retorno
Uma lista de objetos assistant chat.
Erros
- Um parâmetro tem um valor que a API não aceita.
paramdiz qual.
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
}