{
"error": "Category can't be blank",
"errors": [
"Category can't be blank"
]
}
Messages
Update a message
Edits a draft or scheduled message. Send the whole set of picks: audience filters are rebuilt from participant_event_ids and group_ids on every update, so omitting them clears them. A message that has started sending can’t be edited.
{"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/messages/update-a-message","slug":"/api-reference/messages/update-a-message","pageMetadata":{"title":"Update a message","description":"Edits a draft or scheduled message. Send the whole set of picks: audience filters are rebuilt from `participant_event_ids` and `group_ids` on every update, so omitting them clears them. A message that has started sending can't be edited.","deprecated":null,"version":null,"sidebarTitle":"Update a message","openapi":"/openapi.yml patch /events/{event_id}/messages/{id}","href":"/api-reference/messages/update-a-message","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {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(_components.p, {\n children: [\"Edits a draft or scheduled message. Send the whole set of picks: audience filters are rebuilt from \", _jsx(_components.code, {\n children: \"participant_event_ids\"\n }), \" and \", _jsx(_components.code, {\n children: \"group_ids\"\n }), \" on every update, so omitting them clears them. A message that has started sending can’t be edited.\"]\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 a message","description":"Edits a draft or scheduled message. Send the whole set of picks: audience filters are rebuilt from `participant_event_ids` and `group_ids` on every update, so omitting them clears them. A message that has started sending can't be edited.","deprecated":null,"version":null,"sidebarTitle":"Update a message","openapi":"/openapi.yml patch /events/{event_id}/messages/{id}","href":"/api-reference/messages/update-a-message","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Messages"],"summary":"Update a message","x-mint":{"href":"/api-reference/messages/update-a-message"},"description":"Edits a draft or scheduled message. Send the whole set of picks: audience filters are rebuilt from `participant_event_ids` and `group_ids` on every update, so omitting them clears them. A message that has started sending can't be edited.","parameters":["f3a87c24-3e45-4a6d-82fc-8fd58424e935","96dc7afc-034f-4c9e-b6e9-ca89ca4a1172"],"requestBody":"63bfbd7a-ce37-4e45-9a3d-c6b0ea2b3cec","responses":{"200":"cc6035b8-7a7c-485a-8c60-61c8e9331a67","401":"71a3c524-2bb9-49a3-a920-a36a39d6cf84","403":"2e633ca2-8b0e-4df1-a17e-2e6f71b9e846","404":"b4fabfd8-5a26-4f20-ab03-a2665b47d313","422":"727f2dc2-eb2b-4136-91ff-2198d80b1996"},"method":"patch","type":"path","servers":["cdc77891-66a2-41cc-83da-2876c8717128","c9030575-29d2-4e8c-8e07-86c6cfeebdd3"],"security":["a99530a7-e390-40b8-a239-5b04fc3ebc3f"],"path":"/events/{event_id}/messages/{id}","baseUrlOptions":["https://attend.hackclub.com/api/v1","http://localhost:3000/api/v1"],"title":"Update a message","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"f3a87c24-3e45-4a6d-82fc-8fd58424e935":{"name":"event_id","in":"path","required":true,"schema":{"type":"string","isRequired":true,"description":"Event id or slug.","uniqueKey":"","typeLabel":"string"},"description":"Event id or slug."},"96dc7afc-034f-4c9e-b6e9-ca89ca4a1172":{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"description":"The message id. Must belong to the event in the path.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"description":"The message id. Must belong to the event in the path."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"object","properties":{"subject":{"type":"string","description":"Email subject. Defaults to \"You have a new message from \u003cevent>\".","uniqueKey":"message.subject","typeLabel":"string"},"body":{"type":"string","description":"HTML. Converted to Slack markup and plain text (for SMS) per channel.","uniqueKey":"message.body","typeLabel":"string"},"audience":{"type":"string","enum":["all_attendees","all_attendees_and_held","confirmed_attendees","attendees_with_flights","attendees_incomplete","specific_participants","attendees_in_groups","all_guardians","guardians_of_confirmed","guardians_pending"],"uniqueKey":"message.audience","typeLabel":"enum\u003cstring>"},"channels":{"type":"array","description":"At least one. Slack reaches attendees only.","items":{"type":"string","enum":["slack","email","sms","push"],"uniqueKey":"message.channels.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"message.channels","typeLabel":"enum\u003cstring>[]"},"scheduled_at":{"oneOf":[{"type":"string","format":"date-time","description":"When `send_now` should actually send. Omit to send immediately. A time without a UTC offset is read in the event's time zone.","uniqueKey":"message.scheduled_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When `send_now` should actually send. Omit to send immediately. A time without a UTC offset is read in the event's time zone.","uniqueKey":"message.scheduled_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"message.scheduled_at","typeLabel":"string\u003cdate-time> | null"},"participant_event_ids":{"type":"array","description":"With `audience=specific_participants` only.","items":{"type":"string","format":"uuid","uniqueKey":"message.participant_event_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"uniqueKey":"message.participant_event_ids","typeLabel":"string\u003cuuid>[]"},"group_ids":{"type":"array","description":"Narrows an attendee audience to these groups.","items":{"type":"string","format":"uuid","uniqueKey":"message.group_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"uniqueKey":"message.group_ids","typeLabel":"string\u003cuuid>[]"}},"isRequired":true,"uniqueKey":"message","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":{"subject":"\u003cstring>","body":"\u003cstring>","channels":[],"scheduled_at":"2023-11-07T05:31:56Z","participant_event_ids":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"group_ids":["3c90c3cc-0d44-4b50-8888-8dd25736052a"]}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"cc6035b8-7a7c-485a-8c60-61c8e9331a67":{"description":"Message updated.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"object","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"message.id","typeLabel":"string\u003cuuid>"},"subject":{"oneOf":[{"type":"string","uniqueKey":"message.subject.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"message.subject.oneOf.1","typeLabel":"null"}],"uniqueKey":"message.subject","typeLabel":"string | null"},"status":{"type":"string","enum":["draft","scheduled","sending","completed","failed","cancelled"],"uniqueKey":"message.status","typeLabel":"enum\u003cstring>"},"audience":{"type":"string","example":"confirmed_attendees","uniqueKey":"message.audience","typeLabel":"string"},"audience_label":{"type":"string","example":"Confirmed Attendees","uniqueKey":"message.audience_label","typeLabel":"string"},"channels":{"type":"array","items":{"type":"string","enum":["slack","email","sms","push"],"uniqueKey":"message.channels.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"message.channels","typeLabel":"enum\u003cstring>[]"},"recipient_count":{"type":"integer","uniqueKey":"message.recipient_count","typeLabel":"integer"},"sent_count":{"type":"integer","uniqueKey":"message.sent_count","typeLabel":"integer"},"failed_count":{"type":"integer","uniqueKey":"message.failed_count","typeLabel":"integer"},"scheduled_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"message.scheduled_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"message.scheduled_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"message.scheduled_at","typeLabel":"string\u003cdate-time> | null"},"sent_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"message.sent_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"message.sent_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"message.sent_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"type":"string","format":"date-time","uniqueKey":"message.created_at","typeLabel":"string\u003cdate-time>"},"sent_by":{"oneOf":[{"type":"string","description":"Who composed it.","uniqueKey":"message.sent_by.oneOf.0","typeLabel":"string"},{"type":"null","description":"Who composed it.","uniqueKey":"message.sent_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"message.sent_by","typeLabel":"string | null"},"preview_text":{"type":"string","description":"The body as plain text, cut to 140 characters.","uniqueKey":"message.preview_text","typeLabel":"string"},"body":{"type":"string","description":"The body as stored (HTML).","uniqueKey":"message.body","typeLabel":"string"},"body_html":{"type":"string","description":"The body as rendered for email.","uniqueKey":"message.body_html","typeLabel":"string"},"participant_event_ids":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"message.participant_event_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"uniqueKey":"message.participant_event_ids","typeLabel":"string\u003cuuid>[]"},"group_ids":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"message.group_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"uniqueKey":"message.group_ids","typeLabel":"string\u003cuuid>[]"},"opened_count":{"oneOf":[{"type":"integer","description":"Email deliveries opened. `null` when email isn't a channel.","uniqueKey":"message.opened_count.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Email deliveries opened. `null` when email isn't a channel.","uniqueKey":"message.opened_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"message.opened_count","typeLabel":"integer | null"},"pending_count":{"type":"integer","uniqueKey":"message.pending_count","typeLabel":"integer"},"new_recipient_count":{"type":"integer","description":"People who joined the audience since it was sent — what `send_to_new_recipients` would reach. 0 until the message has finished sending.","uniqueKey":"message.new_recipient_count","typeLabel":"integer"},"recipients":{"type":"array","description":"One entry per person, with a delivery per channel.","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The participant_event id, or the guardian id for guardian audiences.","uniqueKey":"message.recipients.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","uniqueKey":"message.recipients.items.[INDEX].name","typeLabel":"string"},"kind":{"type":"string","enum":["attendee","guardian"],"uniqueKey":"message.recipients.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"catch_up":{"type":"boolean","description":"Added by `send_to_new_recipients` rather than the original send.","uniqueKey":"message.recipients.items.[INDEX].catch_up","typeLabel":"boolean"},"deliveries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"channel":{"type":"string","enum":["slack","email","sms","push"],"uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].channel","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["pending","sending","delivered","failed"],"uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"recipient_identifier":{"oneOf":[{"type":"string","description":"The email address, Slack ID or phone number it went to. An SMS identifier is `null` for PII-restricted roles.","uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].recipient_identifier.oneOf.0","typeLabel":"string"},{"type":"null","description":"The email address, Slack ID or phone number it went to. An SMS identifier is `null` for PII-restricted roles.","uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].recipient_identifier.oneOf.1","typeLabel":"null"}],"uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].recipient_identifier","typeLabel":"string | null"},"error_message":{"oneOf":[{"type":"string","uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].error_message.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].error_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].error_message","typeLabel":"string | null"},"delivered_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].delivered_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].delivered_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].delivered_at","typeLabel":"string\u003cdate-time> | null"},"read_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].read_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].read_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX].read_at","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"message.recipients.items.[INDEX].deliveries.items.[INDEX]","typeLabel":"object"},"uniqueKey":"message.recipients.items.[INDEX].deliveries","typeLabel":"object[]"}},"uniqueKey":"message.recipients.items.[INDEX]","typeLabel":"object"},"uniqueKey":"message.recipients","typeLabel":"object[]"},"permissions":{"type":"object","description":"Which actions the message's state allows.","properties":{"edit":{"type":"boolean","uniqueKey":"message.permissions.edit","typeLabel":"boolean"},"send_now":{"type":"boolean","uniqueKey":"message.permissions.send_now","typeLabel":"boolean"},"destroy":{"type":"boolean","uniqueKey":"message.permissions.destroy","typeLabel":"boolean"},"cancel":{"type":"boolean","uniqueKey":"message.permissions.cancel","typeLabel":"boolean"},"retry_failed":{"type":"boolean","uniqueKey":"message.permissions.retry_failed","typeLabel":"boolean"},"send_to_new_recipients":{"type":"boolean","uniqueKey":"message.permissions.send_to_new_recipients","typeLabel":"boolean"}},"uniqueKey":"message.permissions","typeLabel":"object"}},"uniqueKey":"message","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","subject":"\u003cstring>","status":"draft","audience":"confirmed_attendees","audience_label":"Confirmed Attendees","channels":["slack"],"recipient_count":123,"sent_count":123,"failed_count":123,"scheduled_at":"2023-11-07T05:31:56Z","sent_at":"2023-11-07T05:31:56Z","created_at":"2023-11-07T05:31:56Z","sent_by":"\u003cstring>","preview_text":"\u003cstring>","body":"\u003cstring>","body_html":"\u003cstring>","participant_event_ids":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"group_ids":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"opened_count":123,"pending_count":123,"new_recipient_count":123,"recipients":[{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"\u003cstring>","kind":"attendee","catch_up":true,"deliveries":[{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","channel":"slack","status":"pending","recipient_identifier":"\u003cstring>","error_message":"\u003cstring>","delivered_at":"2023-11-07T05:31:56Z","read_at":"2023-11-07T05:31:56Z"}]}],"permissions":{"edit":true,"send_now":true,"destroy":true,"cancel":true,"retry_failed":true,"send_to_new_recipients":true}}}}},"exampleType":"generated"}},"exampleType":"generated"},"71a3c524-2bb9-49a3-a920-a36a39d6cf84":{"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"},"2e633ca2-8b0e-4df1-a17e-2e6f71b9e846":{"description":"The caller has no access to this event, or is an API key (`API key is not authorized for messages`).","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"},"b4fabfd8-5a26-4f20-ab03-a2665b47d313":{"description":"Event or record not found.","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"},"727f2dc2-eb2b-4136-91ff-2198d80b1996":{"description":"The message has already been sent (`Cannot edit a message that has already been sent.`), or it failed validation.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Category can't be blank","uniqueKey":"error","typeLabel":"string"},"errors":{"type":"array","items":{"type":"string","uniqueKey":"errors.items.[INDEX]","typeLabel":"string"},"example":["Category can't be blank"],"uniqueKey":"errors","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Category can't be blank","errors":["Category can't be blank"]}}},"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 a message - Attend","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T09:16:43.938Z","originalFileLocation":"api-reference/messages/update-a-message.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=\"Edits a draft or scheduled message. Send the whole set of picks: audience filters are rebuilt from participant_event_ids and group_ids on every update, so omitting them clears them. A message that has started sending can\u0026#x27;t be edited.\">\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 a message - Attend\">\u003cmeta data-mint-head property=\"og:description\" content=\"Edits a draft or scheduled message. Send the whole set of picks: audience filters are rebuilt from participant_event_ids and group_ids on every update, so omitting them clears them. A message that has started sending can\u0026#x27;t be edited.\">\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/messages/update-a-message\">\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=Messages\u0026amp;title=Update+a+message\u0026amp;description=Edits+a+draft+or+scheduled+message.+Send+the+whole+set+of+picks%3A+audience+filters+are+rebuilt+from+%60participant_event_ids%60+and+%60group_ids%60+on+every+update%2C+so+o\u0026amp;theme=2570de8427322b889b74e8dd\u0026amp;signature=5525fbe9925b92a41e9e4c038f40adde33ee7655e9ccfc874cf8f208cb84493c\">\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 a message - Attend\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Edits a draft or scheduled message. Send the whole set of picks: audience filters are rebuilt from participant_event_ids and group_ids on every update, so omitting them clears them. A message that has started sending can\u0026#x27;t be edited.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hack-club.mintlify.app/_mintlify/api/og/v2?division=Messages\u0026amp;title=Update+a+message\u0026amp;description=Edits+a+draft+or+scheduled+message.+Send+the+whole+set+of+picks%3A+audience+filters+are+rebuilt+from+%60participant_event_ids%60+and+%60group_ids%60+on+every+update%2C+so+o\u0026amp;theme=2570de8427322b889b74e8dd\u0026amp;signature=5525fbe9925b92a41e9e4c038f40adde33ee7655e9ccfc874cf8f208cb84493c\">\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/messages/update-a-message\">\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/messages/update-a-message.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/messages/update-a-message#webpage\",\"url\":\"https://attend.hackclub.com/docs/api-reference/messages/update-a-message\",\"name\":\"Update a message\",\"description\":\"Edits a draft or scheduled message. Send the whole set of picks: audience filters are rebuilt from participant_event_ids and group_ids on every update, so omitting them clears them. A message that has started sending can't be edited.\",\"dateModified\":\"2026-11-05T09:16:43.938Z\",\"isPartOf\":{\"@id\":\"https://attend.hackclub.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://attend.hackclub.com/docs/api-reference/messages/update-a-message#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://attend.hackclub.com/docs/api-reference/messages/update-a-message#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\":\"Messages\",\"item\":\"https://attend.hackclub.com/docs/api-reference/messages/list-messages\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update a message\",\"item\":\"https://attend.hackclub.com/docs/api-reference/messages/update-a-message\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://attend.hackclub.com/docs/api-reference/messages/update-a-message#apireference\",\"headline\":\"Update a message\",\"name\":\"Update a message\",\"description\":\"Edits a draft or scheduled message. Send the whole set of picks: audience filters are rebuilt from participant_event_ids and group_ids on every update, so omitting them clears them. A message that has started sending can't be edited.\",\"url\":\"https://attend.hackclub.com/docs/api-reference/messages/update-a-message\",\"mainEntityOfPage\":{\"@id\":\"https://attend.hackclub.com/docs/api-reference/messages/update-a-message#webpage\"},\"dateModified\":\"2026-11-05T09:16:43.938Z\",\"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","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","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","description":"Deletes any message that isn't `sending` or `completed` — drafts, scheduled and cancelled messages, and failed sends. A message that is sending or has completed is kept.","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","description":"Step two of the composer: how many people the message would reach (and up to 20 of their names), and how it renders on each channel it uses. Channel renderings are `null` for channels the message doesn't use. Only drafts and scheduled messages can be previewed.","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 a message - 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"]}