Event agenda sync: your registration system, feeding Dium
Event partners create the Flow, load sessions, open sponsor Pages and sign attendees in from their own systems, through the partner API.
What it does
It is one-way: your registration or agenda system pushes to Dium. Dium does not write back to your system.
Each event gets an external ID, so calling create again finds the same Flow instead of making a second one. Sessions and sponsor Pages are also matched, so re-sending an updated agenda updates them in place.
Ticket types map to profile types, so a sponsor lands as a Sponsor with the right to create their Page.
What data moves
| Data | Direction | When |
|---|---|---|
| Event (Flow) with your external ID | Your system to Dium | When the event is set up |
| Agenda sessions | Your system to Dium | On create and on each agenda change |
| Sponsor and exhibitor Pages | Your system to Dium | When a sponsor registers |
| Attendee sign-in and profile type | Your system to Dium | Each time an attendee opens Dium |
| Back-to-event link | Your system to Dium | Stored with the Flow |
What you need
- A partner key with the scopes you need (for example sign-in tokens and Page creation)
- Your origin on Dium's allowlist
- Server-side code; the key never goes to the browser
- Profile types in the Flow for each ticket type
Setup
Get a key
Talk to us. We register your partner entry, scopes and origin.
Create or find the event
Call ladder.php create with your external ID. Calling again returns the same Flow.
Load the agenda
Create session Waves for each talk. Re-sending updates sessions instead of duplicating.
Open sponsor Pages
Call exhibit.php create when a sponsor registers. Retries do not create a second Page.
Sign attendees in
Ask auth.php for a one-time token and redirect the browser to Dium with it.
Signing an attendee in
Your server asks for a token, then redirects the browser. The token lasts five minutes and works once.
curl -X POST https://dium.io/api/auth.php \
-H "Content-Type: application/json" \
-H "X-Api-Key: $DIUM_PARTNER_KEY" \
-d '{"action":"issue_token","email":"[email protected]","name":"Ana L."}'
# Response (shape)
{"success": true, "token": "48-hex-characters", "expires_in": 300}X-Api-Key header, not in the request body or a URL. Full details in the API reference.Troubleshooting
We sent the agenda twice and see no duplicates. Is that right?
Yes. Sessions and Pages are matched, so a second send updates rather than copies.
We get 401 from the API
The key is missing or wrong. Send it in the X-Api-Key header.
We get 403 from the API
The key is valid but lacks the scope for that action. Ask us to add the scope.
Session times look shifted for a global event
Dium anchors times to the event's time zone and shows each member their own local time. Send times with a clear time zone.
Try it on a free Flow.
Free while you are under 50 members. Partner features are set up with our team.