Events (Admin)

Add a 4S user as speaker (Admin)

POST/manage/events/:eventId/speakers

Register a 4S user as a speaker. Requires the speakersWrite permission. If the user already has an active registration, speaker metadata is attached to it; otherwise a registration is created as a draft (UNUSED). Guest users cannot be specified (create them with /speakers/guest).

AuthLogin required

Path parameters

eventIdstringrequired

Event ID or slug.

Request body

userIdstringrequired

User ID to register as a speaker (required).

ticketIdstringoptional

Ticket to assign when a new registration is created; must belong to the same event.

sendEmailbooleanoptional

Send the registration email to the user when a new registration is created. Defaults to true. No email is sent when the registration is created as a draft (state = UNUSED).

statestringoptional

Registration state for the created registration: UNUSED (draft) or CONFIRMED. Defaults to UNUSED.

pickedUpbooleanoptional

Whether to feature the speaker.

overridesSpeakerOverridesoptional

Event-specific display overrides (firstName / lastName / nativeName / avatarUrl / title / bio / languages). Null falls back to the user's profile; any string including an empty string overrides it (empty = intentionally blank for this speaker).

Notes

When accessed with an OAuth access token, `email` fields are recursively removed from the response JSON (they are retained for session-authenticated dashboard access).

Response

Returns Speaker.

Request
curl https://api.4s.link/manage/events/EVENT_ID/speakers \
-X POST \
-H "Authorization: Bearer 4s_at_..." \
-H "Content-Type: application/json" \
-d '{
"userId": "a1b2c3d4-...",
"ticketId": "t1a2b3c4-...",
"sendEmail": true,
"overrides": { "title": "Keynote Speaker" }
}'
Example response
{
"id": "en1a2b3-...",
"entryId": "en1a2b3-...",
"eventId": "e1a2b3c4-...",
"userId": "a1b2c3d4-...",
"firstName": "太郎",
"lastName": "山田",
"title": "Keynote Speaker",
"pickedUp": false,
"overrides": { "firstName": null, "lastName": null, "nativeName": null, "avatarUrl": null, "title": "Keynote Speaker", "bio": null, "languages": null },
"entry": { "id": "en1a2b3-...", "state": "CONFIRMED", "ticketId": "t1a2b3c4-...", "checkedInAt": null, "ticket": { "id": "t1a2b3c4-...", "name": "一般チケット" } },
"user": { "id": "a1b2c3d4-...", "slug": "taro", "guest": false }
}