eventpage API
REST endpoints, webhooks and a full OpenAPI spec. Connect events, guests, tickets and check-ins to your CRM, data warehouse or own product - API-first.
1# Register a guest for your event
2curl -X POST https://api.eventpage.ai/v1/events/{event_id}/guests \
3 -H "Authorization: Bearer $EP_API_KEY" \
4 -H "Content-Type: application/json" \
5 -d '{
6 "first_name": "Anna",
7 "email": "anna@company.com",
8 "ticket_type": "vip"
9 }'
10
11# Response
12{ "id": "gst_8f2k1", "status": "confirmed" }1// Register a guest for your event
2const res = await fetch(
3 "https://api.eventpage.ai/v1/events/evt_1/guests",
4 {
5 method: "POST",
6 headers: {
7 Authorization: `Bearer ${process.env.EP_API_KEY}`,
8 "Content-Type": "application/json"
9 },
10 body: JSON.stringify({ first_name: "Anna", email: "anna@company.com" })
11 }
12);1# Register a guest for your event
2import os, requests
3
4res = requests.post(
5 "https://api.eventpage.ai/v1/events/evt_1/guests",
6 headers={"Authorization": f"Bearer {os.environ['EP_API_KEY']}"},
7 json={
8 "first_name": "Anna",
9 "email": "anna@company.com",
10 "ticket_type": "vip",
11 },
12)Predictable resource URLs and standard HTTP verbs.
Fully documented in Swagger - generate clients in any language.
Get notified the moment guests register, buy or check in.
Your event data stays in Europe.
Quickstart
Three steps from API key to live data. No SDK required - any HTTP client works.
Step 1
Generate a key in your workspace settings and keep it secret.
1EP_API_KEY="ep_live_••••••••"Step 2
List the events in your workspace.
1curl https://api.eventpage.ai/v1/events
2 -H "Authorization: Bearer $EP_API_KEY"Step 3
Subscribe to events and react in real time.
1POST /v1/webhooks
2{ "event": "guest.checked_in" }API reference
The same objects you manage in the app - events, guests, tickets, check-ins and more. Fully documented in our OpenAPI spec.
Create, update and publish events and their pages.
/v1/events/v1/eventsImport guests, manage RSVP status, plus-ones and segments.
/v1/events/{id}/guests/v1/events/{id}/guestsTicket types, orders and payment status for every sale.
/v1/events/{id}/orders/v1/tickets/{id}Read check-ins in real time or check guests in from your own app.
/v1/checkins/v1/events/{id}/checkinsYour guest database across all events, with tags and history.
/v1/contacts/v1/contacts/{id}Subscribe to events and receive signed payloads.
/v1/webhooks/v1/webhooks/{id}Built for API-first teams
Keep your CRM, BI and internal tools as the single source of truth - eventpage syncs in both directions.
Push registrations to HubSpot, Salesforce or your own CRM and pull contact lists back in.
Stream orders, check-ins and no-shows into BigQuery, Snowflake or your BI tool.
Use your own forms and app, keep eventpage for tickets, check-in and messaging.
Trigger onboarding, badges or Slack alerts the moment something happens.
Webhooks
Subscribe to the events you care about. We send a signed JSON payload to your endpoint and retry automatically if it is down.
1{
2 "type": "checkin.completed",
3 "created": "2026-05-15T18:04:12Z",
4 "data": {
5 "guest_id": "gst_8f2k1",
6 "event_id": "evt_summit26",
7 "entrance": "Main gate"
8 }
9}Interactive docs
Our reference is generated from the OpenAPI spec, so it is always in sync with the API. Try requests right in the browser.
/v1/events/{event_id}/guestsCreates a guest and, depending on the event settings, sends the confirmation email and ticket.
first_namestringrequiredemailstringrequiredticket_typestringoptionaltagsarrayoptionalsend_confirmationbooleanoptional1curl -X POST https://api.eventpage.ai/v1/events/evt_1/guests \
2 -H "Authorization: Bearer $EP_API_KEY" \
3 -d '{"first_name":"Anna","email":"anna@company.com"}'1const res = await fetch(
2 "https://api.eventpage.ai/v1/events/evt_1/guests",
3 { method: "POST", headers, body }
4);1res = requests.post(
2 "https://api.eventpage.ai/v1/events/evt_1/guests",
3 headers=headers, json=body
4)1$res = $client->post(
2 'https://api.eventpage.ai/v1/events/evt_1/guests',
3 ['headers' => $headers, 'json' => $body]
4);Developer resources
Security & reliability
Authentication, permissions and limits that your security team will sign off on.
Scoped keys you can rotate or revoke at any time.
TLS everywhere, HMAC signatures on every webhook.
Clear limits and headers so your integration never gets surprised.
Breaking changes only in new versions, announced in the changelog.
Data processed and stored in the EU, GDPR-compliant.
API access follows the roles in your workspace.
No code? Use AI instead
Our MCP server sits on top of the same API. Create events, invite guests and pull reports by just asking your AI assistant.
FAQ
What developers ask us before they integrate.
Our team helps with architecture, auth and edge cases.
Contact the dev teamAPI access is part of the Pro and Enterprise plans. Your API keys live in the workspace settings.
Yes. Next to your live key you can create a test API key and try every request without affecting real events, guests or payments.
Every workspace has clear rate limits. Each response includes headers with your remaining quota, and if you hit the limit you get HTTP 429 with a Retry-After header.
You do not need one: any HTTP client works. Because the API is fully described in OpenAPI 3, you can generate a typed client for your language in minutes.
Send your API key as a bearer token in the Authorization header of every request. Keys are scoped to a workspace and can be rotated or revoked at any time.
Yes. The MCP connector runs on the same API, so integrations and AI assistants work with the same events, guests and permissions.
Start building
Get your API key, read the docs and ship your first integration today.
Tell us about your stack. We will set up API access for your workspace and walk you through keys, endpoints and webhooks in a short technical demo.
Thanks! We will be in touch shortly.