Events (Admin)

Update event (Admin)

PUT/manage/events/:eventId

Update an event. Requires the eventWrite permission (meeting-only updates also accept eventMeetingWrite). Organizers (EventOrganizer) are reconciled from the `organizers` array: organizers not present in the array are removed.

AuthLogin required

Path parameters

eventIdstringrequired

Event ID or slug.

Request body

titlestringoptional

Event title (required); no length limit.

descriptionstringoptional

Description in Markdown; no length limit.

languagesLanguagesoptional

Localized title / description.

eventTypestringoptional

One of ONSITE / ONLINE / HYBRID.

timezonestringoptional

IANA timezone (e.g. Asia/Tokyo).

schedulesEventSchedule[]optional

Array of per-day schedules; each has date (YYYY-MM-DD) plus startTime / endTime (HH:mm), with an optional doorTime. Times are interpreted in the event's timezone.

locationLocation | Location[]optional

Venue location.

onlineUrl / onlineDescriptionstringoptional

Online URL (must be a valid URL) and description (up to 200 characters).

enabledTickets / enabledSideEventsbooleanoptional

Feature toggles for ticket sales and side events. These are the only feature toggles an event manager can change.

slugstringoptional

3–200 characters; lowercase alphanumerics, hyphens and underscores only (^[a-z0-9-_]+$). Must be unique.

thumbnailUrl / mainImageUrlstringoptional

Image URLs; must be valid URLs. Use a URL returned by the upload endpoints.

customStyleCustomStyleoptional

Custom style.

customNavigationCustomNavigationoptional

Custom navigation.

organizerContactContact[]optional

Organizer contact.

tagsstring[]optional

Array of tag names.

statestringoptional

One of DRAFT / PUBLISHED / PRIVATE / CANCELED. Changing the state to CANCELED requires a platform administrator.

organizersEventOrganizer[]optional

Full list of organizers (EventOrganizer); omitted organizers are removed.

requiresApproval / registrationPaused / requiresFacePhotobooleanoptional

Registration behavior.

maxParticipantsnumberoptional

Maximum number of participants; an integer of 1 or more.

participantListVisibilitystringoptional

One of PUBLIC / PARTICIPANTS_ONLY / PRIVATE.

participantCancellationPolicystringoptional

One of DISABLED / FREE_ONLY / NON_PREPAID.

entryProfileFieldsEntryProfileFieldsoptional

Profile fields collected at registration.

ga4MeasurementId / metaPixelIdstringoptional

Analytics tag IDs; up to 20 characters each.

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).

enabledMeetings, enabledChat, enabledReferralTree (invitations) and enabledConferenceMode can only be turned on through the platform administration (admin) API. Values for them sent to this endpoint are ignored, and they are always false on create. The only feature toggles an event manager can change are enabledTickets and enabledSideEvents. Read the current values from GET /manage/events/:eventId.

Response

Returns Event.

Request
curl https://api.4s.link/manage/events/EVENT_ID \
-X PUT \
-H "Authorization: Bearer 4s_at_..." \
-H "Content-Type: application/json" \
-d '{
"title": "4S Tech Conference 2026",
"state": "PUBLISHED",
"organizers": [
{ "communityId": "c1a2b3c4-..." }
]
}'
Example response
{
"id": "e1f2a3b4-...",
"slug": "tech-conf-2026",
"title": "4S Tech Conference 2026",
"description": "...",
"state": "DRAFT",
"eventType": "HYBRID",
"timezone": "Asia/Tokyo",
"schedules": [
{ "date": "2026-09-01", "doorTime": "09:30", "startTime": "10:00", "endTime": "18:00" }
],
"location": { "displayText": "Tokyo, Japan" },
"thumbnailUrl": "https://.../thumb.png",
"organizers": [
{ "id": "eo1a2b3-...", "communityId": "c1a2b3c4-...", "userId": null }
],
"tags": []
}