Felo API PlatformFelo API Platform

Felo APIs

SuperAgent API

Crie conversas, consuma streams SSE, continue a conversa e consulte metadados da conversa.

POST/v2/conversations

Autenticação

Bearer API key

Tipo de conteúdo

application/json and text/event-stream

Notas de limite

Connect to stream immediately. Use offset for reconnects.

A SuperAgent API oferece recursos de conversa com IA, saída em streaming em tempo real e integração com o LiveDoc. O fluxo típico é:

  1. Criar uma conversa - obtém stream_key, thread_short_id e live_doc_short_id
  2. Consumir o stream SSE - conecta ao endpoint de stream usando stream_key
  3. Fazer acompanhamento - faz perguntas de acompanhamento na mesma conversa e recebe uma nova stream_key
  4. Consultar detalhes da conversa - usa thread_short_id para obter os metadados da conversa
  5. Gerenciar LiveDocs - consulte LiveDoc API para CRUD completo e gerenciamento de recursos

Autenticação

Todas as requisições exigem uma chave de API no cabeçalho Authorization:

Authorization: Bearer YOUR_API_KEY

Uso com agentes de IA

Instale o pacote completo felo-ai para dar a um agente os fluxos do SuperAgent e todos os demais Felo Skills disponíveis. O instalador descobre dinamicamente todos os diretórios de pacote que contêm SKILL.md, incluindo adições futuras de pacotes. Instale todos os Skills descobertos em ~/.codex/skills para o Codex, ~/.claude/skills para o Claude Code, ~/.agents/skills para o OpenClaw ou ~/.hermes/skills para o Hermes Agent. O guia de configuração manual de agentes de IA explica o processo de instalação segura e a configuração de cada plataforma.


1. Criar uma conversa

Endpoint

POST https://openapi.felo.ai/v2/conversations

Cabeçalhos da requisição

CabeçalhoObrigatórioDescrição
AuthorizationSimBearer YOUR_API_KEY
Content-TypeSimapplication/json

Corpo da requisição

ParâmetroTipoObrigatórioDescrição
querystringSimConsulta do usuário, de 1 a 2000 caracteres
live_doc_short_idstringNãoReutiliza um LiveDoc existente; omita para criar um novo
selected_resource_idsarray de stringsNãoIDs de recursos a serem incluídos no contexto
skill_idstringNãoID do Skill a ser usado nesta conversa
accept_languagestringNãoPreferência de idioma, por exemplo en
device_idstringNãoIdentificador do dispositivo
extraobjectNãoParâmetros extras repassados ao SuperAgent
extobjectNãoParâmetros de extensão (por exemplo, style_id, theme)

Exemplo

curl -X POST 'https://openapi.felo.ai/v2/conversations' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "query": "What is the latest news about AI?",
    "accept_language": "en",
    "skill_id": "your-skill-id",
    "device_id": "device-001",
    "ext": {"style_id": "xxx", "theme": "dark"}
  }'

Resposta de sucesso (200)

{
  "status": "ok",
  "message": null,
  "data": {
    "stream_key": "sk_abc123xyz",
    "thread_short_id": "TvyKouzJirXjFdst4uKRK3",
    "live_doc_short_id": "PvyKouzJirXjFdst4uKRK3"
  }
}

Campos da resposta

CampoTipoDescrição
stream_keystringChave usada para consumir o stream SSE (veja a seção 2)
thread_short_idstringID da conversa, usado para consultar os detalhes da conversa
live_doc_short_idstringID do LiveDoc associado

2. Consumir o stream SSE

Depois de criar uma conversa, conecte ao endpoint de stream usando a stream_key para receber a saída em tempo real.

Endpoint

GET https://openapi.felo.ai/v2/conversations/stream/{stream_key}

Parâmetros de consulta

ParâmetroTipoObrigatórioDescrição
offsetintegerNãoRetoma o streaming a partir desta posição. Use para reconectar após uma desconexão.

Exemplo

curl -N 'https://openapi.felo.ai/v2/conversations/stream/sk_abc123xyz' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Accept: text/event-stream'

Reconectar com offset:

curl -N 'https://openapi.felo.ai/v2/conversations/stream/sk_abc123xyz?offset=42' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Accept: text/event-stream'

