Read outbound: your system (Make, Zapier, BI, custom backend) fetches Webivio data using an account API token.
This is not the same as the registration API (inbound signup with a per-webinar query token).
Token in settings
- Settings → API tokens → Generate token.
- Give it a name (e.g. “Make production”).
- Copy the token immediately — plaintext is shown only once.
- You can have multiple tokens; Revoke or Delete unused ones.
Token prefix: wvapi_…. Only a SHA-256 hash is stored in the database.
Auth
Authorization: Bearer wvapi_YOUR_TOKEN
or
X-Api-Key: wvapi_YOUR_TOKEN
The same token is also used for the Chat reply API (POST …/chat/reply).
Endpoints
Base: https://YOUR-DOMAIN/api/public/v1
List webinars
GET /api/public/v1/webinars
Response: { data: [{ id, name, title, status }, ...] }
Stats (aggregates)
GET /api/public/v1/webinars/{webinarId}/stats?from=2026-09-01&to=2026-09-30
Optional from / to (ISO) — defaults to the last 30 days.
Fields include: pageVisits, registrations, attendance, offerClicks, purchaseCount, purchaseRevenueSum (+ attributed/unknown).
Notification email send stats
GET /api/public/v1/webinars/{webinarId}/notification-stats?from=2026-09-01&to=2026-09-30
Optional from / to (ISO) — defaults to the last 30 days (same as /stats).
Aggregates for participant notification emails (pre/post reminders, last-minute, no-attend) with SES tracking:
rows[]— per type / template:sent,uniqueOpens,uniqueClicks,openRate,clickRate,subject, …totals— sums and open/click ratesseries[]— dailysent/ opens / clicks
Same source as the Emails tab in panel Analytics.
Polls (results + voter emails)
GET /api/public/v1/webinars/{webinarId}/polls?from=2026-09-01&to=2026-09-30
Optional from / to (ISO) — defaults to the last 30 days (same as /stats).
For each webinar poll (live and auto):
question,totalVotes,variantLabel(A/B when applicable)options[]—label,count,percent,emails[](unique emails of participants who chose the option; from registration)
Same source as the Polls tab in panel Analytics. Participants without an email in the database are omitted from the list.
Participants (full list)
GET /api/public/v1/webinars/{webinarId}/participants?page=1&pageSize=50&from=2026-09-01&to=2026-09-30
page,pageSize(max 200)from/to— date filter (calendar day)
Participant fields include contact data, attendance, offer click, watch time, %, UTM, A/B variant.
curl example
curl "https://YOUR-DOMAIN/api/public/v1/webinars/WEBINAR_UUID/stats" \
-H "Authorization: Bearer wvapi_YOUR_TOKEN"
Error responses
| Code | Meaning |
|---|---|
| 401 | Missing / invalid / revoked token |
| 404 | Webinar missing or not owned by the token owner |
| 429 | Rate limit (~60/min, ~600/h per token) |
Security
- Do not commit tokens to git or public frontends.
- Revoke a token after a leak.
- IP allowlists are planned for a later version.