request_login_code
Request login code
Email a 6-digit sign-in code to the user's address. The user reads the code from their inbox and gives it back to you; then call verify_login_code. Use this whenever an API tool returns 'Not authorized'.
Parametersemailrequired
verify_login_code
Verify login code
Complete login with the 6-digit code from request_login_code. Returns an API token the user must set as their client's authorization header (this server keeps no per-session state). Token is valid for 7 days.
Parameterscoderequiredemailrequired
Profile of the logged-in user (id, name, email, team_ids), via the Authorization header token.
Takes no parameters.
List the user's teams (id + name). Use a team_id when creating an event.
Takes no parameters.
Find events the user can access. Optional free-text query `q`. Returns id/title/dates — chain the id into other tools.
Parametersqpagepage_size
Get one event by id (modules, email settings, dates, billing). Speakers, sponsors and schedules are separate tools — see the Actions dashboard via get_event_actions.
Parametersevent_idrequired
get_event_actions
Get event actions dashboard
One call returning everything actionable on an event: speakers/sponsors awaiting intake approval or card approval/publishing, call-for-speakers applications, and schedule pending proposals + publishable tracks. Replaces five separate list calls; use this when asked 'what needs doing on <event>'.
Parametersevent_idrequired
get_event_modules
List event modules
List an event's modules with their enabled state (speaker, schedule, content, attendee, app).
Parametersevent_idrequired
toggle_event_module
Toggle event module
Enable or disable an event module. module_id is one of 'speaker', 'schedule', 'content', 'attendee', 'app'. Disabling hides the module for the event's users without deleting anything.
Parametersenabledrequiredevent_idrequiredmodule_idrequired
list_event_members
List event members
List the people with direct access to an event: user_id, name, email, role ('event:admin'/'event:editor'/'event:viewer'/'speaker'), invitation status ('active'/'pending').
Parametersevent_idrequired
invite_event_member
Invite event member
Invite someone to an event by email — the account is created for them if they don't have one, and they get an invitation email. role: 'admin' (full control), 'editor' (manage content; default) or 'viewer' (read-only).
Parametersnameroleemailrequiredevent_idrequired
update_event_member
Update event member
Change a member's role: 'admin' (full control), 'editor' (manage content) or 'viewer' (read-only). Get user_id from list_event_members. The event creator cannot be demoted.
Parametersrolerequireduser_idrequiredevent_idrequired
remove_event_member
Remove event member
Remove a member's access to an event (their speaker links are not affected). Get user_id from list_event_members.
Parametersuser_idrequiredevent_idrequired
accept_event_invitation
Accept event invitation
Accept the logged-in user's own pending invitation to an event (activates their membership). Use when the user says 'accept my invite to <event>'.
Parametersevent_idrequired
list_speakers
List speakers
List speakers for an event (paginated). Optional filters: q (search name/email), form_type ('speaker-info' or 'call-for-speakers'), intake_status (e.g. 'info_pending', 'info_submitted'; values from speaker_information_status).
Parametersqpageevent_idrequiredform_typepage_sizeintake_status
Get one speaker by id (bio, talk title, headshot, logos, links).
Parametersevent_idrequiredspeaker_idrequired
create_speaker
Create speaker
Create a speaker for an event. Requires first_name, last_name, email. The speaker is coupled to the event; image files can be added later with upload_speaker_image.
Parametersbioemailrequiredevent_idrequiredlinkedinform_typelast_namerequiredfirst_namerequiredtalk_titlecompany_namecompany_roletalk_description
update_speaker
Update speaker
Update a speaker. Pass only the fields to change (snake_case names). For images use upload_speaker_image instead of headshot/company_logo. Set website_card_approved / promo_card_approved true to publish the speaker's cards to the website walls.
Parametersbioevent_idrequiredlinkedinform_typelast_namefirst_namespeaker_idrequiredtalk_titlecompany_namecompany_roleembed_enabledinternal_notes+3 more
upload_speaker_image
Upload speaker image
Upload an image for a speaker and attach it to a slot (headshot, company_logo or company_logo_white). `source` is a public image URL (fetched by this server, e.g. Drive link or website) or a base64 data URL. Replaces any existing image in that slot. Ask the user whether to auto-crop the image to a face (face_crop) before uploading if they haven't said.
Parametersslotsourcerequiredevent_idrequiredface_cropspeaker_idrequired
delete_speaker
Delete speaker
Delete a speaker from an event. Permanent — removes their talk links, content and images.
Parametersevent_idrequiredspeaker_idrequired
send_speaker_login_link
Send speaker login link
Email a speaker a passwordless sign-in link for the ConfBuilder app (their account is created if needed). Use when the user asks to send a speaker their login / access link; confirm the speaker before sending.
Parametersevent_idrequiredspeaker_idrequired
list_schedules
List schedules
List schedules (tracks) for an event.
Parametersevent_idrequired
Get one schedule by id (with its activities).
Parametersevent_idrequiredschedule_idrequired
create_schedule
Create schedule
Create a schedule (track) for an event. Optional name (default 'Event Schedule'), schedule_type (default 'detailed') and location.
Parametersnameevent_idrequiredlocationschedule_type
update_schedule
Update schedule
Update a schedule (track): name, schedule_type or location. Activities are managed separately.
Parametersnameevent_idrequiredlocationschedule_idrequiredschedule_type
Delete an event (removes it from listings; payments preserved for audit).
Parametersevent_idrequired
publish_schedule
Publish schedule
Publish a schedule (track): snapshots the current draft into a new version — that snapshot is what the app and website render. Publish again after edits.
Parametersevent_idrequiredschedule_idrequired
unpublish_schedule
Unpublish schedule
Unpublish a schedule (track): pulls the published snapshot back to draft so it no longer renders in the app/website until publish_schedule is called again.
Parametersevent_idrequiredschedule_idrequired
delete_schedule
Delete schedule
Delete a schedule (track) and all its activities and versions.
Parametersevent_idrequiredschedule_idrequired
list_activities
List sessions
List activities (sessions/talks) in one schedule.
Parametersevent_idrequiredschedule_idrequired
create_activity
Create session
Create a session (activity) in a schedule. Requires title; optional dates/times (ISO, e.g. start_date 2025-09-21, start_time 10:00:00), description, location, notes, and speaker_ids/sponsor_ids to link speakers or sponsors to the session.
Parametersnotestitlerequiredend_dateend_timeevent_idrequiredlocationstart_datestart_timedescriptionschedule_idrequiredspeaker_idssponsor_ids
update_activity
Update session
Update a session (activity). Pass only the fields to change; setting speaker_ids/sponsor_ids replaces the linked speakers/sponsors.
Parametersnotestitleend_dateend_timeevent_idrequiredlocationstart_datestart_timeactivity_idrequireddescriptionschedule_idrequiredspeaker_ids+1 more
delete_activity
Delete session
Delete an activity (session) from a schedule.
Parametersevent_idrequiredactivity_idrequiredschedule_idrequired
set_promo_config
Set card design config
Create or update an event's card design config (upsert by event_id + promo_type). promo_type: 'website' (speaker website cards), 'sponsor-website' (sponsor website cards), 'promo' / 'sponsor-promo' (social share cards). Pass either `preset` (a name from list_card_presets) or `config` (the card-design JSON the card builder saves: templateUrl, bgColor, canvasWidth/canvasHeight, field descriptors). embed_expandable + embed_expand_count make the embed wall render the first N cards plus a show-more chevron instead of all cards.
Parametersconfigpresetevent_idrequiredpromo_typerequiredembed_expandableembed_expand_countembed_speaker_orderembed_sponsor_orderembed_max_card_widthembed_background_color
get_promo_config
Get card design config
Get an event's card design config. Optional promo_type filter ('website', 'sponsor-website', 'promo', 'sponsor-promo'); without it returns the event's first config.
Parametersevent_idrequiredpromo_type
list_card_presets
List card design presets
List the built-in card design presets (port of the frontend card-builder starters). Pass a preset name to set_promo_config's `preset` param.
Takes no parameters.
set_form_config
Set intake form config
Create or update an event's intake form config (upsert by event_id + form_type). form_type: 'speaker-info', 'sponsor-info' or 'call-for-speakers'. `config` is the form-builder JSON: {fields: [{id, label, type, enabled, required, options, helpText, sectionStart, maxWords}], metadata: {title, subtitle, showTitle, shareCaption, welcomeInfo: {tabLabel, heading, body}}}.
Parametersconfigrequiredevent_idrequiredform_typerequired
get_form_config
Get intake form config
Get an event's intake form config (fields + metadata). Optional form_type filter ('speaker-info', 'sponsor-info', 'call-for-speakers'); without it returns the first config.
Parametersevent_idrequiredform_type
get_website
Get event website
Get an event's website-builder state: config (the section/theme draft JSON), slug (claimed address, e.g. summit2026 gives summit2026.confbuilder.com), publishedConfig + publishedAt (what is live). config null = website not started.
Parametersevent_idrequired
save_website
Save event website
Save an event's website-builder draft. `config` is the website-builder JSON (sections + theme — best obtained by reading get_website and editing it, or by asking the user for what they want built). Optional `slug` claims or renames the site address (3–40 chars: lowercase letters, numbers, hyphens; check with check_website_slug first — taken slugs fail with 409, and old slugs stay reserved forever when renaming so printed links keep working). Publishing is a separate step (publish_website).
Parametersslugconfigrequiredevent_idrequired
publish_website
Publish event website
Publish an event's website: snapshots the current draft live (what visitors see). Requires a saved config and a claimed slug — save_website first. Publish again after further edits in the builder to ship them.
Parametersevent_idrequired
check_website_slug
Check website slug availability
Check whether a website-builder slug (the subdomain label, 3–40 lowercase letters/numbers/hyphens) is valid and available, e.g. before save_website claims it.
Parametersslugrequired
list_marketing_posters
List marketing posters
List an event's saved marketing posters (poster grids of speaker/sponsor/attendee cards, newest first).
Parametersevent_idrequired
create_marketing_poster
Create marketing poster
Create a saved marketing poster (a grid of cards for the Marketing Builder). kind fixes the entity type: 'speakers', 'sponsors' or 'attendees'. entity_ids are the ids of the entities to show on the poster (get them from list_speakers/list_sponsors/list_attendees). cols_desktop/cols_mobile are grid columns; png_cols is the cards-per-row used for PNG export; card_urls carries hosted card PNGs ({fp: templateFingerprint, urls: {cardId: url}}).
Parameterskindrequirednamerequiredevent_idrequiredpng_colscard_urlsentity_idscols_mobilecols_desktop
update_marketing_poster
Update marketing poster
Update a marketing poster. Pass only the fields to change: name, entity_ids (replaces the poster's cards), cols_desktop, cols_mobile, png_cols, card_urls. kind is fixed at creation and cannot change — create a new poster for a different entity type.
Parametersnameevent_idrequiredpng_colscard_urlsposter_idrequiredentity_idscols_mobilecols_desktop
delete_marketing_poster
Delete marketing poster
Delete a marketing poster by id.
Parametersevent_idrequiredposter_idrequired
list_content
List content files
List an event's content items (slides, documents, assets) — or one entity's content only: pass entity_type ('speaker', 'sponsor' or 'schedule') + entity_id.
Parametersevent_idrequiredentity_identity_type
upload_entity_content
Upload content file
Attach a content file (slide deck, video, image, PDF…) to a speaker, sponsor or schedule. entity_type picks which. `source` is a public URL (fetched by this server) or a base64 data URL. name is a label shown in the app, e.g. 'presentation' or 'previous_talk'.
Parametersnamerequiredsourcerequiredevent_idrequiredentity_idrequiredentity_typerequired
archive_entity_content
Archive content file
Archive (or unarchive) an entity's content item by document id. Archived content is hidden from the app but kept (content has no hard delete). Get document ids from list_content.
Parametersarchiveevent_idrequiredentity_idrequireddocument_idrequiredentity_typerequired
List news items for an event.
Parametersevent_idrequired
create_news
Post news item
Post a news item to an event's news feed (organisers). notify=True (default) also push-notifies everyone linked to the event.
Parametersbodytitlerequirednotifyevent_idrequired
List polls for an event (open polls with anonymous results; include_closed=True to see closed ones too).
Parametersevent_idrequiredinclude_closed
Create a poll for an event's audience. Requires a question and at least two options (e.g. options ['Yes', 'No']). Voting is anonymous; results tally is returned with the poll.
Parametersoptionsrequiredevent_idrequiredquestionrequired
list_chat_messages
List chat messages
List chat messages for an event-wide channel (oldest last). Optional `peer` for a DM thread, `after` ISO timestamp to poll for new messages.
Parameterspeerafterlimitevent_idrequired
list_chat_conversations
List chat conversations
List the logged-in user's DM threads for an event (one row per peer, latest message first). Pass a conversation's peerId to list_chat_messages as `peer` to read the full thread.
Parametersevent_idrequired
send_chat_message
Send chat message
Send a chat message to an event's chat channel (as the logged-in user). Optional peer_user_id sends a direct message to that user instead of the event-wide channel.
Parametersbodyrequiredevent_idrequiredpeer_user_id
delete_chat_message
Delete chat message
Delete a chat message (your own; organisers can delete any).
Parametersevent_idrequiredmessage_idrequired
list_notifications
List notifications
List the logged-in user's notifications across their events (newest first): id/title/body/data/read + unread_count. Pair with mark_notification_read when the user asks to catch up.
Takes no parameters.
mark_notification_read
Mark notification read
Mark one of the user's notifications as read (get ids from list_notifications).
Parametersnotification_idrequired
get_my_labels
Get my event labels
Get the logged-in user's areas-of-interest labels for an event (e.g. ['AI', 'Fintech']) — what they're interested in / following there.
Parametersevent_idrequired
set_my_labels
Set my event labels
Replace the logged-in user's areas-of-interest labels for an event (the full list replaces the old one — read with get_my_labels first and keep what they want to keep).
Parameterslabelsrequiredevent_idrequired
list_attendees
List attendees
List attendees for an event (paginated). Optional `search` by name/email, `state` filter (e.g. 'complete').
Parameterspagestatesearchevent_idrequiredpage_size
Get one attendee by id (profile, ticket, check-in state).
Parametersevent_idrequiredattendee_idrequired
check_in_attendees
Check in attendees
Check in attendees in bulk. attendee_ids are ids from list_attendees.
Parametersevent_idrequiredattendee_idsrequired
void_attendee
Void attendee ticket
Void an attendee's ticket (mark it invalid). resell=True also frees the ticket-type capacity so the ticket can be sold again; default keeps it consumed.
Parametersresellevent_idrequiredattendee_idrequired
update_attendee
Update attendee
Update an attendee's details. Pass only the fields to change (first_name, last_name, email, phone_number, company_name, job_title).
Parametersemailevent_idrequiredjob_titlelast_namefirst_nameattendee_idrequiredcompany_namephone_number
Create an event. Requires title, start_date and end_date (ISO 8601, e.g. 2025-09-21T09:00:00Z) and team_id (get from list_teams). location optional.
Parameterstitlerequiredteam_idrequiredwebsiteend_daterequiredlocationstart_daterequired
Update an event. Pass only the fields to change (title, start_date, end_date, location, website). The event image is set with set_event_image.
Parameterstitlewebsiteend_dateevent_idrequiredlocationstart_date
set_event_image
Set event image
Upload an image for an event (e.g. hero/banner) and set it as the event's eventImage. `source` is a public image URL (fetched by this server, e.g. Drive link or website) or a base64 data URL. Replaces any existing image.
Parameterssourcerequiredevent_idrequired
create_checkout
Create event upgrade checkout
Start a checkout that pays for upgrading an event (speaker module) via Polar. Returns the hosted checkout URL — give it to the user to open and pay; the upgrade activates automatically once payment completes. No tool exists to check payment status — ask in the Polar billing portal instead.
Parameterslocalecurrencyevent_idrequired
get_billing_portal_url
Open billing portal
Get the user's Polar billing-portal URL — manage payments, receipts and subscriptions. Open the returned URL in a browser.
Takes no parameters.