Saltar para o conteúdo
Feerasta · programadores

Portal de programadores da Feerasta

Tudo o que um agente de IA ou um programador pode chamar em feerasta.ai: uma pequena API HTTP com versões, um servidor MCP sobretudo de leitura, um documento OpenAPI 3.1 e uma ferramenta de linha de comandos. Existe para que um agente que age em nome do dono de um negócio possa ler o que a Feerasta vende, fazer uma pergunta respondida a partir de texto aprovado e submeter um pedido de piloto que uma pessoa da Feerasta lê. Não executa os fluxos de trabalho de um cliente; isso acontece dentro do espaço de trabalho Feerasta em app.feerasta.ai.

Autenticação

Nenhuma. Todos os endpoints abaixo são públicos e anónimos: sem conta, sem chave de API, sem token. Os tokens Bearer são ignorados. Os detalhes estão em /auth.md.

URL base e versões

URL base: https://feerasta.ai. A API com versões está em /v1 e cada resposta de /v1 traz o cabeçalho Feerasta-API-Version: 1.

Política de descontinuação. Não há alterações incompatíveis dentro da v1. Uma alteração incompatível sai como /v2. Quando uma versão é retirada, as suas respostas trazem um cabeçalho Deprecation (RFC 9745) e um cabeçalho Sunset (RFC 8594) pelo menos 6 meses antes da remoção. Nenhum endpoint está hoje descontinuado, por isso nenhum dos cabeçalhos é enviado.

Os caminhos mais antigos GET /agents.json, POST /api/contact e POST /api/ask continuam a funcionar como alias das operações de /v1.

Início rápido

GET /v1/health

Verificação de disponibilidade.

curl -sS https://feerasta.ai/v1/health
# {"status":"ok"}

GET /v1/catalog

O catálogo de serviços e preços, os mesmos dados de /agents.json.

curl -sS https://feerasta.ai/v1/catalog

POST /v1/ask

Faça uma pergunta sobre a Feerasta. A resposta é o texto publicado das perguntas frequentes do site, palavra por palavra; um modelo apenas escolhe qual a entrada aprovada que responde e nunca escreve texto. Campo q, até 300 caracteres.

curl -sS https://feerasta.ai/v1/ask \
  -H 'Content-Type: application/json' \
  -d '{"q":"What does the free plan include?"}'

POST /v1/contact e o ambiente de testes dry_run

Submeta um pedido de piloto ou uma questão. Uma pessoa da Feerasta responde por email. Campos obrigatórios: name e business (até 200 caracteres cada), email, message (até 5000 caracteres); opcionais: phone, segment. O corpo pode ser JSON ou codificado como formulário e está limitado a 8192 bytes. Acrescente "dry_run": true (ou dry_run=true num corpo de formulário; /api/contact também o respeita) para validar e ver exatamente o que seria enviado, sem enviar nem guardar nada. Use-o para testar uma integração.

curl -sS https://feerasta.ai/v1/contact \
  -H 'Content-Type: application/json' \
  -d '{"name":"Test Person","business":"Test Co","email":"test@example.com","message":"Testing the API","dry_run":true}'
# {"ok":true,"dry_run":true,"would_send":{...}}

Sem dry_run, o mesmo pedido envia um email a uma pessoa, por isso confirme com o seu mandante antes de enviar.

Limites de pedidos

Existem dois limites no código. Os endpoints de pergunta (POST /v1/ask, POST /api/ask, POST /api/ask/feedback) permitem 5 pedidos por 60 segundos por cliente e enviam RateLimit-Policy: "ask";q=5;w=60. Os endpoints de contacto (POST /v1/contact, POST /api/contact e a ferramenta MCP request_pilot) permitem 3 envios reais por 60 segundos por cliente e enviam RateLimit-Policy: "contact";q=3;w=60; as execuções dry_run estão isentas. Quando o limite é atingido, a resposta é HTTP 429 com Retry-After e RateLimit: "ask";r=0 (ou "contact"); não há t porque a plataforma não indica os segundos restantes (draft-ietf-httpapi-ratelimit-headers). À parte, as respostas assistidas por modelo têm um limite diário partilhado; quando é atingido, o endpoint continua a responder 200 com uma resposta de recurso e reason: "rate_limited_global".

Os endpoints de catálogo e de disponibilidade não têm limite por cliente no código, por isso não enviam cabeçalhos RateLimit. Seja cortês, ainda assim.

Modelo de erros

