Per sviluppatori

Costruisci con Votinova

API REST, webhook, connettori e un server MCP. Tutto ciò che fa l'app web è anche nell'API: crea una sessione, aprila e ricevi i risultati nel tuo stack in meno di cinque minuti.

  1. Crea una credenziale nel tuo spazio — due scope, a livello di organizzazione.
  2. Fai la tua prima chiamata: crea e apri una sessione da curl.
  3. Iscriviti a un webhook e ricevi i risultati alla chiusura di ogni domanda.
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"}

Tutte le superfici, un unico contratto

Ogni integrazione deriva dallo stesso documento OpenAPI. Un endpoint nuovo appare ovunque allo stesso tempo.

Cosa ci costruisce la gente

Risultati nel tuo CRM

Sincronizza risposte e presenze nel tuo CRM o data warehouse appena ogni domanda chiude — te lo dice un webhook, senza polling.

Reportistica su misura

KPI, partecipanti e risultati via API con paginazione a cursore: costruisci il report esattamente come lo vuole la tua organizzazione.

Sessioni dal tuo software

Crea, apri e conduci sessioni dal tuo backend, dai tuoi strumenti interni o dal tuo agente — la stessa API che usa questa web app.

Fatto per gli agenti

Il tuo agente conosce già Votinova

Un server MCP remoto con strumenti derivati dal documento OpenAPI, filtrati dagli scope della tua credenziale. E un llms.txt perché qualsiasi modello trovi la documentazione.

Configura il server MCP
{  "mcpServers": {    "votinova": {      "url": "https://mcp.votinova.com/mcp",      "headers": { "Authorization": "Bearer vz_live_…" }    }  }}

Ultime modifiche dell'API

Changelog
  • ADDITIVE

    The participant roster now says how each person was let in: identity_seal is VERIFIED when an identity provider vouched for them, GUEST when they came through the invited-guest link, and UNVERIFIED when neither happened. Without it an integrator reading a roster of names could not tell which of them anyone had actually checked. Additive: no existing field changed. The same release finishes naming two closed domains the document was already enforcing but never said out loud: the export format (csv, xlsx) and the webhook connector (ZAPIER, POWER_AUTOMATE) — until now the only way to learn either was to send a wrong value and read the 400.

  • ADDITIVE

    Per-question results now carry the spinner wheel's spin log (spin_outcomes) and, for ordering questions, how many people put each item in each position (placement_accuracy[].counts_by_position). Both were produced internally and never published; a spinner wheel's results envelope used to arrive empty. Additive: no existing field changed.

  • ADDITIVE

    Discovery without a credential: the enforced rate limits, the webhook retry schedule and the published event catalogue, plus this changelog itself.

Quota per piano

  • PRO120 richieste ogni 60 s
  • TEAM600 richieste ogni 60 s
  • ENTERPRISE3000 richieste ogni 60 s

La tua quota viaggia in ogni risposta (header X-RateLimit-*).