ORYKSAORYKSADevelopers
Obter chaves de API

Visão geral da API

REST sobre HTTPS, JSON à entrada e à saída, um único URL base: https://api.oryksa.com/v1

Experimenta a API no browser: Consola da API.

OpenAPI e Postman

A API completa está descrita num ficheiro OpenAPI 3.1. Importa-o no Postman, no Insomnia ou em qualquer gerador de código, ou usa a coleção Postman pronta (põe a tua chave na variável apiKey).

OpenAPI 3.1 (JSON) Coleção Postman atualizado 2026-09-28

Endpoints

MétodoEndpointDescrição
GET/v1/accountPlano, consumo e resumo do agente
PATCH/v1/agentPerfil do negócio do colaborador de IA
PATCH/v1/agent/appearanceNome, foto, saudação, sugestões
GET/v1/knowledgeO que o agente sabe
PUT/v1/knowledge/pagesSubstituir o conteúdo do site
POST/v1/knowledge/crawlLer um site publicado
POST/v1/knowledge/faqAdicionar ou atualizar FAQs
POST/v1/chatMensagem do cliente, resposta da IA
GET/v1/conversationsConversas da API
GET/v1/conversations/{id}Mensagens de uma conversa
POST/v1/sessionsToken temporário para um utilizador da app
GET/POST/v1/client/*Chat dentro da app com o token de sessão
GET/v1/widgetCódigo do chat para sites
PUT/v1/widget/domainsLimitar o chat aos teus domínios
GET/POST/v1/webhooksListar ou criar webhooks
DELETE/v1/webhooks/{id}Apagar um webhook
POST/v1/webhooks/{id}/testEnviar um evento de teste

Erros

Os erros trazem sempre um code legível por máquinas e uma message legível por pessoas:

{
  "error": {
    "code": "interaction_limit_reached",
    "message": "The plan's interaction limit for this period is used up.",
    "upgrade_url": "https://app.oryksa.com/billing"
  }
}
HTTPCódigoSignificado
400invalid_requestFalta um campo ou é inválido.
401unauthorizedChave de API em falta, errada ou revogada.
402plan_requiredO canal não está incluído no plano (vê upgrade_url).
402interaction_limit_reachedAs interações do plano deste período acabaram.
403account_inactiveA conta dona da chave não está ativa.
404not_foundO recurso não existe.
409agent_not_configuredConfigura primeiro o agente com PATCH /v1/agent.
422crawl_failedNão foi possível ler o site (por exemplo, só é desenhado no browser).
429rate_limitedDemasiados pedidos. Espera retry_after segundos.
503agent_unavailableO dono desligou a IA para este canal.

Limites de pedidos

Por chave de API: 120 pedidos por minuto. Chat: 30 mensagens por minuto por conta. Envio de páginas: 20 por hora. Leitura de um site publicado: 10 por hora. Acima do limite a API responde 429 rate_limited.

Planos e interações

A API é um canal como o chat do site: precisa de um plano com canais web (o bónus de developer das contas ligadas pelo MCP também o inclui). Cada resposta da IA conta como uma interação do plano, com os mesmos limites do WhatsApp. Os endpoints de conhecimento, agente e conversas não gastam interações.