Developers · Quickstart
Three calls to a live checklist.
Create an event, attach an attendee, set the steps. You get back a signed URL you can email, embed or redirect to.
Before you start. API keys are not self-serve yet.
Ask us with the topic set to “Platform / integration partner” and we will
issue one by hand, usually same day. Everything below works against production today.
0 · Authenticate
Every request carries a bearer token. Keep it server-side — it is not safe in a browser.
export EWENT_KEY="sk_live_..." export EWENT_API="https://ewent.ai/api"
1 · Create the occurrence
An occurrence is a single dated instance. A recurring series is many occurrences under one template.
curl -X POST "$EWENT_API/occurrence_create" \
-H "Authorization: Bearer $EWENT_KEY" \
-d "title=Quarterly Product Summit" \
-d "start=2026-11-04T09:00:00Z" \
-d "timezone=Europe/Berlin" \
-d "location=Berlin, DE"
# → { "success": true, "ewent_token": "a488g4o8e12n6vo" }
timezone is the event’s own zone. Attendee scheduling uses each
attendee’s zone, not this one — this is only the fallback when an attendee’s is unknown.
2 · Attach an attendee
Call this once per registration, ideally in the same request that creates it on your side.
curl -X POST "$EWENT_API/rsvp_create" \ -H "Authorization: Bearer $EWENT_KEY" \ -d "ewent_token=a488g4o8e12n6vo" \ -d "[email protected]" \ -d "name=Ada Lovelace" \ -d "timezone=Europe/London" # → { "success": true, # "rsvp_token": "ca43a771", # "checklist_url": "https://ewent.ai/event/a488g4o8e12n6vo/ca43a771" }
The URL is the product. It is signed and needs no login. Email it, embed it, or redirect
to it — whichever fits your flow.
3 · Set the checklist
Once per event. Steps are grouped by phase: prep,
live, post.
curl -X POST "$EWENT_API/steps_set" \
-H "Authorization: Bearer $EWENT_KEY" \
-d 'ewent_token=a488g4o8e12n6vo' \
--data-urlencode 'steps=[
{"phase":"prep","title":"Book your hotel","url":"https://…"},
{"phase":"prep","title":"Read the pre-brief","url":"https://…"},
{"phase":"live","title":"Join the opening keynote","url":"https://…"},
{"phase":"post","title":"Share your feedback","url":"https://…"}
]'
That is the whole integration. The cadence starts automatically from the occurrence start time.
What happens next, without you
| When | What fires |
|---|---|
| On attach | Welcome + calendar file + checklist link |
| −3 days, 09:00 attendee-local | Prep reminder |
| −1 day, 09:00 attendee-local | Logistics reminder |
| −1 hour | Starting soon |
| At start, conditional | “You haven’t joined” nudge |
| +2 hours | Thank you, recap, feedback |
Common follow-ups
# look an attendee up curl "$EWENT_API/[email protected]" \ -H "Authorization: Bearer $EWENT_KEY" # cancel — stops the pending cadence and frees the seat curl -X POST "$EWENT_API/rsvp_cancel" \ -H "Authorization: Bearer $EWENT_KEY" \ -d "ewent_token=$T&rsvp_token=$R" # cancel or reschedule the whole occurrence (triggers the broadcast) curl -X POST "$EWENT_API/event_status" \ -H "Authorization: Bearer $EWENT_KEY" \ -d "ewent_token=$T&status=cancelled"
ewent