Add a 4S user as speaker (Admin)
/manage/events/:eventId/speakersRegister 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).
| Auth | Login required |
|---|
Path parameters
eventIdstringrequiredEvent ID or slug.
Request body
userIdstringrequiredUser ID to register as a speaker (required).
ticketIdstringoptionalTicket to assign when a new registration is created; must belong to the same event.
sendEmailbooleanoptionalSend 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).
statestringoptionalRegistration state for the created registration: UNUSED (draft) or CONFIRMED. Defaults to UNUSED.
pickedUpbooleanoptionalWhether to feature the speaker.
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.
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" }}'
{"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 }}