Resposta

A resposta é um stream padrão de Server-Sent Events (SSE) com Content-Type: text/event-stream.

Cada evento segue o formato SSE:

event: <event_type>
data: <json_payload>

Exemplos de eventos:

event: message
data: {"content": "The latest AI news includes..."}

event: done
data: {}

Em caso de erro no upstream:

event: error
data: {"message": "upstream error: 502"}

Observações

  • Conecte imediatamente após criar a conversa - a stream_key tem uma janela de validade limitada.
  • Use um cliente com suporte a SSE (por exemplo, EventSource em navegadores ou curl -N no terminal).
  • O stream termina quando um evento done é recebido ou quando o servidor fecha a conexão.

3. Fazer acompanhamento na conversa

Faça uma pergunta de acompanhamento em uma conversa existente. Retorna uma nova stream_key para consumir o stream da resposta.

Endpoint

POST https://openapi.felo.ai/v2/conversations/{thread_short_id}/follow_up

Cabeçalhos da requisição

CabeçalhoObrigatórioDescrição
AuthorizationSimBearer YOUR_API_KEY
Content-TypeSimapplication/json

Corpo da requisição

ParâmetroTipoObrigatórioDescrição
querystringSimPergunta de acompanhamento, de 1 a 2000 caracteres

Exemplo

curl -X POST 'https://openapi.felo.ai/v2/conversations/TvyKouzJirXjFdst4uKRK3/follow_up' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "query": "Can you elaborate on that?"
  }'

Resposta de sucesso (200)

{
  "status": "ok",
  "message": null,
  "data": {
    "stream_key": "sk_def456uvw",
    "thread_short_id": "TvyKouzJirXjFdst4uKRK3",
    "live_doc_short_id": "PvyKouzJirXjFdst4uKRK3"
  }
}

Campos da resposta

CampoTipoDescrição
stream_keystringChave usada para consumir o stream SSE deste acompanhamento
thread_short_idstringO mesmo ID de conversa da requisição
live_doc_short_idstringID do LiveDoc associado

4. Consultar detalhes da conversa

Endpoint

GET https://openapi.felo.ai/v2/conversations/{thread_short_id}

Exemplo

curl 'https://openapi.felo.ai/v2/conversations/TvyKouzJirXjFdst4uKRK3' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Resposta de sucesso (200)

{
  "status": "ok",
  "message": null,
  "data": {
    "thread_short_id": "TvyKouzJirXjFdst4uKRK3",
    "title": "What is the latest news about AI?",
    "created_at": "2026-03-09T10:00:00Z",
    "updated_at": "2026-03-09T10:00:30Z",
    "live_doc_short_id": "PvyKouzJirXjFdst4uKRK3"
  }
}

Campos da resposta

CampoTipoDescrição
thread_short_idstringID da conversa
titlestringTítulo da conversa (derivado da consulta)
created_atstringTimestamp de criação (ISO 8601)
updated_atstringTimestamp da última atualização (ISO 8601)
live_doc_short_idstringID do LiveDoc associado

Códigos de erro

CódigoStatus HTTPDescrição
UNAUTHORIZED401A chave de API é inválida ou foi revogada
SUPER_AGENT_CONVERSATION_CREATE_FAILED502Falha ao criar a conversa (erro downstream)
SUPER_AGENT_CONVERSATION_FOLLOW_UP_FAILED502Falha no acompanhamento da conversa (erro downstream)
SUPER_AGENT_CONVERSATION_QUERY_FAILED502Falha ao consultar os detalhes da conversa (erro downstream)

Fluxo típico de integração

1. POST /v2/conversations                              → get stream_key + thread_short_id + live_doc_short_id
2. GET  /v2/conversations/stream/{stream_key}          → consume SSE until "done"
3. POST /v2/conversations/{thread_short_id}/follow_up  → ask follow-up, get new stream_key
4. GET  /v2/conversations/stream/{new_stream_key}      → consume follow-up SSE until "done"
5. GET  /v2/conversations/{thread_short_id}            → fetch conversation metadata

Para gerenciamento de LiveDocs (CRUD, envio de recursos, importação de URL, recuperação), consulte a LiveDoc API.