Update speaker (Admin)
/manage/events/:eventId/speakers/:entryIdUpdate speaker metadata (pickedUp and display overrides). For guest speakers, guestProfile also updates the user's profile. Requires the speakersWrite permission.
| Auth | Login required |
|---|
Path parameters
eventIdstringrequiredEvent ID or slug.
entryIdstringrequiredThe speaker's registration ID.
Request body
pickedUpbooleanoptionalWhether to feature the speaker.
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), and omitted fields are unchanged.
Guest speakers only: applies the edited profile (firstName / lastName / nativeName / email / lang / avatarUrl / title / bio) to the user itself; send avatarUrl null to clear the avatar. Guests hold no display overrides, so every override except the localized title / bio is cleared. ENTRY_NOT_GUEST for 4S-user speakers.
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/ENTRY_ID \-X PUT \-H "Authorization: Bearer 4s_at_..." \-H "Content-Type: application/json" \-d '{"pickedUp": true,"overrides": { "title": "Principal Engineer", "bio": null }}'
{"id": "en1a2b3-...","entryId": "en1a2b3-...","userId": "a1b2c3d4-...","firstName": "太郎","lastName": "山田","title": "Principal Engineer","pickedUp": true,"overrides": { "firstName": null, "lastName": null, "nativeName": null, "avatarUrl": null, "title": "Principal Engineer", "bio": null, "languages": null },"entry": { "id": "en1a2b3-...", "state": "CONFIRMED", "ticketId": null, "checkedInAt": null, "ticket": null },"user": { "id": "a1b2c3d4-...", "slug": "taro", "guest": false }}