Skip to main content

Changelog

Setembro de 2026

Configurações de modelos e limites da conta agora são idênticos na API e no dashboard

Prompts criados via API podiam ser executados em modelos que não estavam habilitados nas Configurações de modelos do projeto, então os filtros do dashboard mostravam menos modelos do que os prompts realmente rastreavam. A API agora usa as configurações de modelos do projeto como fonte de verdade e aplica todos os limites que o dashboard aplica, com os mesmos códigos de erro. Veja Automatizar um pitch para o fluxo completo de agência.
  • PUT /projects/{projectId} aceita models — o equivalente na API da página de Configurações de modelos. Substitui o conjunto, ressincroniza todos os prompts do projeto (syncedPromptCount) e aplica o limite de modelos do plano, o orçamento de prompts Brand e a projeção de respostas Agency (meteredNotice no pacote mais alto)
  • GET /projects, GET /projects/{projectId} e POST /projects retornam models (configuração do projeto → padrão da conta) e language
  • POST /projects/{projectId}/prompts: models é opcional e usa por padrão os modelos do projeto; uma lista explícita deve ser um subconjunto deles, caso contrário 400 model_not_enabled. Nova verificação de projeção de respostas Agency, igual à do dashboard
  • POST /projects aplica as mesmas regras de projeto do dashboard: projetos de pitch exigem uma conta Agency e um slot de pitch livre, projetos de cliente exigem um slot livre nos pacotes Agency (agency_limit), e o limite de projetos do plano nos planos Brand
  • Erros: violações de limite agora retornam 403 FORBIDDEN com um error.details.reason legível por máquina (agency_limit, prompt_budget_exceeded, prompt_limit, model_limit, model_not_available, pitch_prompt_limit, pitch_expired, pitch_project_limit) em vez de um 500 genérico
  • MCP list_projects retorna language, isPitch e models por projeto

Visibility = nomeada OU citada; novas Mention Rate e Citation Rate

A Finseo agora separa as duas formas pelas quais uma marca aparece em uma resposta de IA — nomeada no texto da resposta e citada como fonte — e as reporta como KPIs distintos. Veja KPIs explicados.
  • Visibility redefinida: uma resposta conta como visível quando a marca é nomeada no texto ou seu domínio próprio (ou um alias de domínio configurado) é citado como fonte. Antes, só as menções no texto contavam, então a Visibility pode ficar um pouco mais alta do que antes para marcas cujos sites são citados sem serem nomeados
  • Novos KPIs: Mention Rate (parcela de respostas que nomeiam a marca) e Citation Rate (parcela de respostas que citam o domínio próprio), ambas com o mesmo denominador da Visibility. Elas se sobrepõem, então Visibility ≤ Mention Rate + Citation Rate
  • REST /metrics retorna mentionRate, citationRate, cited por período, além de mentionRateChange, citationRateChange, citedChange; responseVisibilityRate agora usa a definição nomeada-ou-citada
  • REST /metrics/timeseries adiciona cited por dia (null para dias servidos a partir de rollups sem citações)
  • REST /competitors adiciona mentionRate, mentionRateChange, totalCitations, citationRate, citationRateChange e visibilityIsMentionOnly; visibilityRate/visibleResults agora usam a definição nomeada-ou-citada. O sortBy padrão é visibility
  • REST /prompts adiciona mentionRate e citationRate por prompt; isVisible usa a definição nomeada-ou-citada
  • MCP: get_visibility_metrics e get_visibility_timeseries retornam mentionRatePercent, citationRatePercent e ownDomainCitedAnswers; get_competitor_ranking retorna mentionRatePercent, citationRatePercent e visibilityIsMentionOnly; list_prompts retorna mentionRatePercent e citationRatePercent. visibilityRatePercent segue em todos os lugares a definição nomeada-ou-citada e as notas das ferramentas explicam a divisão
  • Aliases de domínio: domínios adicionais para a correspondência de citações (por ex. TLDs de país, subdomínios de loja) podem ser configurados por projeto nas configurações do dashboard; eles se aplicam a todos os prompts do projeto

Correção: Prompts criados via POST /prompts são processados imediatamente

Prompts adicionados pela API REST eram salvos, mas não entravam na fila dos workers, por isso só eram processados na varredura noturna — e, em um projeto novo, ficavam sem o domínio e o nome da marca do projeto, de modo que a marca nunca podia ser reconhecida nas respostas.
  • Os Prompts agora entram na fila imediatamente (enqueued: true na resposta); as primeiras respostas costumam chegar em poucos minutos
  • O Prompt herda o domínio, o nome da marca (name do projeto), os sinônimos, os aliases de domínio e a frequência de Tracking do projeto. Projetos sem websiteUrl são rejeitados com 400
  • language agora usa por padrão o idioma do projeto e é normalizado para a grafia do dashboard (de → DE), para que o filtro de país também encontre Prompts adicionados via API

Projetos de pitch + idioma obrigatório

  • Projetos de pitch pela API: POST /v1/projects aceita isPitch e pitchDurationDays (1, 7 ou 14, padrão 14) — sem taxa de projeto, máximo de 50 prompts e pausa automática ao final da janela. Os slots dependem do pacote de agência (250 no Agency Starter, 500 no Agency Studio)
  • Conversão de pitches ganhos: PUT /v1/projects/{projectId} com {"convertFromPitch": true} transforma um pitch em projeto de cliente completo (verifica um slot livre e o orçamento de respostas e reativa os prompts pausados)
  • language agora é obrigatório em POST /v1/projects — um dos 22 códigos compatíveis (en, de, fr, es, it, nl, pt, pl, sv, da, tr, ja, no, fi, cs, ru, zh, zh-tw, ko, hi, ar, he). Antes, o idioma era inferido por um crawl do site, que frequentemente selecionava inglês para mercados não anglófonos
  • GET /v1/projects agora retorna isPitch em todos os projetos, além de pitchDurationDays e pitchExpiredAt nos projetos de pitch

Março de 2026

v1.0.0 - Lançamento inicial

  • Customer API com 14 endpoints para projetos, prompts, métricas, concorrentes, fontes, tags e exportação
  • Autenticação por API key com scopes granulares (read, write, export) e restrições de projeto
  • Rate limiting por plano (Starter: 60/min, Pro: 180/min, Enterprise: 600/min)
  • MCP Server para integração com Claude Desktop e Cursor