Para desarrolladores
Construye con Votinova
API REST, webhooks, conectores y un servidor MCP. Todo lo que hace la web está también en la API: crea una sesión, ábrela y recibe los resultados en tu stack en menos de cinco minutos.
- Crea una credencial en tu espacio — dos scopes, ámbito de organización.
- Lanza tu primera llamada: crea y abre una sesión desde curl.
- Suscríbete a un webhook y recibe los resultados al cerrar cada pregunta.
curl -X POST https://api.votinova.dev.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 las superficies, un mismo contrato
Cada integración se deriva del mismo documento OpenAPI. Un endpoint nuevo aparece en todas a la vez.
API REST
Endpoints públicos con scopes, cuotas por plan y paginación por cursor.
Referencia de API →Webhooks
Eventos firmados con HMAC, reintentos con backoff y reentrega manual.
Guía de webhooks →Zapier
Triggers y acciones para automatizar sin código.
Ver integración →Power Automate
Conector con trigger de webhook para el ecosistema Microsoft.
Ver integración →Servidor MCP
Herramientas derivadas del OpenAPI para tus agentes. Remoto, sin instalar nada.
Configurar MCP →Add-ins
PowerPoint, Google Slides, Teams, Zoom y Webex.
Ver add-ins →Qué construye la gente con esto
Resultados en tu CRM
Sincroniza respuestas y asistencia con tu CRM o tu data warehouse en cuanto cada pregunta cierra — te avisa un webhook, sin sondear.
Informes propios
KPIs, participantes y resultados por API con paginación por cursor: monta el informe exactamente como tu organización lo quiere.
Sesiones desde tu software
Crea, abre y conduce sesiones desde tu backend, tu panel interno o tu agente — la misma API que usa esta web.
Tu primera llamada, en tu lenguaje
Quickstart completo →Hecho para agentes
Tu agente ya sabe usar Votinova
Servidor MCP remoto con herramientas derivadas del OpenAPI, filtradas por los scopes de tu credencial. Y un llms.txt para que cualquier modelo encuentre la documentación.
Configurar el servidor MCP →{ "mcpServers": { "votinova": { "url": "https://mcp.votinova.com/mcp", "headers": { "Authorization": "Bearer vz_live_…" } } }}Últimos cambios de la API
Changelog →- 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.
- ADDITIVE
question_id is now published as REQUIRED on per-question results, which is what the endpoint has always enforced: it answers 400 without one. The document said optional, so an integrator who believed it did not send the value and found out from a failed call — and the failed call counted against the organization's quota. Nothing about the endpoint's behaviour changed, and no request that worked before stops working; what changed is that the reference now describes it. Generated clients and MCP tools derived from this document will ask for the question up front instead of discovering the rule at runtime.
Cuota por plan
- STARTER120 peticiones cada 60 s
- PRO120 peticiones cada 60 s
- TEAM600 peticiones cada 60 s
- ENTERPRISE3000 peticiones cada 60 s
La cuota viaja en cada respuesta (cabeceras X-RateLimit-*).