One series key updates any event in its series — that is the point of a
series key. Accepts the same fields as the web’s event settings form and
setup wizard (basics, schedule, location, module toggles); send only the
fields you want to change.
event_series_id is not writable: an event cannot be moved out of its
series through this API (a value in the body is ignored, not rejected,
so a client can round-trip a GET response). Moving an event between
series is a global-admin action on the web.
A user token also works here if the caller could update the event on the
web — unlike POST, which is series-key-only.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Attend","description":"Help articles and the API reference for Attend, Hack Club's event platform.","colors":{"primary":"#ec3750","light":"#ff6b7d","dark":"#d42f46"},"favicon":"https://mintcdn.com/hack-club/JxHviSe0hsr-zlFr/favicon.png?fit=max\u0026auto=format\u0026n=JxHviSe0hsr-zlFr\u0026q=85\u0026s=c87622b7179125623f4fd97cb75760c9","navbar":{"links":[{"href":"https://attend.hackclub.com","label":"Attend"}],"primary":{"type":"github","href":"https://github.com/hackclub/attend"}},"footer":{"socials":{"github":"https://github.com/hackclub/attend","website":"https://hackclub.com"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hack-club","hasAudioNarration":false,"actualSubdomain":"hack-club","customDomains":["attend.hackclub.com"],"gitSource":{"type":"github","owner":"hackclub","repo":"attend","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6aec497507f9eeebb2937881","collectionId":"ef92b0b0-73f7-4666-9b5f-a79f3e716254","liveDeploymentHistoryId":"6aec497507f9eeebb2937881","schemaVersion":"v3"},"feedback":{"thumbs":true,"agentFeedback":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aec497507f9eeebb2937881","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API reference","count":74},{"language":"default","tag":"Endpoints","count":73},{"language":"default","tag":"Help","count":21},{"language":"default","tag":"Messages","count":12},{"language":"default","tag":"Participants","count":8},{"language":"default","tag":"Incidents","count":7},{"language":"default","tag":"Series","count":6},{"language":"default","tag":"Your event","count":5},{"language":"default","tag":"Getting started","count":4},{"language":"default","tag":"Travel","count":4}],"searchSettings":{"showContentSnippets":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"[email protected]"}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/series/update-an-event-in-the-series","slug":"/api-reference/series/update-an-event-in-the-series","pageMetadata":{"title":"Update an event in the series","description":"One series key updates any event in its series — that is the point of a\nseries key. Accepts the same fields as the web's event settings form and\nsetup wizard (basics, schedule, location, module toggles); send only the\nfields you want to change.\n\n`event_series_id` is not writable: an event cannot be moved out of its\nseries through this API (a value in the body is ignored, not rejected,\nso a client can round-trip a `GET` response). Moving an event between\nseries is a global-admin action on the web.\n\nA user token also works here if the caller could update the event on the\nweb — unlike `POST`, which is series-key-only.\n","deprecated":null,"version":null,"sidebarTitle":"Update an event in the series","openapi":"/openapi.yml patch /series/{series_id}/events/{id}","href":"/api-reference/series/update-an-event-in-the-series","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"One series key updates any event in its series — that is the point of a\\nseries key. Accepts the same fields as the web’s event settings form and\\nsetup wizard (basics, schedule, location, module toggles); send only the\\nfields you want to change.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"event_series_id\"\n }), \" is not writable: an event cannot be moved out of its\\nseries through this API (a value in the body is ignored, not rejected,\\nso a client can round-trip a \", _jsx(_components.code, {\n children: \"GET\"\n }), \" response). Moving an event between\\nseries is a global-admin action on the web.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"A user token also works here if the caller could update the event on the\\nweb — unlike \", _jsx(_components.code, {\n children: \"POST\"\n }), \", which is series-key-only.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Update an event in the series","description":"One series key updates any event in its series — that is the point of a\nseries key. Accepts the same fields as the web's event settings form and\nsetup wizard (basics, schedule, location, module toggles); send only the\nfields you want to change.\n\n`event_series_id` is not writable: an event cannot be moved out of its\nseries through this API (a value in the body is ignored, not rejected,\nso a client can round-trip a `GET` response). Moving an event between\nseries is a global-admin action on the web.\n\nA user token also works here if the caller could update the event on the\nweb — unlike `POST`, which is series-key-only.\n","deprecated":null,"version":null,"sidebarTitle":"Update an event in the series","openapi":"/openapi.yml patch /series/{series_id}/events/{id}","href":"/api-reference/series/update-an-event-in-the-series","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Series"],"summary":"Update an event in the series","x-mint":{"href":"/api-reference/series/update-an-event-in-the-series"},"description":"One series key updates any event in its series — that is the point of a\nseries key. Accepts the same fields as the web's event settings form and\nsetup wizard (basics, schedule, location, module toggles); send only the\nfields you want to change.\n\n`event_series_id` is not writable: an event cannot be moved out of its\nseries through this API (a value in the body is ignored, not rejected,\nso a client can round-trip a `GET` response). Moving an event between\nseries is a global-admin action on the web.\n\nA user token also works here if the caller could update the event on the\nweb — unlike `POST`, which is series-key-only.\n","parameters":["acafe3a6-0f54-439c-9d0a-b0b8b37c7c74","1729f8b4-7dfc-40bb-abff-7f153585b650"],"requestBody":"49c9fbad-020a-470a-8bff-3c1d7c2404f8","responses":{"200":"55d24d7c-b7f3-4297-bcd8-2b05cdf843c8","401":"675444dc-af72-49d6-b52e-139a57d936a8","403":"428cd702-f0d4-447a-8df4-0cf033a29197","404":"438ba7bf-0d89-4fa3-866d-14e6de79581f","422":"86554357-76c9-46ed-bd53-152bb6f39c9d"},"method":"patch","type":"path","servers":["cdc77891-66a2-41cc-83da-2876c8717128","c9030575-29d2-4e8c-8e07-86c6cfeebdd3"],"security":["a99530a7-e390-40b8-a239-5b04fc3ebc3f"],"path":"/series/{series_id}/events/{id}","baseUrlOptions":["https://attend.hackclub.com/api/v1","http://localhost:3000/api/v1"],"title":"Update an event in the series","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"acafe3a6-0f54-439c-9d0a-b0b8b37c7c74":{"name":"series_id","in":"path","required":true,"schema":{"type":"string","isRequired":true,"description":"Series UUID, series slug, or the literal `current` — the series the calling series API key belongs to. `current` is only valid for a series API key.","uniqueKey":"","typeLabel":"string"},"description":"Series UUID, series slug, or the literal `current` — the series the calling series API key belongs to. `current` is only valid for a series API key."},"1729f8b4-7dfc-40bb-abff-7f153585b650":{"name":"id","in":"path","required":true,"schema":{"type":"string","isRequired":true,"description":"Event UUID or slug. Must belong to the series in the path.","uniqueKey":"","typeLabel":"string"},"description":"Event UUID or slug. Must belong to the series in the path."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["event"],"properties":{"event":{"type":"object","description":"Send only the fields you want to change. `event_series_id` is not writable and is ignored if present.","properties":{"name":{"type":"string","example":"Sunbeam Summer 2027","uniqueKey":"event.name","typeLabel":"string"},"slug":{"type":"string","description":"Lowercase letters, numbers and dashes. Generated from `name` when omitted. Must be unique, and cannot be a reserved word (`new`, `admin`, `api`, `series`, …).","example":"sunbeam-summer-2027","uniqueKey":"event.slug","typeLabel":"string"},"support_email":{"type":"string","format":"email","description":"Must be `@hackclub.com`, `@events.hackclub.com`, or `@haven.hackclub.com` — it is the from and reply-to address on every participant and guardian email.","example":"[email protected]","uniqueKey":"event.support_email","typeLabel":"string\u003cemail>"},"timezone":{"type":"string","description":"IANA identifier or Rails zone name. Defaults to `UTC`. Zone-less timestamps (`2027-07-12T09:00`) are interpreted in this zone, so send it alongside the schedule; timestamps with an offset or `Z` are taken as given.","example":"Europe/Helsinki","uniqueKey":"event.timezone","typeLabel":"string"},"starts_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"event.starts_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"event.starts_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.starts_at","typeLabel":"string\u003cdate-time> | null"},"ends_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"event.ends_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"event.ends_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.ends_at","typeLabel":"string\u003cdate-time> | null"},"registration_open_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"event.registration_open_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"event.registration_open_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.registration_open_at","typeLabel":"string\u003cdate-time> | null"},"registration_close_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"event.registration_close_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"event.registration_close_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.registration_close_at","typeLabel":"string\u003cdate-time> | null"},"arrival_opens_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"event.arrival_opens_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"event.arrival_opens_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.arrival_opens_at","typeLabel":"string\u003cdate-time> | null"},"arrival_closes_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"event.arrival_closes_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"event.arrival_closes_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.arrival_closes_at","typeLabel":"string\u003cdate-time> | null"},"venue_name":{"oneOf":[{"type":"string","example":"Kaapelitehdas","uniqueKey":"event.venue_name.oneOf.0","typeLabel":"string"},{"type":"null","example":"Kaapelitehdas","uniqueKey":"event.venue_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.venue_name","typeLabel":"string | null"},"location_city":{"oneOf":[{"type":"string","example":"Helsinki","uniqueKey":"event.location_city.oneOf.0","typeLabel":"string"},{"type":"null","example":"Helsinki","uniqueKey":"event.location_city.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.location_city","typeLabel":"string | null"},"location_country":{"oneOf":[{"type":"string","example":"Finland","uniqueKey":"event.location_country.oneOf.0","typeLabel":"string"},{"type":"null","example":"Finland","uniqueKey":"event.location_country.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.location_country","typeLabel":"string | null"},"location_address":{"oneOf":[{"type":"string","description":"Saving an address, venue, city or country geocodes it in the background, filling in latitude and longitude — so a later `GET` may show coordinates you never sent.","example":"Tallberginkatu 1","uniqueKey":"event.location_address.oneOf.0","typeLabel":"string"},{"type":"null","description":"Saving an address, venue, city or country geocodes it in the background, filling in latitude and longitude — so a later `GET` may show coordinates you never sent.","example":"Tallberginkatu 1","uniqueKey":"event.location_address.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.location_address","typeLabel":"string | null"},"location_latitude":{"oneOf":[{"type":"number","format":"double","uniqueKey":"event.location_latitude.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","uniqueKey":"event.location_latitude.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.location_latitude","typeLabel":"number\u003cdouble> | null"},"location_longitude":{"oneOf":[{"type":"number","format":"double","uniqueKey":"event.location_longitude.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","uniqueKey":"event.location_longitude.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.location_longitude","typeLabel":"number\u003cdouble> | null"},"freedom_waivers_enabled":{"type":"boolean","description":"Defaults to true on create.","uniqueKey":"event.freedom_waivers_enabled","typeLabel":"boolean"},"travel_enabled":{"type":"boolean","description":"Defaults to true on create.","uniqueKey":"event.travel_enabled","typeLabel":"boolean"},"visa_options_enabled":{"type":"boolean","description":"Defaults to true on create.","uniqueKey":"event.visa_options_enabled","typeLabel":"boolean"},"visa_application_url":{"oneOf":[{"type":"string","uniqueKey":"event.visa_application_url.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"event.visa_application_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.visa_application_url","typeLabel":"string | null"},"accommodation_enabled":{"type":"boolean","description":"Defaults to true on create.","uniqueKey":"event.accommodation_enabled","typeLabel":"boolean"},"roommate_preferences_enabled":{"type":"boolean","description":"Defaults to true on create.","uniqueKey":"event.roommate_preferences_enabled","typeLabel":"boolean"},"guardian_invites_locked":{"type":"boolean","uniqueKey":"event.guardian_invites_locked","typeLabel":"boolean"},"onboarding_invites_held":{"type":"boolean","description":"Setting this from true to false sends every held invitation on the event, exactly like the dashboard's release button.","uniqueKey":"event.onboarding_invites_held","typeLabel":"boolean"},"nfc_badges_enabled":{"type":"boolean","uniqueKey":"event.nfc_badges_enabled","typeLabel":"boolean"},"nfc_badge_write_on_checkin_enabled":{"type":"boolean","uniqueKey":"event.nfc_badge_write_on_checkin_enabled","typeLabel":"boolean"},"groups_enabled":{"type":"boolean","uniqueKey":"event.groups_enabled","typeLabel":"boolean"},"hotel_scan_context_id":{"oneOf":[{"type":"string","format":"uuid","description":"Must be a scan context belonging to this event.","uniqueKey":"event.hotel_scan_context_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Must be a scan context belonging to this event.","uniqueKey":"event.hotel_scan_context_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.hotel_scan_context_id","typeLabel":"string\u003cuuid> | null"}},"isRequired":true,"uniqueKey":"event","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"move_the_venue":{"title":"move_the_venue","value":{"event":{"venue_name":"Kaapelitehdas","location_address":"Tallberginkatu 1","groups_enabled":true}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"55d24d7c-b7f3-4297-bcd8-2b05cdf843c8":{"description":"Event updated.","content":{"application/json":{"schema":{"type":"object","properties":{"event":{"type":"object","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"event.id","typeLabel":"string\u003cuuid>"},"slug":{"type":"string","example":"sunbeam-summer-2027","uniqueKey":"event.slug","typeLabel":"string"},"name":{"type":"string","example":"Sunbeam Summer 2027","uniqueKey":"event.name","typeLabel":"string"},"series":{"type":"object","properties":{"id":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"event.series.id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"event.series.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.series.id","typeLabel":"string\u003cuuid> | null"},"slug":{"oneOf":[{"type":"string","uniqueKey":"event.series.slug.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"event.series.slug.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.series.slug","typeLabel":"string | null"},"name":{"oneOf":[{"type":"string","uniqueKey":"event.series.name.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"event.series.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.series.name","typeLabel":"string | null"}},"uniqueKey":"event.series","typeLabel":"object"},"support_email":{"oneOf":[{"type":"string","format":"email","uniqueKey":"event.support_email.oneOf.0","typeLabel":"string\u003cemail>"},{"type":"null","format":"email","uniqueKey":"event.support_email.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.support_email","typeLabel":"string\u003cemail> | null"},"timezone":{"oneOf":[{"type":"string","description":"IANA identifier, e.g. `Europe/Helsinki`.","example":"Europe/Helsinki","uniqueKey":"event.timezone.oneOf.0","typeLabel":"string"},{"type":"null","description":"IANA identifier, e.g. `Europe/Helsinki`.","example":"Europe/Helsinki","uniqueKey":"event.timezone.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.timezone","typeLabel":"string | null"},"starts_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"event.starts_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"event.starts_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.starts_at","typeLabel":"string\u003cdate-time> | null"},"ends_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"event.ends_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"event.ends_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.ends_at","typeLabel":"string\u003cdate-time> | null"},"registration_open_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"event.registration_open_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"event.registration_open_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.registration_open_at","typeLabel":"string\u003cdate-time> | null"},"registration_close_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"event.registration_close_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"event.registration_close_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.registration_close_at","typeLabel":"string\u003cdate-time> | null"},"arrival_opens_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"event.arrival_opens_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"event.arrival_opens_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.arrival_opens_at","typeLabel":"string\u003cdate-time> | null"},"arrival_closes_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"event.arrival_closes_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"event.arrival_closes_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.arrival_closes_at","typeLabel":"string\u003cdate-time> | null"},"venue_name":{"oneOf":[{"type":"string","uniqueKey":"event.venue_name.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"event.venue_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.venue_name","typeLabel":"string | null"},"location_city":{"oneOf":[{"type":"string","uniqueKey":"event.location_city.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"event.location_city.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.location_city","typeLabel":"string | null"},"location_country":{"oneOf":[{"type":"string","uniqueKey":"event.location_country.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"event.location_country.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.location_country","typeLabel":"string | null"},"location_address":{"oneOf":[{"type":"string","uniqueKey":"event.location_address.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"event.location_address.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.location_address","typeLabel":"string | null"},"location_latitude":{"oneOf":[{"type":"number","format":"double","uniqueKey":"event.location_latitude.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","uniqueKey":"event.location_latitude.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.location_latitude","typeLabel":"number\u003cdouble> | null"},"location_longitude":{"oneOf":[{"type":"number","format":"double","uniqueKey":"event.location_longitude.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","uniqueKey":"event.location_longitude.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.location_longitude","typeLabel":"number\u003cdouble> | null"},"setup_complete":{"type":"boolean","description":"False until someone finishes the setup wizard on the web. An event created through this API starts as a draft.","uniqueKey":"event.setup_complete","typeLabel":"boolean"},"created_at":{"type":"string","format":"date-time","uniqueKey":"event.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","uniqueKey":"event.updated_at","typeLabel":"string\u003cdate-time>"},"modules":{"type":"object","description":"The event's feature toggles, always returned as real booleans (they are stored loosely, so read them from here rather than assuming a shape).","properties":{"freedom_waivers_enabled":{"type":"boolean","uniqueKey":"event.modules.freedom_waivers_enabled","typeLabel":"boolean"},"travel_enabled":{"type":"boolean","uniqueKey":"event.modules.travel_enabled","typeLabel":"boolean"},"visa_options_enabled":{"type":"boolean","uniqueKey":"event.modules.visa_options_enabled","typeLabel":"boolean"},"visa_application_url":{"oneOf":[{"type":"string","uniqueKey":"event.modules.visa_application_url.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"event.modules.visa_application_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.modules.visa_application_url","typeLabel":"string | null"},"accommodation_enabled":{"type":"boolean","uniqueKey":"event.modules.accommodation_enabled","typeLabel":"boolean"},"roommate_preferences_enabled":{"type":"boolean","uniqueKey":"event.modules.roommate_preferences_enabled","typeLabel":"boolean"},"guardian_invites_locked":{"type":"boolean","uniqueKey":"event.modules.guardian_invites_locked","typeLabel":"boolean"},"onboarding_invites_held":{"type":"boolean","description":"While true, participants added by any route (dashboard, import, this API) are recorded without an onboarding email. Releasing the hold sends every held invitation.","uniqueKey":"event.modules.onboarding_invites_held","typeLabel":"boolean"},"nfc_badges_enabled":{"type":"boolean","uniqueKey":"event.modules.nfc_badges_enabled","typeLabel":"boolean"},"nfc_badge_write_on_checkin_enabled":{"type":"boolean","uniqueKey":"event.modules.nfc_badge_write_on_checkin_enabled","typeLabel":"boolean"},"groups_enabled":{"type":"boolean","uniqueKey":"event.modules.groups_enabled","typeLabel":"boolean"}},"uniqueKey":"event.modules","typeLabel":"object"},"hotel_scan_context_id":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"event.hotel_scan_context_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"event.hotel_scan_context_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.hotel_scan_context_id","typeLabel":"string\u003cuuid> | null"},"participant_count":{"type":"integer","example":120,"uniqueKey":"event.participant_count","typeLabel":"integer"}},"uniqueKey":"event","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"event":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","slug":"sunbeam-summer-2027","name":"Sunbeam Summer 2027","series":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","slug":"\u003cstring>","name":"\u003cstring>"},"support_email":"[email protected]","timezone":"Europe/Helsinki","starts_at":"2023-11-07T05:31:56Z","ends_at":"2023-11-07T05:31:56Z","registration_open_at":"2023-11-07T05:31:56Z","registration_close_at":"2023-11-07T05:31:56Z","arrival_opens_at":"2023-11-07T05:31:56Z","arrival_closes_at":"2023-11-07T05:31:56Z","venue_name":"\u003cstring>","location_city":"\u003cstring>","location_country":"\u003cstring>","location_address":"\u003cstring>","location_latitude":123,"location_longitude":123,"setup_complete":true,"created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","modules":{"freedom_waivers_enabled":true,"travel_enabled":true,"visa_options_enabled":true,"visa_application_url":"\u003cstring>","accommodation_enabled":true,"roommate_preferences_enabled":true,"guardian_invites_locked":true,"onboarding_invites_held":true,"nfc_badges_enabled":true,"nfc_badge_write_on_checkin_enabled":true,"groups_enabled":true},"hotel_scan_context_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","participant_count":120}}}},"exampleType":"generated"}},"exampleType":"generated"},"675444dc-af72-49d6-b52e-139a57d936a8":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Unauthorized"}}},"exampleType":"generated"}},"exampleType":"generated"},"428cd702-f0d4-447a-8df4-0cf033a29197":{"description":"The caller cannot access this event or action.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Unauthorized"}}},"exampleType":"generated"}},"exampleType":"generated"},"438ba7bf-0d89-4fa3-866d-14e6de79581f":{"description":"No such event in this series.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Unauthorized"}}},"exampleType":"generated"}},"exampleType":"generated"},"86554357-76c9-46ed-bd53-152bb6f39c9d":{"description":"The event failed validation.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Unauthorized"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"a99530a7-e390-40b8-a239-5b04fc3ebc3f":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Mobile token, global API token, series API key, or event API key. See Authentication above for which endpoints each one reaches.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"cdc77891-66a2-41cc-83da-2876c8717128":{"url":"https://attend.hackclub.com/api/v1","description":"Production"},"c9030575-29d2-4e8c-8e07-86c6cfeebdd3":{"url":"http://localhost:3000/api/v1","description":"Local development"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Mobile token, global API token, series API key, or event API key. See Authentication above for which endpoints each one reaches.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Mobile token, global API token, series API key, or event API key. See Authentication above for which endpoints each one reaches.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.yml"},"subdomain":"hack-club","siteName":"Attend","title":"Update an event in the series - Attend","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T09:16:43.474Z","originalFileLocation":"api-reference/series/update-an-event-in-the-series.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"One series key updates any event in its series — that is the point of a series key. Accepts the same fields as the web\u0026#x27;s event settings form and setup wizard (basics, schedule, location, module toggles); send only the fields you want to change. event_series_id is not writable: an event cannot be moved out of its series through this API (a value in the body is ignored, not rejected, so a client can round-trip a GET response). Moving an event between series is a global-admin action on the web. A user token also works here if the caller could update the event on the web — unlike POST, which is series-key-only.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Attend\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/hack-club/TahJjYfFb5J4CmpN/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/hack-club/TahJjYfFb5J4CmpN/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/hack-club/TahJjYfFb5J4CmpN/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/hack-club/TahJjYfFb5J4CmpN/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/hack-club/TahJjYfFb5J4CmpN/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/hack-club/TahJjYfFb5J4CmpN/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/hack-club/TahJjYfFb5J4CmpN/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/hack-club/TahJjYfFb5J4CmpN/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/hack-club/TahJjYfFb5J4CmpN/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update an event in the series - Attend\">\u003cmeta data-mint-head property=\"og:description\" content=\"One series key updates any event in its series — that is the point of a series key. Accepts the same fields as the web\u0026#x27;s event settings form and setup wizard (basics, schedule, location, module toggles); send only the fields you want to change. event_series_id is not writable: an event cannot be moved out of its series through this API (a value in the body is ignored, not rejected, so a client can round-trip a GET response). Moving an event between series is a global-admin action on the web. A user token also works here if the caller could update the event on the web — unlike POST, which is series-key-only.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Attend\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://attend.hackclub.com/docs/api-reference/series/update-an-event-in-the-series\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hack-club.mintlify.app/_mintlify/api/og/v2?division=Series\u0026amp;title=Update+an+event+in+the+series\u0026amp;description=One+series+key+updates+any+event+in+its+series+%E2%80%94+that+is+the+point+of+a%0Aseries+key.+Accepts+the+same+fields+as+the+web%27s+event+settings+form+and%0Asetup+wizard+%28b\u0026amp;theme=2570de8427322b889b74e8dd\u0026amp;signature=ff6747061c8a20697f36784e29c661e9be4dbd8e4e316e21b1ea2f6d4e803881\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Update an event in the series - Attend\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"One series key updates any event in its series — that is the point of a series key. Accepts the same fields as the web\u0026#x27;s event settings form and setup wizard (basics, schedule, location, module toggles); send only the fields you want to change. event_series_id is not writable: an event cannot be moved out of its series through this API (a value in the body is ignored, not rejected, so a client can round-trip a GET response). Moving an event between series is a global-admin action on the web. A user token also works here if the caller could update the event on the web — unlike POST, which is series-key-only.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hack-club.mintlify.app/_mintlify/api/og/v2?division=Series\u0026amp;title=Update+an+event+in+the+series\u0026amp;description=One+series+key+updates+any+event+in+its+series+%E2%80%94+that+is+the+point+of+a%0Aseries+key.+Accepts+the+same+fields+as+the+web%27s+event+settings+form+and%0Asetup+wizard+%28b\u0026amp;theme=2570de8427322b889b74e8dd\u0026amp;signature=ff6747061c8a20697f36784e29c661e9be4dbd8e4e316e21b1ea2f6d4e803881\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/hack-club/TahJjYfFb5J4CmpN/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Attend\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ec3750\">\u003clink data-mint-head rel=\"canonical\" href=\"https://attend.hackclub.com/docs/api-reference/series/update-an-event-in-the-series\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/series/update-an-event-in-the-series.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://attend.hackclub.com/#organization\",\"name\":\"Attend\",\"url\":\"https://attend.hackclub.com\"},{\"@type\":\"WebSite\",\"@id\":\"https://attend.hackclub.com/docs#website\",\"name\":\"Attend\",\"url\":\"https://attend.hackclub.com/docs\",\"publisher\":{\"@id\":\"https://attend.hackclub.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://attend.hackclub.com/docs/api-reference/series/update-an-event-in-the-series#webpage\",\"url\":\"https://attend.hackclub.com/docs/api-reference/series/update-an-event-in-the-series\",\"name\":\"Update an event in the series\",\"description\":\"One series key updates any event in its series — that is the point of a series key. Accepts the same fields as the web's event settings form and setup wizard (basics, schedule, location, module toggles); send only the fields you want to change. event_series_id is not writable: an event cannot be moved out of its series through this API (a value in the body is ignored, not rejected, so a client can round-trip a GET response). Moving an event between series is a global-admin action on the web. A user token also works here if the caller could update the event on the web — unlike POST, which is series-key-only.\",\"dateModified\":\"2026-11-05T09:16:43.474Z\",\"isPartOf\":{\"@id\":\"https://attend.hackclub.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://attend.hackclub.com/docs/api-reference/series/update-an-event-in-the-series#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://attend.hackclub.com/docs/api-reference/series/update-an-event-in-the-series#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://attend.hackclub.com/docs/api-reference/authentication/create-a-mobile-token\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Series\",\"item\":\"https://attend.hackclub.com/docs/api-reference/series/list-series\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update an event in the series\",\"item\":\"https://attend.hackclub.com/docs/api-reference/series/update-an-event-in-the-series\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://attend.hackclub.com/docs/api-reference/series/update-an-event-in-the-series#apireference\",\"headline\":\"Update an event in the series\",\"name\":\"Update an event in the series\",\"description\":\"One series key updates any event in its series — that is the point of a series key. Accepts the same fields as the web's event settings form and setup wizard (basics, schedule, location, module toggles); send only the fields you want to change. event_series_id is not writable: an event cannot be moved out of its series through this API (a value in the body is ignored, not rejected, so a client can round-trip a GET response). Moving an event between series is a global-admin action on the web. A user token also works here if the caller could update the event on the web — unlike POST, which is series-key-only.\",\"url\":\"https://attend.hackclub.com/docs/api-reference/series/update-an-event-in-the-series\",\"mainEntityOfPage\":{\"@id\":\"https://attend.hackclub.com/docs/api-reference/series/update-an-event-in-the-series#webpage\"},\"dateModified\":\"2026-11-05T09:16:43.474Z\",\"publisher\":{\"@id\":\"https://attend.hackclub.com/#organization\"},\"isPartOf\":{\"@id\":\"https://attend.hackclub.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Attend\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Attend","nav":{"global":null,"tabs":[{"tab":"Help","pages":[{"title":"Help","href":""}]},{"tab":"Organizers","pages":[{"title":"Organizers","href":"/organizers/reporting-incidents"}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"API overview","href":"/api-introduction"}]},{"group":"Endpoints","pages":[{"group":"Authentication","pages":[{"title":"Create a mobile token","deprecated":null,"version":null,"sidebarTitle":"Create a mobile token","openapi":"/openapi.yml post /session","href":"/api-reference/authentication/create-a-mobile-token"},{"title":"Revoke the current token (log out)","deprecated":null,"version":null,"sidebarTitle":"Revoke the current token log out","openapi":"/openapi.yml delete /session","href":"/api-reference/authentication/revoke-the-current-token-log-out"},{"title":"Rotate the current token","deprecated":null,"version":null,"sidebarTitle":"Rotate the current token","openapi":"/openapi.yml post /session/refresh","href":"/api-reference/authentication/rotate-the-current-token"}]},{"group":"Account","pages":[{"title":"Current user profile","deprecated":null,"version":null,"sidebarTitle":"Current user profile","openapi":"/openapi.yml get /me","href":"/api-reference/account/current-user-profile"},{"title":"Look up an event admin by Slack ID","deprecated":null,"version":null,"sidebarTitle":"Look up an event admin by slack id","openapi":"/openapi.yml get /users/lookup","href":"/api-reference/account/look-up-an-event-admin-by-slack-id"},{"title":"List accessible events","deprecated":null,"version":null,"sidebarTitle":"List accessible events","openapi":"/openapi.yml get /events","href":"/api-reference/account/list-accessible-events"}]},{"group":"Push Tokens","pages":[{"title":"Register a push token","deprecated":null,"version":null,"sidebarTitle":"Register a push token","openapi":"/openapi.yml post /push_tokens","href":"/api-reference/push-tokens/register-a-push-token"},{"title":"Delete a push token","deprecated":null,"version":null,"sidebarTitle":"Delete a push token","openapi":"/openapi.yml delete /push_tokens/{token}","href":"/api-reference/push-tokens/delete-a-push-token"}]},{"group":"Inbox","pages":[{"title":"List inbox messages","deprecated":null,"version":null,"sidebarTitle":"List inbox messages","openapi":"/openapi.yml get /messages","href":"/api-reference/inbox/list-inbox-messages"},{"title":"Get an inbox message","deprecated":null,"version":null,"sidebarTitle":"Get an inbox message","openapi":"/openapi.yml get /messages/{id}","href":"/api-reference/inbox/get-an-inbox-message"}]},{"group":"Incident Reports","pages":[{"title":"Report form options","deprecated":null,"version":null,"sidebarTitle":"Report form options","openapi":"/openapi.yml get /incident_reports/options","href":"/api-reference/incident-reports/report-form-options"},{"title":"File an incident report","deprecated":null,"version":null,"sidebarTitle":"File an incident report","openapi":"/openapi.yml post /incident_reports","href":"/api-reference/incident-reports/file-an-incident-report"}]},{"group":"Bans","pages":[{"title":"Add emails to the ban list","deprecated":null,"version":null,"sidebarTitle":"Add emails to the ban list","openapi":"/openapi.yml post /bans","href":"/api-reference/bans/add-emails-to-the-ban-list"}]},{"group":"Series","pages":[{"title":"List series","deprecated":null,"version":null,"sidebarTitle":"List series","openapi":"/openapi.yml get /series","href":"/api-reference/series/list-series"},{"title":"Get one series","deprecated":null,"version":null,"sidebarTitle":"Get one series","openapi":"/openapi.yml get /series/{id}","href":"/api-reference/series/get-one-series"},{"title":"List the events in a series","deprecated":null,"version":null,"sidebarTitle":"List the events in a series","openapi":"/openapi.yml get /series/{series_id}/events","href":"/api-reference/series/list-the-events-in-a-series"},{"title":"Create an event in the series","deprecated":null,"version":null,"sidebarTitle":"Create an event in the series","openapi":"/openapi.yml post /series/{series_id}/events","href":"/api-reference/series/create-an-event-in-the-series"},{"title":"Get one event in the series","description":"An event outside the series returns `404`, not `403` — from this key's point of view it does not exist.","deprecated":null,"version":null,"sidebarTitle":"Get one event in the series","openapi":"/openapi.yml get /series/{series_id}/events/{id}","href":"/api-reference/series/get-one-event-in-the-series"},{"title":"Update an event in the series","deprecated":null,"version":null,"sidebarTitle":"Update an event in the series","openapi":"/openapi.yml patch /series/{series_id}/events/{id}","href":"/api-reference/series/update-an-event-in-the-series"}]},{"group":"Event Setup","pages":[{"title":"Setup progress","description":"Which steps of the setup wizard this event has left. `remaining` lists the keys of `steps` that are still false; an event whose setup was never completed stays a draft.","deprecated":null,"version":null,"sidebarTitle":"Setup progress","openapi":"/openapi.yml get /events/{event_id}/setup","href":"/api-reference/event-setup/setup-progress"},{"title":"Configure waivers","deprecated":null,"version":null,"sidebarTitle":"Configure waivers","openapi":"/openapi.yml put /events/{event_id}/setup/waivers","href":"/api-reference/event-setup/configure-waivers"},{"title":"Finish setup","deprecated":null,"version":null,"sidebarTitle":"Finish setup","openapi":"/openapi.yml post /events/{event_id}/setup/complete","href":"/api-reference/event-setup/finish-setup"}]},{"group":"Event Staff","pages":[{"title":"List staff","deprecated":null,"version":null,"sidebarTitle":"List staff","openapi":"/openapi.yml get /events/{event_id}/staff","href":"/api-reference/event-staff/list-staff"},{"title":"Add a staff member","deprecated":null,"version":null,"sidebarTitle":"Add a staff member","openapi":"/openapi.yml post /events/{event_id}/staff","href":"/api-reference/event-staff/add-a-staff-member"},{"title":"Remove a staff member","deprecated":null,"version":null,"sidebarTitle":"Remove a staff member","openapi":"/openapi.yml delete /events/{event_id}/staff/{id}","href":"/api-reference/event-staff/remove-a-staff-member"},{"title":"Change a staff member's role","deprecated":null,"version":null,"sidebarTitle":"Change a staff members role","openapi":"/openapi.yml patch /events/{event_id}/staff/{id}","href":"/api-reference/event-staff/change-a-staff-members-role"}]},{"group":"Participants","pages":[{"title":"List participants","deprecated":null,"version":null,"sidebarTitle":"List participants","openapi":"/openapi.yml get /events/{event_id}/participants","href":"/api-reference/participants/list-participants"},{"title":"Invite a participant","deprecated":null,"version":null,"sidebarTitle":"Invite a participant","openapi":"/openapi.yml post /events/{event_id}/participants","href":"/api-reference/participants/invite-a-participant"},{"title":"Search participants","deprecated":null,"version":null,"sidebarTitle":"Search participants","openapi":"/openapi.yml get /events/{event_id}/participants/search","href":"/api-reference/participants/search-participants"},{"title":"Look up a registration by email","deprecated":null,"version":null,"sidebarTitle":"Look up a registration by email","openapi":"/openapi.yml get /events/{event_id}/participants/lookup","href":"/api-reference/participants/look-up-a-registration-by-email"},{"title":"Minimal roster","deprecated":null,"version":null,"sidebarTitle":"Minimal roster","openapi":"/openapi.yml get /events/{event_id}/participants/roster","href":"/api-reference/participants/minimal-roster"},{"title":"Get a participant","deprecated":null,"version":null,"sidebarTitle":"Get a participant","openapi":"/openapi.yml get /events/{event_id}/participants/{id}","href":"/api-reference/participants/get-a-participant"},{"title":"Remove a participant from the event","deprecated":null,"version":null,"sidebarTitle":"Remove a participant from the event","openapi":"/openapi.yml delete /events/{event_id}/participants/{id}","href":"/api-reference/participants/remove-a-participant-from-the-event"},{"title":"Update a participant","deprecated":null,"version":null,"sidebarTitle":"Update a participant","openapi":"/openapi.yml patch /events/{event_id}/participants/{id}","href":"/api-reference/participants/update-a-participant"}]},{"group":"Notes","pages":[{"title":"List notes","deprecated":null,"version":null,"sidebarTitle":"List notes","openapi":"/openapi.yml get /events/{event_id}/participants/{participant_id}/notes","href":"/api-reference/notes/list-notes"},{"title":"Create a note","deprecated":null,"version":null,"sidebarTitle":"Create a note","openapi":"/openapi.yml post /events/{event_id}/participants/{participant_id}/notes","href":"/api-reference/notes/create-a-note"}]},{"group":"Scans","pages":[{"title":"List scans","deprecated":null,"version":null,"sidebarTitle":"List scans","openapi":"/openapi.yml get /events/{event_id}/scans","href":"/api-reference/scans/list-scans"},{"title":"Record a scan","deprecated":null,"version":null,"sidebarTitle":"Record a scan","openapi":"/openapi.yml post /events/{event_id}/scans","href":"/api-reference/scans/record-a-scan"},{"title":"Undo scans for a participant","deprecated":null,"version":null,"sidebarTitle":"Undo scans for a participant","openapi":"/openapi.yml delete /events/{event_id}/scans/{id}","href":"/api-reference/scans/undo-scans-for-a-participant"}]},{"group":"Scan Contexts","pages":[{"title":"List scan contexts","deprecated":null,"version":null,"sidebarTitle":"List scan contexts","openapi":"/openapi.yml get /events/{event_id}/scan_contexts","href":"/api-reference/scan-contexts/list-scan-contexts"}]},{"group":"Stays","pages":[{"title":"List stays","deprecated":null,"version":null,"sidebarTitle":"List stays","openapi":"/openapi.yml get /events/{event_id}/stays","href":"/api-reference/stays/list-stays"},{"title":"List a stay's roster","deprecated":null,"version":null,"sidebarTitle":"List a stays roster","openapi":"/openapi.yml get /events/{event_id}/stays/{stay_id}/roster","href":"/api-reference/stays/list-a-stays-roster"},{"title":"Add someone to a stay's roster","deprecated":null,"version":null,"sidebarTitle":"Add someone to a stays roster","openapi":"/openapi.yml post /events/{event_id}/stays/{stay_id}/roster","href":"/api-reference/stays/add-someone-to-a-stays-roster"},{"title":"Remove someone from a stay's roster","deprecated":null,"version":null,"sidebarTitle":"Remove someone from a stays roster","openapi":"/openapi.yml delete /events/{event_id}/stays/{stay_id}/roster/{id}","href":"/api-reference/stays/remove-someone-from-a-stays-roster"}]},{"group":"Travel Calendar","pages":[{"title":"Show the travel calendar","deprecated":null,"version":null,"sidebarTitle":"Show the travel calendar","openapi":"/openapi.yml get /events/{event_id}/travel","href":"/api-reference/travel-calendar/show-the-travel-calendar"},{"title":"Show the travel calendar (legacy path)","deprecated":true,"version":null,"sidebarTitle":"Show the travel calendar legacy path","openapi":"/openapi.yml get /events/{event_id}/airport_mode","href":"/api-reference/travel-calendar/show-the-travel-calendar-legacy-path"}]},{"group":"Slack Blasts","pages":[{"title":"List Slack blasts","deprecated":null,"version":null,"sidebarTitle":"List slack blasts","openapi":"/openapi.yml get /events/{event_id}/slack_blasts","href":"/api-reference/slack-blasts/list-slack-blasts"},{"title":"Send a Slack blast","deprecated":null,"version":null,"sidebarTitle":"Send a slack blast","openapi":"/openapi.yml post /events/{event_id}/slack_blasts","href":"/api-reference/slack-blasts/send-a-slack-blast"},{"title":"Get a Slack blast","deprecated":null,"version":null,"sidebarTitle":"Get a slack blast","openapi":"/openapi.yml get /events/{event_id}/slack_blasts/{id}","href":"/api-reference/slack-blasts/get-a-slack-blast"}]},{"group":"Messages","pages":[{"title":"List messages","deprecated":null,"version":null,"sidebarTitle":"List messages","openapi":"/openapi.yml get /events/{event_id}/messages","href":"/api-reference/messages/list-messages"},{"title":"Create a draft message","deprecated":null,"version":null,"sidebarTitle":"Create a draft message","openapi":"/openapi.yml post /events/{event_id}/messages","href":"/api-reference/messages/create-a-draft-message"},{"title":"Composer options","deprecated":null,"version":null,"sidebarTitle":"Composer options","openapi":"/openapi.yml get /events/{event_id}/messages/options","href":"/api-reference/messages/composer-options"},{"title":"Get a message","deprecated":null,"version":null,"sidebarTitle":"Get a message","openapi":"/openapi.yml get /events/{event_id}/messages/{id}","href":"/api-reference/messages/get-a-message"},{"title":"Delete a message","deprecated":null,"version":null,"sidebarTitle":"Delete a message","openapi":"/openapi.yml delete /events/{event_id}/messages/{id}","href":"/api-reference/messages/delete-a-message"},{"title":"Update a message","deprecated":null,"version":null,"sidebarTitle":"Update a message","openapi":"/openapi.yml patch /events/{event_id}/messages/{id}","href":"/api-reference/messages/update-a-message"},{"title":"Preview a message","deprecated":null,"version":null,"sidebarTitle":"Preview a message","openapi":"/openapi.yml get /events/{event_id}/messages/{id}/preview","href":"/api-reference/messages/preview-a-message"},{"title":"Send a message","deprecated":null,"version":null,"sidebarTitle":"Send a message","openapi":"/openapi.yml post /events/{event_id}/messages/{id}/send_now","href":"/api-reference/messages/send-a-message"},{"title":"Cancel a scheduled message","deprecated":null,"version":null,"sidebarTitle":"Cancel a scheduled message","openapi":"/openapi.yml post /events/{event_id}/messages/{id}/cancel","href":"/api-reference/messages/cancel-a-scheduled-message"},{"title":"Retry failed deliveries","deprecated":null,"version":null,"sidebarTitle":"Retry failed deliveries","openapi":"/openapi.yml post /events/{event_id}/messages/{id}/retry_failed","href":"/api-reference/messages/retry-failed-deliveries"},{"title":"Retry one delivery","deprecated":null,"version":null,"sidebarTitle":"Retry one delivery","openapi":"/openapi.yml post /events/{event_id}/messages/{id}/retry_delivery","href":"/api-reference/messages/retry-one-delivery"},{"title":"Send to new recipients","deprecated":null,"version":null,"sidebarTitle":"Send to new recipients","openapi":"/openapi.yml post /events/{event_id}/messages/{id}/send_to_new_recipients","href":"/api-reference/messages/send-to-new-recipients"}]},{"group":"Incidents","pages":[{"title":"List incidents","deprecated":null,"version":null,"sidebarTitle":"List incidents","openapi":"/openapi.yml get /events/{event_id}/incidents","href":"/api-reference/incidents/list-incidents"},{"title":"Log an incident","deprecated":null,"version":null,"sidebarTitle":"Log an incident","openapi":"/openapi.yml post /events/{event_id}/incidents","href":"/api-reference/incidents/log-an-incident"},{"title":"Incident form options","deprecated":null,"version":null,"sidebarTitle":"Incident form options","openapi":"/openapi.yml get /events/{event_id}/incidents/options","href":"/api-reference/incidents/incident-form-options"},{"title":"Get an incident","deprecated":null,"version":null,"sidebarTitle":"Get an incident","openapi":"/openapi.yml get /events/{event_id}/incidents/{id}","href":"/api-reference/incidents/get-an-incident"},{"title":"Update an incident","deprecated":null,"version":null,"sidebarTitle":"Update an incident","openapi":"/openapi.yml patch /events/{event_id}/incidents/{id}","href":"/api-reference/incidents/update-an-incident"},{"title":"Escalate an incident to HQ","deprecated":null,"version":null,"sidebarTitle":"Escalate an incident to hq","openapi":"/openapi.yml post /events/{event_id}/incidents/{id}/escalate","href":"/api-reference/incidents/escalate-an-incident-to-hq"},{"title":"Comment on an incident","deprecated":null,"version":null,"sidebarTitle":"Comment on an incident","openapi":"/openapi.yml post /events/{event_id}/incidents/{incident_id}/comments","href":"/api-reference/incidents/comment-on-an-incident"}]},{"group":"NFC Badges","pages":[{"title":"Ensure an NFC badge token","deprecated":null,"version":null,"sidebarTitle":"Ensure an nfc badge token","openapi":"/openapi.yml post /events/{event_id}/participant_events/{participant_event_id}/nfc_badge/ensure","href":"/api-reference/nfc-badges/ensure-an-nfc-badge-token"},{"title":"Confirm an NFC badge assignment","deprecated":null,"version":null,"sidebarTitle":"Confirm an nfc badge assignment","openapi":"/openapi.yml post /events/{event_id}/participant_events/{participant_event_id}/nfc_badge/confirm","href":"/api-reference/nfc-badges/confirm-an-nfc-badge-assignment"},{"title":"Reset an NFC badge token","deprecated":null,"version":null,"sidebarTitle":"Reset an nfc badge token","openapi":"/openapi.yml post /events/{event_id}/participant_events/{participant_event_id}/nfc_badge/reset","href":"/api-reference/nfc-badges/reset-an-nfc-badge-token"}]},{"group":"Travel","pages":[{"title":"Search airports","deprecated":null,"version":null,"sidebarTitle":"Search airports","openapi":"/openapi.yml get /travel/search_airports","href":"/api-reference/travel/search-airports"},{"title":"Validate a flight","deprecated":null,"version":null,"sidebarTitle":"Validate a flight","openapi":"/openapi.yml post /travel/validate_flight","href":"/api-reference/travel/validate-a-flight"}]}]}]}]},"basePath":"","title":"Update an event in the series - Attend","buildId":"dpl_9yaRmq8qi7yyMZn9oEWmKEdYMvGZ","deploymentId":"dpl_9yaRmq8qi7yyMZn9oEWmKEdYMvGZ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Bsljvftq.js","utils-BEZX0tmN.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BrDD79Na.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-2c3Nf5XI.js","snippetPresets-CWWkg29k.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-SJmWKHmz.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BYc8UL58.js","shallow-UTXCq4wY.js","getApiPlaygroundDisplay-D1ZcrmBl.js","CodeSnippet-CTS7L7R4.js","CodeSnippets-MsBYl-gd.js","Page-BxumJvVQ.js","getPastedJson-C_5Mq0uv.js","icon-D7sYgD4k.js","MethodPill-B7Q6uD_j.js","DuplicateIcon-DXGzB8u_.js","createIcon-UDYg_Gk8.js","DynamicMarkdown-BBrVIqs3.js","SectionHeading-BxanXFN4.js","axios-vUo_bRtp.js","Markdown-DAhL0GAo.js","clsx-BZ8NiN2w.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CpdUkuDP.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sMo3-CxC.js"]}