Voor ontwikkelaars

Bouwen met Votinova

REST-API, webhooks, connectoren en een MCP-server. Alles wat de webapp doet, zit ook in de API: maak een sessie aan, open die en haal de resultaten in minder dan vijf minuten uw eigen systemen in.

  1. Maak een credential aan in uw werkruimte – twee scopes, voor de hele organisatie.
  2. Doe uw eerste aanroep: maak vanuit curl een sessie aan en open die.
  3. Abonneer u op een webhook en ontvang de resultaten zodra elke vraag sluit.
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"}

Overal hetzelfde contract

Elke integratie komt voort uit hetzelfde OpenAPI-document. Een nieuw endpoint verschijnt overal tegelijk.

REST-API

Publieke endpoints met scopes, quota per abonnement en cursorpaginering.

API-referentie

Webhooks

Met HMAC ondertekende gebeurtenissen, opnieuw geprobeerd met backoff en handmatig opnieuw te versturen.

Handleiding webhooks

Zapier

Triggers en acties om zonder code te automatiseren.

Integratie bekijken

Power Automate

Connector met webhook-trigger voor het Microsoft-ecosysteem.

Integratie bekijken

MCP-server

Tools afgeleid van het OpenAPI-document, voor uw agents. Op afstand, niets te installeren.

MCP instellen

Invoegtoepassingen

PowerPoint, Google Slides, Teams, Zoom en Webex.

Invoegtoepassingen bekijken

Wat mensen hiermee bouwen

Resultaten in uw CRM
Synchroniseer antwoorden en aanwezigheid naar uw CRM of datawarehouse op het moment dat elke vraag sluit – een webhook laat het u weten, pollen is niet nodig.
Uw eigen rapportage
KPI's, deelnemers en resultaten via de API met cursorpaginering: bouw het rapport precies zoals uw organisatie het wil.
Sessies vanuit uw eigen software
Maak sessies aan, open en stuur ze vanuit uw backend, uw interne tools of uw agent – via dezelfde API die deze webapp gebruikt.
Gemaakt voor agents

Uw agent kent Votinova al

Een MCP-server op afstand, met tools afgeleid van het OpenAPI-document en gefilterd op de scopes van uw credential. Plus een llms.txt, zodat elk model de documentatie kan vinden.

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

Laatste wijzigingen in de API

Changelog
  • 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 per abonnement

  • STARTER120 verzoeken per 60 s
  • PRO120 verzoeken per 60 s
  • TEAM600 verzoeken per 60 s
  • ENTERPRISE3.000 verzoeken per 60 s

Uw quotum reist mee in elk antwoord (X-RateLimit-*-headers).