Todos os erros de um caminho /api/* ou /v1/* são application/problem+json (RFC 9457) com os campos type, title, status, detail, code e hint. Os campos mais antigos ok e error mantêm-se para as páginas do próprio site. O URL de type é esta página com a âncora correspondente abaixo.

{
  "type": "https://feerasta.ai/developers#errors-not_found",
  "title": "Not found",
  "status": 404,
  "detail": "No API endpoint exists at /v1/nope.",
  "code": "not_found",
  "hint": "Check the path against https://feerasta.ai/developers, which lists every endpoint."
}

invalid_request (400)

O corpo falhou a validação. Leia detail para ver o campo; o endpoint de contacto precisa de name, business, email e message, e ask precisa de um q não vazio com menos de 300 caracteres.

forbidden (403)

Uma Origin de browser que a Feerasta não serve chamou o endpoint. Chame a partir de feerasta.ai ou sem cabeçalho Origin.

not_found (404)

Não há endpoint nesse caminho. Os endpoints estão listados nesta página.

method_not_allowed (405)

O caminho existe, mas não para esse método. O cabeçalho Allow lista os métodos que funcionam.

payload_too_large (413)

O corpo do pedido é demasiado grande: 2048 bytes para ask, 8192 bytes para contact e para o endpoint MCP.

rate_limited (429)

Demasiados pedidos de ask ou de contact. Espere os segundos indicados em Retry-After e tente de novo.

internal_error (500)

Uma falha do lado da Feerasta. Tente de novo dentro de um minuto; se persistir, escreva para hello@feerasta.ai.

bad_gateway (502)

O serviço de email que entrega os pedidos de contacto falhou. Tente de novo dentro de um minuto ou use a página de contacto.

service_unavailable (503)

Temporariamente indisponível. Tente de novo dentro de um minuto.

Servidor MCP

URL: https://feerasta.ai/mcp. Transporte: Streamable HTTP, sem estado, versões de protocolo 2025-06-18 e 2025-03-26, apenas respostas JSON, uma mensagem JSON-RPC por POST (os arrays em lote são rejeitados com 400). Um cabeçalho MCP-Protocol-Version diferente dessas duas é recusado com 400, e um cabeçalho Accept que exclua application/json com 406. GET devolve 405 porque o servidor não oferece fluxo SSE. Os pedidos de browser de origens que não feerasta.ai são recusados com 403. Sem autenticação.

Ferramentas. list_services e get_service leem o catálogo. ask_faq responde a partir de texto aprovado das perguntas frequentes, com a mesma lógica e o mesmo limite de /v1/ask. request_pilot submete um pedido de piloto como /v1/contact e suporta dry_run. Só request_pilot não é de leitura apenas, e só sem dry_run envia um email a uma pessoa (3 por 60 segundos por cliente). Argumentos de ferramenta inválidos devolvem o erro JSON-RPC -32602; um recurso desconhecido devolve -32002.

Recursos. llms.txt, openapi.json, agents.json, pricing e developers (os dois últimos em Markdown).

Claude Code:

claude mcp add --transport http feerasta https://feerasta.ai/mcp

.mcp.json do projeto, para o Claude Code e outros clientes que o leiam:

{
  "mcpServers": {
    "feerasta": { "type": "http", "url": "https://feerasta.ai/mcp" }
  }
}

Claude Desktop, através da ponte mcp-remote, em claude_desktop_config.json:

{
  "mcpServers": {
    "feerasta": { "command": "npx", "args": ["-y", "mcp-remote", "https://feerasta.ai/mcp"] }
  }
}

Um segundo servidor, separado, em https://app.feerasta.ai/api/public/mcp, tem as ferramentas list_services, get_service e start_trial (cria um espaço de trabalho gratuito, só de rascunho, para um negócio). Use esse para iniciar um teste; use https://feerasta.ai/mcp para fazer perguntas ou submeter um pedido de piloto.

OpenAPI

O documento OpenAPI 3.1 está em /openapi.json. Tipifica cada pedido e cada resposta, incluindo o modelo de erros.

Ferramenta de linha de comandos

Uma pequena ferramenta de linha de comandos sem dependências, feerasta, envolve os endpoints acima: catalog, service <id>, ask "<question>", contact (com --dry-run) e health, cada um com --json. Está construída, mas ainda não publicada num registo de pacotes, por isso, por agora, use os comandos curl acima.

Quando usar a Feerasta

Use a Feerasta quando a tarefa for uma destas:

Não use a Feerasta para fazer encomendas, receber pagamentos, fazer compras ou alterar o que quer que seja no espaço de trabalho de um cliente. Esta API não consegue fazer essas coisas. Não pode dar aconselhamento jurídico, fiscal ou médico, e não publica números de clientes, valores de retorno do investimento nem certificações.

Legível por máquinas: /openapi.json · /agents.json · /llms.txt · /auth.md · /AGENTS.md