Para programadores

Construa com o Votinova

API REST, webhooks, conectores e um servidor MCP. Tudo o que a aplicação web faz está também na API: crie uma sessão, abra-a e leve os resultados para o seu sistema em menos de cinco minutos.

  1. Crie uma credencial no seu espaço de trabalho — dois âmbitos, para toda a organização.
  2. Faça a primeira chamada: criar e abrir uma sessão a partir do curl.
  3. Subscreva um webhook e receba os resultados à medida que cada pergunta fecha.
curl -X POST https://api.votinova.prd.atbionapps.com/public/v1/sessions \  -H "X-API-Key: vz_live_…" \  -d '{ "presentation_id": "prs_8f3k2" }' 200 OK   · X-RateLimit-Remaining: 119{  "id": "ses_71xw9",  "join_code": "482913",  "state": "LIVE"}

Todas as superfícies, um só contrato

Todas as integrações derivam do mesmo documento OpenAPI. Um endpoint novo aparece em todas ao mesmo tempo.

API REST

Endpoints públicos com âmbitos, quotas por plano e paginação por cursor.

Referência da API

Webhooks

Eventos assinados com HMAC, com repetições em backoff e reenvio manual.

Guia de webhooks

Zapier

Acionadores e ações para automatizar sem escrever código.

Ver integração

Power Automate

Conector com acionador por webhook para o ecossistema Microsoft.

Ver integração

Servidor MCP

Ferramentas derivadas do documento OpenAPI para os seus agentes. Remoto, sem nada para instalar.

Configurar o MCP

Suplementos

PowerPoint, Google Slides, Teams, Zoom e Webex.

Ver suplementos

O que se constrói com isto

Resultados no seu CRM
Sincronize respostas e assiduidade com o seu CRM ou data warehouse no momento em que cada pergunta fecha — avisa-o um webhook, sem andar a sondar.
Os seus próprios relatórios
Indicadores, participantes e resultados pela API com paginação por cursor: construa o relatório exatamente como a sua organização o quer.
Sessões a partir do seu software
Crie, abra e conduza sessões a partir do seu backend, das suas ferramentas internas ou do seu agente — a mesma API que esta aplicação web usa.
Feito para agentes

O seu agente já conhece o Votinova

Um servidor MCP remoto com ferramentas derivadas do documento OpenAPI, filtradas pelos âmbitos da sua credencial. E um llms.txt para que qualquer modelo encontre a documentação.

Configurar o servidor MCP
{  "mcpServers": {    "votinova": {      "url": "https://mcp.votinova.com/mcp",      "headers": { "Authorization": "Bearer vz_live_…" }    }  }}

Últimas alterações da API

Histórico de alterações
  • ADDITIVE

    The plan codes gain STARTER, the tier between FREE and PRO introduced with the 2026-08 pricing. upgrade_to, on a 402 and on a question the caller's plan does not cover, can name it, and so can quota_tiers[].plan_code on GET /public/v1/limits. A client that switches over plan codes needs a branch for STARTER; the other codes keep their meaning and their order.

  • ADDITIVE

    An event stranded by an auto-disable is now dead-lettered, so it can be replayed once the endpoint is back. Recovering from a bad afternoon is supposed to be: the platform pauses the endpoint, you fix it, you re-enable it, you redeliver what never arrived. Redelivery only accepts a dead-lettered delivery, and the queue of an auto-disabled endpoint was being terminated as merely failed — so there was nothing to replay and nothing said so. The arithmetic hid it: a delivery gets 8 attempts and an endpoint is paused after 10 consecutive failures, so a single event in flight always dead-letters first. The counter is per endpoint, and one ordinary session emits three events. Deliveries for an endpoint its owner REMOVED are still terminated without a dead letter: nobody is coming back for those.

  • ADDITIVE

    Three corrections found by driving this API the way an integration does. A bad request body now answers the envelope this surface documents ({ error, code: INVALID_REQUEST_BODY, invalid_fields }) naming the PUBLISHED field: it used to fall through to a shape the API emits nowhere else, which named the internal property (TargetUrl for target_url) and carried no error member for a generated client to read. session.ended is delivered ONCE per close; closing a live session through this API delivered it twice, so anything that posts a summary or books a room did it twice, and the event now always names presentation_id whichever surface closed the session. And enabling an endpoint only revives one the platform paused after failures: it used to undo a DELETE too, so a connector's unsubscribe could be reversed by one call while the connector itself could no longer remove it. Enabling an endpoint that was removed now answers 400 WEBHOOK_NOT_AUTO_DISABLED; register it again instead.

Quota por plano

  • STARTER120 pedidos a cada 60s
  • PRO120 pedidos a cada 60s
  • TEAM600 pedidos a cada 60s
  • ENTERPRISE3000 pedidos a cada 60s

A sua quota viaja em cada resposta (cabeçalhos X-RateLimit-*).