Schedule the message to expire, replacing any expiry it already has. When the time comes it is replaced with a notice that it expired (or deleted), its buttons stop working, and by default LithoBlocks clears its own copies of what it said. Free. Members can expire only the messages they sent; owners and admins any.
LithoBlocks API key obtained from your organization dashboard. The LithoBlocks MCP server also presents a Supabase-issued user session token here on the user's behalf; such a token acts as that user with the scopes their organization role allows.
Any unique string (a UUID is fine). Repeating a request with the same key and body within 24 hours replays the original response with Idempotency-Replayed: true instead of running again; the same key with a different body is a 409. Incomplete and 5xx outcomes are retained for reconciliation beyond 24 hours. Applies only on the documented endpoints. Never automatically change keys to bypass an uncertain outcome.
Expire the message: replace it with a notice, or delete it. Precise to about a minute; a button clicked after the deadline does nothing even before the message is replaced.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"LithoBlocks","colors":{"primary":"#0891b2","light":"#cffafe","dark":"#0e7490"},"logo":{"light":"https://mintcdn.com/lithoblocks/KGZFBT_KPY8H2VP2/logo/light.png?fit=max\u0026auto=format\u0026n=KGZFBT_KPY8H2VP2\u0026q=85\u0026s=99f8cf65528bebb78dec112d77f923c9","dark":"https://mintcdn.com/lithoblocks/KGZFBT_KPY8H2VP2/logo/dark.png?fit=max\u0026auto=format\u0026n=KGZFBT_KPY8H2VP2\u0026q=85\u0026s=b6b4fd2bca60dc8ed583e3676c957b57"},"favicon":"https://mintcdn.com/lithoblocks/KGZFBT_KPY8H2VP2/favicon.svg?fit=max\u0026auto=format\u0026n=KGZFBT_KPY8H2VP2\u0026q=85\u0026s=e04b2e285f25e00cea6112bb57507308","api":{"playground":{"display":"none"}},"navbar":{"links":[{"href":"mailto:support@lithoblocks.com","label":"Support"}],"primary":{"type":"button","label":"Preview dashboard","href":"https://next.app.lithoblocks.com"}},"footer":{"socials":{"github":"https://github.com/lithoblocks","linkedin":"https://linkedin.com/company/lithoblocks"}},"banner":{"content":"Release preview — review [environments and availability](/guides/availability) before testing.","dismissible":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Preview dashboard","icon":"arrow-right","href":"https://next.app.lithoblocks.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lithoblocks","hasAudioNarration":false,"actualSubdomain":"lithoblocks","customDomains":["docs.lithoblocks.com"],"gitSource":{"type":"github","owner":"lithoblocks","repo":"lithoblocks","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adcc23c2892a8a2da120815","collectionId":"d2c69ba1-1109-47e2-940b-4fddd2313bf9","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adcc23c2892a8a2da120815"},"entitlements":{},"buildId":"6adccb2375476ff3698df547","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Reference","count":90},{"language":"default","tag":"API endpoints","count":82},{"language":"default","tag":"Templates","count":20},{"language":"default","tag":"Interactivity","count":17},{"language":"default","tag":"Automate","count":16},{"language":"default","tag":"Build","count":14},{"language":"default","tag":"Integrate","count":13},{"language":"default","tag":"Queues","count":12},{"language":"default","tag":"Messages","count":10},{"language":"default","tag":"Start","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"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":"byok-sep-25","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":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/messages/set-when-a-sent-message-expires","slug":"/api-reference/messages/set-when-a-sent-message-expires","pageMetadata":{"title":"Set when a sent message expires","description":"Schedule the message to expire, replacing any expiry it already has. When the time comes it is replaced with a notice that it expired (or deleted), its buttons stop working, and by default LithoBlocks clears its own copies of what it said. Free. Members can expire only the messages they sent; owners and admins any.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/messages/{id}/expiration","href":"/api-reference/messages/set-when-a-sent-message-expires","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Schedule the message to expire, replacing any expiry it already has. When the time comes it is replaced with a notice that it expired (or deleted), its buttons stop working, and by default LithoBlocks clears its own copies of what it said. Free. Members can expire only the messages they sent; owners and admins any.\"\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":"Set when a sent message expires","description":"Schedule the message to expire, replacing any expiry it already has. When the time comes it is replaced with a notice that it expired (or deleted), its buttons stop working, and by default LithoBlocks clears its own copies of what it said. Free. Members can expire only the messages they sent; owners and admins any.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/messages/{id}/expiration","href":"/api-reference/messages/set-when-a-sent-message-expires","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Messages"],"summary":"Set when a sent message expires","description":"Schedule the message to expire, replacing any expiry it already has. When the time comes it is replaced with a notice that it expired (or deleted), its buttons stop working, and by default LithoBlocks clears its own copies of what it said. Free. Members can expire only the messages they sent; owners and admins any.","security":["1eb86a0d-001a-4014-b97c-e65217791043"],"parameters":["9aa21334-97d4-4715-b507-74e5ca8a3e02","8a8abfd7-3c95-4b2b-ae99-a7fc132d12f9"],"requestBody":"8f082593-6fb3-4b9a-832d-e2ac7abcad2f","responses":{"200":"7c5091f3-046c-4474-8da7-ad877fbb8c70","400":"f65df4c2-10df-4e1a-9a62-3ba4f8c39756","401":"879c13ad-befb-47f4-8adc-3d0893fe64d9","402":"d09c3cfe-6336-4da5-83ab-dd3a2a06494e","403":"d321b802-7f15-413f-a42c-e3770aa35f15","404":"e51f29fb-be33-4cff-93fd-d477bd30c088","409":"d814afe9-6906-4afd-8de5-275149b888ec","422":"cd2afdf9-e371-45a3-9c5d-e70914447817","429":"9dcf797d-c97a-4861-bcd5-066f605c67a0","500":"28061cee-54d6-4277-8f77-f54126175ab3","502":"095bef7c-6bdf-43d2-8131-2c13720a616c","503":"a38785fa-d51a-4e5c-97c4-723ed8ec0531","504":"a0eb504b-4767-4d84-9aab-a6e492f25ca1"},"method":"put","type":"path","servers":["7d0c3f43-b728-43e4-890f-4b5fcd8955dd","3e80eef4-e2e2-4ad0-9415-b5e2e8a59216"],"path":"/v1/messages/{id}/expiration","baseUrlOptions":["https://api.lithoblocks.com","http://localhost:9999"],"title":"Set when a sent message expires","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"9aa21334-97d4-4715-b507-74e5ca8a3e02":{"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"},"required":true,"name":"id","in":"path"},"8a8abfd7-3c95-4b2b-ae99-a7fc132d12f9":{"schema":{"type":"string","minLength":1,"maxLength":255,"description":"Any unique string (a UUID is fine). Repeating a request with the same key and body within 24 hours replays the original response with `Idempotency-Replayed: true` instead of running again; the same key with a different body is a 409. Incomplete and 5xx outcomes are retained for reconciliation beyond 24 hours. Applies only on the documented endpoints. Never automatically change keys to bypass an uncertain outcome.","example":"3f7d2c1a-9b4e-4f0a-8c6d-2e1b5a7c9d10","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"in":"header","name":"Idempotency-Key"}},"requestBody":{"description":"When and how it expires","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"after_seconds":{"type":"integer","minimum":60,"maximum":31622400,"description":"Seconds after the message is delivered. At least 60: expiry runs about once a minute.","uniqueKey":"after_seconds","typeLabel":"integer"},"at":{"type":"string","format":"date-time","description":"An absolute time, at least 60 seconds from now.","uniqueKey":"at","typeLabel":"string\u003cdate-time>"},"mode":{"type":"string","enum":["replace","delete"],"default":"replace","description":"`replace` (default): the message is replaced with a notice that it expired, and its buttons stop working. `delete`: it is deleted from Slack.","uniqueKey":"mode","typeLabel":"enum\u003cstring>"},"retain_content":{"type":"boolean","default":false,"description":"By default LithoBlocks clears its own copies of what the message said when it expires. `true` keeps them.","uniqueKey":"retain_content","typeLabel":"boolean"}},"additionalProperties":false,"description":"Expire the message: replace it with a notice, or delete it. Precise to about a minute; a button clicked after the deadline does nothing even before the message is replaced.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"after_seconds":15811230,"at":"2023-11-07T05:31:56Z","mode":"replace","retain_content":false}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"7c5091f3-046c-4474-8da7-ad877fbb8c70":{"description":"The message with its expiry","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"LithoBlocks' id for the message; send responses return it as `message_id`.","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"template_id":{"oneOf":[{"type":"string","format":"uuid","description":"Null once the template has been deleted.","isRequired":true,"uniqueKey":"template_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Null once the template has been deleted.","isRequired":true,"uniqueKey":"template_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"template_id","typeLabel":"string\u003cuuid> | null"},"template_name":{"oneOf":[{"type":"string","description":"The template's name when the message was sent.","isRequired":true,"uniqueKey":"template_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"The template's name when the message was sent.","isRequired":true,"uniqueKey":"template_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"template_name","typeLabel":"string | null"},"template_version_id":{"oneOf":[{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"template_version_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","isRequired":true,"uniqueKey":"template_version_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"template_version_id","typeLabel":"string\u003cuuid> | null"},"workspace_id":{"type":"string","description":"The Slack workspace (team) id.","isRequired":true,"uniqueKey":"workspace_id","typeLabel":"string"},"channel_id":{"oneOf":[{"type":"string","description":"The resolved channel; a `D…` id for a direct message.","isRequired":true,"uniqueKey":"channel_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"The resolved channel; a `D…` id for a direct message.","isRequired":true,"uniqueKey":"channel_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"channel_id","typeLabel":"string | null"},"channel_name":{"oneOf":[{"type":"string","description":"The channel's name when the message was sent, without the #. Null for direct messages, private channels and messages sent before 2026-10-22.","isRequired":true,"uniqueKey":"channel_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"The channel's name when the message was sent, without the #. Null for direct messages, private channels and messages sent before 2026-10-22.","isRequired":true,"uniqueKey":"channel_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"channel_name","typeLabel":"string | null"},"message_ts":{"type":"string","description":"Slack's timestamp for the message.","isRequired":true,"uniqueKey":"message_ts","typeLabel":"string"},"recipient_email":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"recipient_email.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"recipient_email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"recipient_email","typeLabel":"string | null"},"recipient_slack_id":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"recipient_slack_id.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"recipient_slack_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"recipient_slack_id","typeLabel":"string | null"},"sent_at":{"type":"string","isRequired":true,"uniqueKey":"sent_at","typeLabel":"string"},"sent_by":{"type":"string","format":"uuid","description":"The user the send is attributed to; for an API key, the key's owner.","isRequired":true,"uniqueKey":"sent_by","typeLabel":"string\u003cuuid>"},"sender_api_key_id":{"oneOf":[{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"sender_api_key_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","isRequired":true,"uniqueKey":"sender_api_key_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"sender_api_key_id","typeLabel":"string\u003cuuid> | null"},"sender_client_id":{"oneOf":[{"type":"string","description":"The OAuth client a session token was issued to, e.g. an MCP client.","isRequired":true,"uniqueKey":"sender_client_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"The OAuth client a session token was issued to, e.g. an MCP client.","isRequired":true,"uniqueKey":"sender_client_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"sender_client_id","typeLabel":"string | null"},"source":{"oneOf":[{"type":"string","enum":["api","api_bulk","web","scheduled","digest","slash"],"description":"How it was sent. Null for messages sent before 2026-10-22.","isRequired":true,"uniqueKey":"source.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["api","api_bulk","web","scheduled","digest","slash"],"description":"How it was sent. Null for messages sent before 2026-10-22.","isRequired":true,"uniqueKey":"source.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"source","typeLabel":"enum\u003cstring> | null"},"reference":{"oneOf":[{"type":"string","description":"The caller's own handle for the message, if it gave one.","isRequired":true,"uniqueKey":"reference.oneOf.0","typeLabel":"string"},{"type":"null","description":"The caller's own handle for the message, if it gave one.","isRequired":true,"uniqueKey":"reference.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"reference","typeLabel":"string | null"},"lifecycle":{"type":"string","enum":["live","deleted","expired"],"description":"What has happened to the message in Slack since it was sent.","isRequired":true,"uniqueKey":"lifecycle","typeLabel":"enum\u003cstring>"},"revision":{"type":"integer","description":"Increments with every change; a change names the revision it was made against.","isRequired":true,"uniqueKey":"revision","typeLabel":"integer"},"edited_at":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"edited_at.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"edited_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"edited_at","typeLabel":"string | null"},"deleted_at":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"deleted_at.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"deleted_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"deleted_at","typeLabel":"string | null"},"expired_at":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"expired_at.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"expired_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expired_at","typeLabel":"string | null"},"change_state":{"type":"string","enum":["idle","in_progress","needs_reconciliation"],"description":"`needs_reconciliation`: Slack's answer to a change was lost, and a person must say whether it went through before anything else can change.","isRequired":true,"uniqueKey":"change_state","typeLabel":"enum\u003cstring>"},"pending_action":{"oneOf":[{"type":"string","enum":["edit","rerender","interaction_update","delete","expire"],"isRequired":true,"uniqueKey":"pending_action.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["edit","rerender","interaction_update","delete","expire"],"isRequired":true,"uniqueKey":"pending_action.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"pending_action","typeLabel":"enum\u003cstring> | null"},"fallback_text":{"oneOf":[{"type":"string","description":"The notification text sent with the blocks.","isRequired":true,"uniqueKey":"fallback_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"The notification text sent with the blocks.","isRequired":true,"uniqueKey":"fallback_text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"fallback_text","typeLabel":"string | null"},"text_editable":{"type":"boolean","description":"Whether the stored blocks are exactly what Slack holds, so the text can be corrected in place.","isRequired":true,"uniqueKey":"text_editable","typeLabel":"boolean"},"expiration":{"oneOf":[{"type":"object","properties":{"expires_at":{"type":"string","isRequired":true,"uniqueKey":"expiration.oneOf.0.expires_at","typeLabel":"string"},"mode":{"type":"string","enum":["replace","delete"],"description":"`replace` (default): the message is replaced with a notice that it expired, and its buttons stop working. `delete`: it is deleted from Slack.","isRequired":true,"uniqueKey":"expiration.oneOf.0.mode","typeLabel":"enum\u003cstring>"},"state":{"type":"string","enum":["scheduled","processing","completed","failed","cancelled"],"description":"`failed`: the expiry gave up after its retries (see `last_error`); the message's buttons still do nothing after the deadline.","isRequired":true,"uniqueKey":"expiration.oneOf.0.state","typeLabel":"enum\u003cstring>"},"retain_content":{"type":"boolean","description":"Whether LithoBlocks keeps its copies of what the message said after it expires.","isRequired":true,"uniqueKey":"expiration.oneOf.0.retain_content","typeLabel":"boolean"},"attempts":{"type":"integer","isRequired":true,"uniqueKey":"expiration.oneOf.0.attempts","typeLabel":"integer"},"last_error":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"expiration.oneOf.0.last_error.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"expiration.oneOf.0.last_error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expiration.oneOf.0.last_error","typeLabel":"string | null"},"completed_at":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"expiration.oneOf.0.completed_at.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"expiration.oneOf.0.completed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expiration.oneOf.0.completed_at","typeLabel":"string | null"}},"required":["expires_at","mode","state","retain_content","attempts","last_error","completed_at"],"description":"The message's expiry, if one was ever set.","isRequired":true,"uniqueKey":"expiration.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"expires_at":{"type":"string"},"mode":{"type":"string","enum":["replace","delete"],"description":"`replace` (default): the message is replaced with a notice that it expired, and its buttons stop working. `delete`: it is deleted from Slack."},"state":{"type":"string","enum":["scheduled","processing","completed","failed","cancelled"],"description":"`failed`: the expiry gave up after its retries (see `last_error`); the message's buttons still do nothing after the deadline."},"retain_content":{"type":"boolean","description":"Whether LithoBlocks keeps its copies of what the message said after it expires."},"attempts":{"type":"integer"},"last_error":{"oneOf":[{"type":"string"},{"type":"null"}]},"completed_at":{"oneOf":[{"type":"string"},{"type":"null"}]}},"required":["expires_at","mode","state","retain_content","attempts","last_error","completed_at"],"description":"The message's expiry, if one was ever set.","isRequired":true,"uniqueKey":"expiration.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expiration","typeLabel":"object | null"}},"required":["id","template_id","template_name","template_version_id","workspace_id","channel_id","channel_name","message_ts","recipient_email","recipient_slack_id","sent_at","sent_by","sender_api_key_id","sender_client_id","source","reference","lifecycle","revision","edited_at","deleted_at","expired_at","change_state","pending_action","fallback_text","text_editable","expiration"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","template_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","template_name":"\u003cstring>","template_version_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","workspace_id":"\u003cstring>","channel_id":"\u003cstring>","channel_name":"\u003cstring>","message_ts":"\u003cstring>","recipient_email":"\u003cstring>","recipient_slack_id":"\u003cstring>","sent_at":"\u003cstring>","sent_by":"3c90c3cc-0d44-4b50-8888-8dd25736052a","sender_api_key_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","sender_client_id":"\u003cstring>","source":"api","reference":"\u003cstring>","lifecycle":"live","revision":123,"edited_at":"\u003cstring>","deleted_at":"\u003cstring>","expired_at":"\u003cstring>","change_state":"idle","pending_action":"edit","fallback_text":"\u003cstring>","text_editable":true,"expiration":{"expires_at":"\u003cstring>","mode":"replace","state":"scheduled","retain_content":true,"attempts":123,"last_error":"\u003cstring>","completed_at":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"f65df4c2-10df-4e1a-9a62-3ba4f8c39756":{"description":"`invalid_request`: an edit with nothing to change","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable summary. Not stable; match on `code`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["unauthenticated","invalid_token","insufficient_scope","access_denied","validation_failed","invalid_request","invalid_data","invalid_destination","invalid_search_query","not_found","template_not_found","version_not_found","organization_not_found","entity_not_found","field_not_found","user_not_found","profile_not_found","credits_not_found","insufficient_credits","overage_limit_exceeded","credit_deduction_failed","compilation_failed","no_blocks_to_send","slack_not_connected","slack_user_not_found","slack_dm_failed","slack_token_decrypt_failed","slack_api_error","already_exists","invitation_pending","idempotency_conflict","idempotency_in_progress","rate_limited","tier_limit","invalid_state","template_archived","template_in_use","template_not_activated","current_version_changed","message_not_found","not_message_sender","revision_conflict","message_not_live","mutation_in_progress","reconciliation_required","nothing_to_reconcile","text_not_editable","slack_refused","slack_outcome_unknown","expiration_in_past","expiration_in_progress","no_expiration","expiration_exceeds_maximum","maintenance","misconfigured","internal_error"],"description":"Machine-readable reason for the failure. Match on this, not on `error`. New codes may be added; existing ones are stable.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","description":"Echoed from the request's X-Request-Id header, or generated. Quote it in support requests.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"details","typeLabel":"string"},"error_details":{"type":"string","uniqueKey":"error_details","typeLabel":"string"},"success":{"type":"boolean","enum":[false],"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"valid":{"type":"boolean","enum":[false],"uniqueKey":"valid","typeLabel":"enum\u003cboolean>"},"required_scopes":{"type":"array","items":{"type":"string","uniqueKey":"required_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required_scopes","typeLabel":"string[]"},"user_scopes":{"type":"array","items":{"type":"string","uniqueKey":"user_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"user_scopes","typeLabel":"string[]"}},"required":["error","code","request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"unauthenticated","request_id":"\u003cstring>","message":"\u003cstring>","details":"\u003cstring>","error_details":"\u003cstring>","success":false,"valid":false,"required_scopes":["\u003cstring>"],"user_scopes":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"879c13ad-befb-47f4-8adc-3d0893fe64d9":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable summary. Not stable; match on `code`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["unauthenticated","invalid_token","insufficient_scope","access_denied","validation_failed","invalid_request","invalid_data","invalid_destination","invalid_search_query","not_found","template_not_found","version_not_found","organization_not_found","entity_not_found","field_not_found","user_not_found","profile_not_found","credits_not_found","insufficient_credits","overage_limit_exceeded","credit_deduction_failed","compilation_failed","no_blocks_to_send","slack_not_connected","slack_user_not_found","slack_dm_failed","slack_token_decrypt_failed","slack_api_error","already_exists","invitation_pending","idempotency_conflict","idempotency_in_progress","rate_limited","tier_limit","invalid_state","template_archived","template_in_use","template_not_activated","current_version_changed","message_not_found","not_message_sender","revision_conflict","message_not_live","mutation_in_progress","reconciliation_required","nothing_to_reconcile","text_not_editable","slack_refused","slack_outcome_unknown","expiration_in_past","expiration_in_progress","no_expiration","expiration_exceeds_maximum","maintenance","misconfigured","internal_error"],"description":"Machine-readable reason for the failure. Match on this, not on `error`. New codes may be added; existing ones are stable.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","description":"Echoed from the request's X-Request-Id header, or generated. Quote it in support requests.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"details","typeLabel":"string"},"error_details":{"type":"string","uniqueKey":"error_details","typeLabel":"string"},"success":{"type":"boolean","enum":[false],"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"valid":{"type":"boolean","enum":[false],"uniqueKey":"valid","typeLabel":"enum\u003cboolean>"},"required_scopes":{"type":"array","items":{"type":"string","uniqueKey":"required_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required_scopes","typeLabel":"string[]"},"user_scopes":{"type":"array","items":{"type":"string","uniqueKey":"user_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"user_scopes","typeLabel":"string[]"}},"required":["error","code","request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"unauthenticated","request_id":"\u003cstring>","message":"\u003cstring>","details":"\u003cstring>","error_details":"\u003cstring>","success":false,"valid":false,"required_scopes":["\u003cstring>"],"user_scopes":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"d09c3cfe-6336-4da5-83ab-dd3a2a06494e":{"description":"`insufficient_credits` or `overage_limit_exceeded`: a re-render uses one credit","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable summary. Not stable; match on `code`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["unauthenticated","invalid_token","insufficient_scope","access_denied","validation_failed","invalid_request","invalid_data","invalid_destination","invalid_search_query","not_found","template_not_found","version_not_found","organization_not_found","entity_not_found","field_not_found","user_not_found","profile_not_found","credits_not_found","insufficient_credits","overage_limit_exceeded","credit_deduction_failed","compilation_failed","no_blocks_to_send","slack_not_connected","slack_user_not_found","slack_dm_failed","slack_token_decrypt_failed","slack_api_error","already_exists","invitation_pending","idempotency_conflict","idempotency_in_progress","rate_limited","tier_limit","invalid_state","template_archived","template_in_use","template_not_activated","current_version_changed","message_not_found","not_message_sender","revision_conflict","message_not_live","mutation_in_progress","reconciliation_required","nothing_to_reconcile","text_not_editable","slack_refused","slack_outcome_unknown","expiration_in_past","expiration_in_progress","no_expiration","expiration_exceeds_maximum","maintenance","misconfigured","internal_error"],"description":"Machine-readable reason for the failure. Match on this, not on `error`. New codes may be added; existing ones are stable.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","description":"Echoed from the request's X-Request-Id header, or generated. Quote it in support requests.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"details","typeLabel":"string"},"error_details":{"type":"string","uniqueKey":"error_details","typeLabel":"string"},"success":{"type":"boolean","enum":[false],"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"valid":{"type":"boolean","enum":[false],"uniqueKey":"valid","typeLabel":"enum\u003cboolean>"},"required_scopes":{"type":"array","items":{"type":"string","uniqueKey":"required_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required_scopes","typeLabel":"string[]"},"user_scopes":{"type":"array","items":{"type":"string","uniqueKey":"user_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"user_scopes","typeLabel":"string[]"}},"required":["error","code","request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"unauthenticated","request_id":"\u003cstring>","message":"\u003cstring>","details":"\u003cstring>","error_details":"\u003cstring>","success":false,"valid":false,"required_scopes":["\u003cstring>"],"user_scopes":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"d321b802-7f15-413f-a42c-e3770aa35f15":{"description":"Insufficient scope, or `not_message_sender`: members change only the messages they sent","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable summary. Not stable; match on `code`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["unauthenticated","invalid_token","insufficient_scope","access_denied","validation_failed","invalid_request","invalid_data","invalid_destination","invalid_search_query","not_found","template_not_found","version_not_found","organization_not_found","entity_not_found","field_not_found","user_not_found","profile_not_found","credits_not_found","insufficient_credits","overage_limit_exceeded","credit_deduction_failed","compilation_failed","no_blocks_to_send","slack_not_connected","slack_user_not_found","slack_dm_failed","slack_token_decrypt_failed","slack_api_error","already_exists","invitation_pending","idempotency_conflict","idempotency_in_progress","rate_limited","tier_limit","invalid_state","template_archived","template_in_use","template_not_activated","current_version_changed","message_not_found","not_message_sender","revision_conflict","message_not_live","mutation_in_progress","reconciliation_required","nothing_to_reconcile","text_not_editable","slack_refused","slack_outcome_unknown","expiration_in_past","expiration_in_progress","no_expiration","expiration_exceeds_maximum","maintenance","misconfigured","internal_error"],"description":"Machine-readable reason for the failure. Match on this, not on `error`. New codes may be added; existing ones are stable.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","description":"Echoed from the request's X-Request-Id header, or generated. Quote it in support requests.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"details","typeLabel":"string"},"error_details":{"type":"string","uniqueKey":"error_details","typeLabel":"string"},"success":{"type":"boolean","enum":[false],"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"valid":{"type":"boolean","enum":[false],"uniqueKey":"valid","typeLabel":"enum\u003cboolean>"},"required_scopes":{"type":"array","items":{"type":"string","uniqueKey":"required_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required_scopes","typeLabel":"string[]"},"user_scopes":{"type":"array","items":{"type":"string","uniqueKey":"user_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"user_scopes","typeLabel":"string[]"}},"required":["error","code","request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"unauthenticated","request_id":"\u003cstring>","message":"\u003cstring>","details":"\u003cstring>","error_details":"\u003cstring>","success":false,"valid":false,"required_scopes":["\u003cstring>"],"user_scopes":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"e51f29fb-be33-4cff-93fd-d477bd30c088":{"description":"Message not found in your organization","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable summary. Not stable; match on `code`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["unauthenticated","invalid_token","insufficient_scope","access_denied","validation_failed","invalid_request","invalid_data","invalid_destination","invalid_search_query","not_found","template_not_found","version_not_found","organization_not_found","entity_not_found","field_not_found","user_not_found","profile_not_found","credits_not_found","insufficient_credits","overage_limit_exceeded","credit_deduction_failed","compilation_failed","no_blocks_to_send","slack_not_connected","slack_user_not_found","slack_dm_failed","slack_token_decrypt_failed","slack_api_error","already_exists","invitation_pending","idempotency_conflict","idempotency_in_progress","rate_limited","tier_limit","invalid_state","template_archived","template_in_use","template_not_activated","current_version_changed","message_not_found","not_message_sender","revision_conflict","message_not_live","mutation_in_progress","reconciliation_required","nothing_to_reconcile","text_not_editable","slack_refused","slack_outcome_unknown","expiration_in_past","expiration_in_progress","no_expiration","expiration_exceeds_maximum","maintenance","misconfigured","internal_error"],"description":"Machine-readable reason for the failure. Match on this, not on `error`. New codes may be added; existing ones are stable.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","description":"Echoed from the request's X-Request-Id header, or generated. Quote it in support requests.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"details","typeLabel":"string"},"error_details":{"type":"string","uniqueKey":"error_details","typeLabel":"string"},"success":{"type":"boolean","enum":[false],"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"valid":{"type":"boolean","enum":[false],"uniqueKey":"valid","typeLabel":"enum\u003cboolean>"},"required_scopes":{"type":"array","items":{"type":"string","uniqueKey":"required_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required_scopes","typeLabel":"string[]"},"user_scopes":{"type":"array","items":{"type":"string","uniqueKey":"user_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"user_scopes","typeLabel":"string[]"}},"required":["error","code","request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"unauthenticated","request_id":"\u003cstring>","message":"\u003cstring>","details":"\u003cstring>","error_details":"\u003cstring>","success":false,"valid":false,"required_scopes":["\u003cstring>"],"user_scopes":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"d814afe9-6906-4afd-8de5-275149b888ec":{"description":"`message_not_live`, `expiration_in_progress`, `no_expiration`, `mutation_in_progress` or `reconciliation_required`; also an Idempotency-Key conflict, or `slack_not_connected`","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable summary. Not stable; match on `code`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["unauthenticated","invalid_token","insufficient_scope","access_denied","validation_failed","invalid_request","invalid_data","invalid_destination","invalid_search_query","not_found","template_not_found","version_not_found","organization_not_found","entity_not_found","field_not_found","user_not_found","profile_not_found","credits_not_found","insufficient_credits","overage_limit_exceeded","credit_deduction_failed","compilation_failed","no_blocks_to_send","slack_not_connected","slack_user_not_found","slack_dm_failed","slack_token_decrypt_failed","slack_api_error","already_exists","invitation_pending","idempotency_conflict","idempotency_in_progress","rate_limited","tier_limit","invalid_state","template_archived","template_in_use","template_not_activated","current_version_changed","message_not_found","not_message_sender","revision_conflict","message_not_live","mutation_in_progress","reconciliation_required","nothing_to_reconcile","text_not_editable","slack_refused","slack_outcome_unknown","expiration_in_past","expiration_in_progress","no_expiration","expiration_exceeds_maximum","maintenance","misconfigured","internal_error"],"description":"Machine-readable reason for the failure. Match on this, not on `error`. New codes may be added; existing ones are stable.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","description":"Echoed from the request's X-Request-Id header, or generated. Quote it in support requests.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"details","typeLabel":"string"},"error_details":{"type":"string","uniqueKey":"error_details","typeLabel":"string"},"success":{"type":"boolean","enum":[false],"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"valid":{"type":"boolean","enum":[false],"uniqueKey":"valid","typeLabel":"enum\u003cboolean>"},"required_scopes":{"type":"array","items":{"type":"string","uniqueKey":"required_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required_scopes","typeLabel":"string[]"},"user_scopes":{"type":"array","items":{"type":"string","uniqueKey":"user_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"user_scopes","typeLabel":"string[]"}},"required":["error","code","request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"unauthenticated","request_id":"\u003cstring>","message":"\u003cstring>","details":"\u003cstring>","error_details":"\u003cstring>","success":false,"valid":false,"required_scopes":["\u003cstring>"],"user_scopes":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"cd2afdf9-e371-45a3-9c5d-e70914447817":{"description":"Validation failed, or `expiration_in_past`: an expiry must be at least 60 seconds away","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["success","error","message","code","request_id"],"properties":{"success":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"oneOf.0.success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"issues":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.issues.items.[INDEX].code","typeLabel":"string"},"path":{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.error.issues.items.[INDEX].path.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.0.error.issues.items.[INDEX].path.items.[INDEX].oneOf.1","typeLabel":"number"}],"uniqueKey":"oneOf.0.error.issues.items.[INDEX].path.items.[INDEX]","typeLabel":"string | number"},"isRequired":true,"uniqueKey":"oneOf.0.error.issues.items.[INDEX].path","typeLabel":"(string | number)[]"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.issues.items.[INDEX].message","typeLabel":"string"}},"required":["code","path","message"],"uniqueKey":"oneOf.0.error.issues.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.0.error.issues","typeLabel":"object[]"},"name":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.name","typeLabel":"string"}},"required":["issues","name"],"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"},"message":{"type":"string","description":"The issues as one line, `path: message; path: message`, for callers that show a string (form builders such as Make)","isRequired":true,"uniqueKey":"oneOf.0.message","typeLabel":"string"},"code":{"type":"string","enum":["validation_failed"],"isRequired":true,"uniqueKey":"oneOf.0.code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.request_id","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["error","code","request_id"],"properties":{"error":{"type":"string","description":"Human-readable summary. Not stable; match on `code`.","isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"string"},"code":{"type":"string","enum":["unauthenticated","invalid_token","insufficient_scope","access_denied","validation_failed","invalid_request","invalid_data","invalid_destination","invalid_search_query","not_found","template_not_found","version_not_found","organization_not_found","entity_not_found","field_not_found","user_not_found","profile_not_found","credits_not_found","insufficient_credits","overage_limit_exceeded","credit_deduction_failed","compilation_failed","no_blocks_to_send","slack_not_connected","slack_user_not_found","slack_dm_failed","slack_token_decrypt_failed","slack_api_error","already_exists","invitation_pending","idempotency_conflict","idempotency_in_progress","rate_limited","tier_limit","invalid_state","template_archived","template_in_use","template_not_activated","current_version_changed","message_not_found","not_message_sender","revision_conflict","message_not_live","mutation_in_progress","reconciliation_required","nothing_to_reconcile","text_not_editable","slack_refused","slack_outcome_unknown","expiration_in_past","expiration_in_progress","no_expiration","expiration_exceeds_maximum","maintenance","misconfigured","internal_error"],"description":"Machine-readable reason for the failure. Match on this, not on `error`. New codes may be added; existing ones are stable.","isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","description":"Echoed from the request's X-Request-Id header, or generated. Quote it in support requests.","isRequired":true,"uniqueKey":"oneOf.1.request_id","typeLabel":"string"},"message":{"type":"string","uniqueKey":"oneOf.1.message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"oneOf.1.details","typeLabel":"string"},"error_details":{"type":"string","uniqueKey":"oneOf.1.error_details","typeLabel":"string"},"success":{"type":"boolean","enum":[false],"uniqueKey":"oneOf.1.success","typeLabel":"enum\u003cboolean>"},"valid":{"type":"boolean","enum":[false],"uniqueKey":"oneOf.1.valid","typeLabel":"enum\u003cboolean>"},"required_scopes":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.required_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.1.required_scopes","typeLabel":"string[]"},"user_scopes":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.user_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.1.user_scopes","typeLabel":"string[]"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"issues":[{"code":"\u003cstring>","path":["\u003cstring>"],"message":"\u003cstring>"}],"name":"\u003cstring>"},"message":"\u003cstring>","code":"validation_failed","request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"9dcf797d-c97a-4861-bcd5-066f605c67a0":{"description":"Rate limited","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable summary. Not stable; match on `code`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["unauthenticated","invalid_token","insufficient_scope","access_denied","validation_failed","invalid_request","invalid_data","invalid_destination","invalid_search_query","not_found","template_not_found","version_not_found","organization_not_found","entity_not_found","field_not_found","user_not_found","profile_not_found","credits_not_found","insufficient_credits","overage_limit_exceeded","credit_deduction_failed","compilation_failed","no_blocks_to_send","slack_not_connected","slack_user_not_found","slack_dm_failed","slack_token_decrypt_failed","slack_api_error","already_exists","invitation_pending","idempotency_conflict","idempotency_in_progress","rate_limited","tier_limit","invalid_state","template_archived","template_in_use","template_not_activated","current_version_changed","message_not_found","not_message_sender","revision_conflict","message_not_live","mutation_in_progress","reconciliation_required","nothing_to_reconcile","text_not_editable","slack_refused","slack_outcome_unknown","expiration_in_past","expiration_in_progress","no_expiration","expiration_exceeds_maximum","maintenance","misconfigured","internal_error"],"description":"Machine-readable reason for the failure. Match on this, not on `error`. New codes may be added; existing ones are stable.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","description":"Echoed from the request's X-Request-Id header, or generated. Quote it in support requests.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"details","typeLabel":"string"},"error_details":{"type":"string","uniqueKey":"error_details","typeLabel":"string"},"success":{"type":"boolean","enum":[false],"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"valid":{"type":"boolean","enum":[false],"uniqueKey":"valid","typeLabel":"enum\u003cboolean>"},"required_scopes":{"type":"array","items":{"type":"string","uniqueKey":"required_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required_scopes","typeLabel":"string[]"},"user_scopes":{"type":"array","items":{"type":"string","uniqueKey":"user_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"user_scopes","typeLabel":"string[]"}},"required":["error","code","request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"unauthenticated","request_id":"\u003cstring>","message":"\u003cstring>","details":"\u003cstring>","error_details":"\u003cstring>","success":false,"valid":false,"required_scopes":["\u003cstring>"],"user_scopes":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"28061cee-54d6-4277-8f77-f54126175ab3":{"description":"Internal error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable summary. Not stable; match on `code`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["unauthenticated","invalid_token","insufficient_scope","access_denied","validation_failed","invalid_request","invalid_data","invalid_destination","invalid_search_query","not_found","template_not_found","version_not_found","organization_not_found","entity_not_found","field_not_found","user_not_found","profile_not_found","credits_not_found","insufficient_credits","overage_limit_exceeded","credit_deduction_failed","compilation_failed","no_blocks_to_send","slack_not_connected","slack_user_not_found","slack_dm_failed","slack_token_decrypt_failed","slack_api_error","already_exists","invitation_pending","idempotency_conflict","idempotency_in_progress","rate_limited","tier_limit","invalid_state","template_archived","template_in_use","template_not_activated","current_version_changed","message_not_found","not_message_sender","revision_conflict","message_not_live","mutation_in_progress","reconciliation_required","nothing_to_reconcile","text_not_editable","slack_refused","slack_outcome_unknown","expiration_in_past","expiration_in_progress","no_expiration","expiration_exceeds_maximum","maintenance","misconfigured","internal_error"],"description":"Machine-readable reason for the failure. Match on this, not on `error`. New codes may be added; existing ones are stable.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","description":"Echoed from the request's X-Request-Id header, or generated. Quote it in support requests.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"details","typeLabel":"string"},"error_details":{"type":"string","uniqueKey":"error_details","typeLabel":"string"},"success":{"type":"boolean","enum":[false],"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"valid":{"type":"boolean","enum":[false],"uniqueKey":"valid","typeLabel":"enum\u003cboolean>"},"required_scopes":{"type":"array","items":{"type":"string","uniqueKey":"required_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required_scopes","typeLabel":"string[]"},"user_scopes":{"type":"array","items":{"type":"string","uniqueKey":"user_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"user_scopes","typeLabel":"string[]"}},"required":["error","code","request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"unauthenticated","request_id":"\u003cstring>","message":"\u003cstring>","details":"\u003cstring>","error_details":"\u003cstring>","success":false,"valid":false,"required_scopes":["\u003cstring>"],"user_scopes":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"095bef7c-6bdf-43d2-8131-2c13720a616c":{"description":"`slack_refused`: Slack refused the change and nothing changed; `details` carries Slack's error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable summary. Not stable; match on `code`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["unauthenticated","invalid_token","insufficient_scope","access_denied","validation_failed","invalid_request","invalid_data","invalid_destination","invalid_search_query","not_found","template_not_found","version_not_found","organization_not_found","entity_not_found","field_not_found","user_not_found","profile_not_found","credits_not_found","insufficient_credits","overage_limit_exceeded","credit_deduction_failed","compilation_failed","no_blocks_to_send","slack_not_connected","slack_user_not_found","slack_dm_failed","slack_token_decrypt_failed","slack_api_error","already_exists","invitation_pending","idempotency_conflict","idempotency_in_progress","rate_limited","tier_limit","invalid_state","template_archived","template_in_use","template_not_activated","current_version_changed","message_not_found","not_message_sender","revision_conflict","message_not_live","mutation_in_progress","reconciliation_required","nothing_to_reconcile","text_not_editable","slack_refused","slack_outcome_unknown","expiration_in_past","expiration_in_progress","no_expiration","expiration_exceeds_maximum","maintenance","misconfigured","internal_error"],"description":"Machine-readable reason for the failure. Match on this, not on `error`. New codes may be added; existing ones are stable.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","description":"Echoed from the request's X-Request-Id header, or generated. Quote it in support requests.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"details","typeLabel":"string"},"error_details":{"type":"string","uniqueKey":"error_details","typeLabel":"string"},"success":{"type":"boolean","enum":[false],"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"valid":{"type":"boolean","enum":[false],"uniqueKey":"valid","typeLabel":"enum\u003cboolean>"},"required_scopes":{"type":"array","items":{"type":"string","uniqueKey":"required_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required_scopes","typeLabel":"string[]"},"user_scopes":{"type":"array","items":{"type":"string","uniqueKey":"user_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"user_scopes","typeLabel":"string[]"}},"required":["error","code","request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"unauthenticated","request_id":"\u003cstring>","message":"\u003cstring>","details":"\u003cstring>","error_details":"\u003cstring>","success":false,"valid":false,"required_scopes":["\u003cstring>"],"user_scopes":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"a38785fa-d51a-4e5c-97c4-723ed8ec0531":{"description":"`rate_limited`: Slack is rate limiting changes; retry after the Retry-After header","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable summary. Not stable; match on `code`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["unauthenticated","invalid_token","insufficient_scope","access_denied","validation_failed","invalid_request","invalid_data","invalid_destination","invalid_search_query","not_found","template_not_found","version_not_found","organization_not_found","entity_not_found","field_not_found","user_not_found","profile_not_found","credits_not_found","insufficient_credits","overage_limit_exceeded","credit_deduction_failed","compilation_failed","no_blocks_to_send","slack_not_connected","slack_user_not_found","slack_dm_failed","slack_token_decrypt_failed","slack_api_error","already_exists","invitation_pending","idempotency_conflict","idempotency_in_progress","rate_limited","tier_limit","invalid_state","template_archived","template_in_use","template_not_activated","current_version_changed","message_not_found","not_message_sender","revision_conflict","message_not_live","mutation_in_progress","reconciliation_required","nothing_to_reconcile","text_not_editable","slack_refused","slack_outcome_unknown","expiration_in_past","expiration_in_progress","no_expiration","expiration_exceeds_maximum","maintenance","misconfigured","internal_error"],"description":"Machine-readable reason for the failure. Match on this, not on `error`. New codes may be added; existing ones are stable.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","description":"Echoed from the request's X-Request-Id header, or generated. Quote it in support requests.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"details","typeLabel":"string"},"error_details":{"type":"string","uniqueKey":"error_details","typeLabel":"string"},"success":{"type":"boolean","enum":[false],"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"valid":{"type":"boolean","enum":[false],"uniqueKey":"valid","typeLabel":"enum\u003cboolean>"},"required_scopes":{"type":"array","items":{"type":"string","uniqueKey":"required_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required_scopes","typeLabel":"string[]"},"user_scopes":{"type":"array","items":{"type":"string","uniqueKey":"user_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"user_scopes","typeLabel":"string[]"}},"required":["error","code","request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"unauthenticated","request_id":"\u003cstring>","message":"\u003cstring>","details":"\u003cstring>","error_details":"\u003cstring>","success":false,"valid":false,"required_scopes":["\u003cstring>"],"user_scopes":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"a0eb504b-4767-4d84-9aab-a6e492f25ca1":{"description":"`slack_outcome_unknown`: the change may or may not have happened; the message now needs reconciliation","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable summary. Not stable; match on `code`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["unauthenticated","invalid_token","insufficient_scope","access_denied","validation_failed","invalid_request","invalid_data","invalid_destination","invalid_search_query","not_found","template_not_found","version_not_found","organization_not_found","entity_not_found","field_not_found","user_not_found","profile_not_found","credits_not_found","insufficient_credits","overage_limit_exceeded","credit_deduction_failed","compilation_failed","no_blocks_to_send","slack_not_connected","slack_user_not_found","slack_dm_failed","slack_token_decrypt_failed","slack_api_error","already_exists","invitation_pending","idempotency_conflict","idempotency_in_progress","rate_limited","tier_limit","invalid_state","template_archived","template_in_use","template_not_activated","current_version_changed","message_not_found","not_message_sender","revision_conflict","message_not_live","mutation_in_progress","reconciliation_required","nothing_to_reconcile","text_not_editable","slack_refused","slack_outcome_unknown","expiration_in_past","expiration_in_progress","no_expiration","expiration_exceeds_maximum","maintenance","misconfigured","internal_error"],"description":"Machine-readable reason for the failure. Match on this, not on `error`. New codes may be added; existing ones are stable.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","description":"Echoed from the request's X-Request-Id header, or generated. Quote it in support requests.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"details","typeLabel":"string"},"error_details":{"type":"string","uniqueKey":"error_details","typeLabel":"string"},"success":{"type":"boolean","enum":[false],"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"valid":{"type":"boolean","enum":[false],"uniqueKey":"valid","typeLabel":"enum\u003cboolean>"},"required_scopes":{"type":"array","items":{"type":"string","uniqueKey":"required_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required_scopes","typeLabel":"string[]"},"user_scopes":{"type":"array","items":{"type":"string","uniqueKey":"user_scopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"user_scopes","typeLabel":"string[]"}},"required":["error","code","request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"unauthenticated","request_id":"\u003cstring>","message":"\u003cstring>","details":"\u003cstring>","error_details":"\u003cstring>","success":false,"valid":false,"required_scopes":["\u003cstring>"],"user_scopes":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"1eb86a0d-001a-4014-b97c-e65217791043":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"LithoBlocks API key obtained from your organization dashboard. The LithoBlocks MCP server also presents a Supabase-issued user session token here on the user's behalf; such a token acts as that user with the scopes their organization role allows.","scopes":["messages:update"],"schemeName":"bearerAuth"}}},"servers":{"7d0c3f43-b728-43e4-890f-4b5fcd8955dd":{"url":"https://api.lithoblocks.com","description":"Production (paths in this spec are rooted at /v1/...)"},"3e80eef4-e2e2-4ad0-9415-b5e2e8a59216":{"url":"http://localhost:9999","description":"Local dev (paths in this spec are rooted at /v1/...)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"LithoBlocks API key obtained from your organization dashboard. The LithoBlocks MCP server also presents a Supabase-issued user session token here on the user's behalf; such a token acts as that user with the scopes their organization role allows.","scopes":["messages:update"],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"LithoBlocks API key obtained from your organization dashboard. The LithoBlocks MCP server also presents a Supabase-issued user session token here on the user's behalf; such a token acts as that user with the scopes their organization role allows.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"lithoblocks","siteName":"LithoBlocks","title":"Set when a sent message expires - LithoBlocks","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T12:19:24.459Z","originalFileLocation":"api-reference/messages/set-when-a-sent-message-expires.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=\"Schedule the message to expire, replacing any expiry it already has. When the time comes it is replaced with a notice that it expired (or deleted), its buttons stop working, and by default LithoBlocks clears its own copies of what it said. Free. Members can expire only the messages they sent; owners and admins any.\">\u003cmeta data-mint-head name=\"application-name\" content=\"LithoBlocks\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lithoblocks/iXe-cKTkiEit2LxE/_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=\"/mintlify-assets/_mintlify/favicons/lithoblocks/iXe-cKTkiEit2LxE/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lithoblocks/iXe-cKTkiEit2LxE/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lithoblocks/iXe-cKTkiEit2LxE/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lithoblocks/iXe-cKTkiEit2LxE/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lithoblocks/iXe-cKTkiEit2LxE/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lithoblocks/iXe-cKTkiEit2LxE/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lithoblocks/iXe-cKTkiEit2LxE/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lithoblocks/iXe-cKTkiEit2LxE/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Set when a sent message expires - LithoBlocks\">\u003cmeta data-mint-head property=\"og:description\" content=\"Schedule the message to expire, replacing any expiry it already has. When the time comes it is replaced with a notice that it expired (or deleted), its buttons stop working, and by default LithoBlocks clears its own copies of what it said. Free. Members can expire only the messages they sent; owners and admins any.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"LithoBlocks\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.lithoblocks.com/api-reference/messages/set-when-a-sent-message-expires\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lithoblocks.mintlify.app/_mintlify/api/og/v2?division=Messages\u0026amp;title=Set+when+a+sent+message+expires\u0026amp;description=Schedule+the+message+to+expire%2C+replacing+any+expiry+it+already+has.+When+the+time+comes+it+is+replaced+with+a+notice+that+it+expired+%28or+deleted%29%2C+its+buttons+\u0026amp;theme=e4b95b926ded7506313bc7e6\u0026amp;signature=9c39590fe3b6992a07b138640534decc83665b807be63fa03eb07a4125b3fe72\">\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=\"Set when a sent message expires - LithoBlocks\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Schedule the message to expire, replacing any expiry it already has. When the time comes it is replaced with a notice that it expired (or deleted), its buttons stop working, and by default LithoBlocks clears its own copies of what it said. Free. Members can expire only the messages they sent; owners and admins any.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lithoblocks.mintlify.app/_mintlify/api/og/v2?division=Messages\u0026amp;title=Set+when+a+sent+message+expires\u0026amp;description=Schedule+the+message+to+expire%2C+replacing+any+expiry+it+already+has.+When+the+time+comes+it+is+replaced+with+a+notice+that+it+expired+%28or+deleted%29%2C+its+buttons+\u0026amp;theme=e4b95b926ded7506313bc7e6\u0026amp;signature=9c39590fe3b6992a07b138640534decc83665b807be63fa03eb07a4125b3fe72\">\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=\"/mintlify-assets/_mintlify/favicons/lithoblocks/iXe-cKTkiEit2LxE/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"LithoBlocks\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0891b2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.lithoblocks.com/api-reference/messages/set-when-a-sent-message-expires\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/messages/set-when-a-sent-message-expires.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.lithoblocks.com/#organization\",\"name\":\"LithoBlocks\",\"url\":\"https://docs.lithoblocks.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lithoblocks/KGZFBT_KPY8H2VP2/logo/light.png?fit=max\u0026auto=format\u0026n=KGZFBT_KPY8H2VP2\u0026q=85\u0026s=99f8cf65528bebb78dec112d77f923c9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.lithoblocks.com#website\",\"name\":\"LithoBlocks\",\"url\":\"https://docs.lithoblocks.com\",\"publisher\":{\"@id\":\"https://docs.lithoblocks.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.lithoblocks.com/api-reference/messages/set-when-a-sent-message-expires#webpage\",\"url\":\"https://docs.lithoblocks.com/api-reference/messages/set-when-a-sent-message-expires\",\"name\":\"Set when a sent message expires\",\"description\":\"Schedule the message to expire, replacing any expiry it already has. When the time comes it is replaced with a notice that it expired (or deleted), its buttons stop working, and by default LithoBlocks clears its own copies of what it said. Free. Members can expire only the messages they sent; owners and admins any.\",\"dateModified\":\"2026-10-23T12:19:24.459Z\",\"isPartOf\":{\"@id\":\"https://docs.lithoblocks.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.lithoblocks.com/api-reference/messages/set-when-a-sent-message-expires#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.lithoblocks.com/api-reference/messages/set-when-a-sent-message-expires#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API endpoints\",\"item\":\"https://docs.lithoblocks.com/api-reference/interactivity/list-destinations\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Messages\",\"item\":\"https://docs.lithoblocks.com/api-reference/messages/list-sent-messages\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Set when a sent message expires\",\"item\":\"https://docs.lithoblocks.com/api-reference/messages/set-when-a-sent-message-expires\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.lithoblocks.com/api-reference/messages/set-when-a-sent-message-expires#apireference\",\"headline\":\"Set when a sent message expires\",\"name\":\"Set when a sent message expires\",\"description\":\"Schedule the message to expire, replacing any expiry it already has. When the time comes it is replaced with a notice that it expired (or deleted), its buttons stop working, and by default LithoBlocks clears its own copies of what it said. Free. Members can expire only the messages they sent; owners and admins any.\",\"url\":\"https://docs.lithoblocks.com/api-reference/messages/set-when-a-sent-message-expires\",\"mainEntityOfPage\":{\"@id\":\"https://docs.lithoblocks.com/api-reference/messages/set-when-a-sent-message-expires#webpage\"},\"dateModified\":\"2026-10-23T12:19:24.459Z\",\"publisher\":{\"@id\":\"https://docs.lithoblocks.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.lithoblocks.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"LithoBlocks\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"LithoBlocks","nav":{"global":{"anchors":[{"anchor":"Preview dashboard","icon":"arrow-right","href":"https://next.app.lithoblocks.com"}]},"tabs":[{"tab":"Start","pages":[{"title":"Start","href":""}]},{"tab":"Build","pages":[{"title":"Build","href":"/guides/templates-blocks"}]},{"tab":"Automate","pages":[{"title":"Automate","href":"/guides/send-with-api"}]},{"tab":"Integrate","pages":[{"title":"Integrate","href":"/guides/low-code-overview"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]},{"tab":"Reference","groups":[{"group":"Contracts and permissions","pages":[{"title":"API introduction","href":"/api-reference/introduction"},{"title":"Create and manage API keys","href":"/guides/api-keys"},{"title":"Limits and validation","href":"/guides/limits"},{"title":"Webhook payload variables","href":"/guides/webhook-variables"}]},{"group":"Interactive APIs (preview)","pages":[{"title":"Interactive templates over the API","href":"/guides/interactive-templates-api"},{"title":"Manage destinations with the API","href":"/guides/destinations-api"},{"title":"Create and version modals with the API","href":"/guides/modals-api"},{"title":"Inspect interactions and track clicks","href":"/guides/interaction-history"}]},{"group":"API endpoints","pages":[{"group":"Interactivity","pages":[{"title":"List destinations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/destinations","href":"/api-reference/interactivity/list-destinations"},{"title":"Create destination","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/destinations","href":"/api-reference/interactivity/create-destination"},{"title":"Get destination","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/destinations/{id}","href":"/api-reference/interactivity/get-destination"},{"title":"Delete destination","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/destinations/{id}","href":"/api-reference/interactivity/delete-destination"},{"title":"Update destination","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/destinations/{id}","href":"/api-reference/interactivity/update-destination"},{"title":"Test destination","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/destinations/{id}/test","href":"/api-reference/interactivity/test-destination"},{"title":"List interactions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/interactions","href":"/api-reference/interactivity/list-interactions"},{"title":"Get interaction","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/interactions/{id}","href":"/api-reference/interactivity/get-interaction"},{"title":"List modal submissions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/modal-submissions","href":"/api-reference/interactivity/list-modal-submissions"},{"title":"List modals","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/modals","href":"/api-reference/interactivity/list-modals"},{"title":"Create modal","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/modals","href":"/api-reference/interactivity/create-modal"},{"title":"Validate modal","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/modals/validate","href":"/api-reference/interactivity/validate-modal"},{"title":"Get modal","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/modals/{id}","href":"/api-reference/interactivity/get-modal"},{"title":"Update modal","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/modals/{id}","href":"/api-reference/interactivity/update-modal"},{"title":"List modal versions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/modals/{id}/versions","href":"/api-reference/interactivity/list-modal-versions"},{"title":"Create modal version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/modals/{id}/versions","href":"/api-reference/interactivity/create-modal-version"},{"title":"Activate modal version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/modals/{id}/versions/{version_id}/activate","href":"/api-reference/interactivity/activate-modal-version"}]},{"group":"Templates","pages":[{"title":"What the platform accepts in a template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/templates/block-schema","href":"/api-reference/templates/what-the-platform-accepts-in-a-template"},{"title":"Validate blocks without saving","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/templates/validate","href":"/api-reference/templates/validate-blocks-without-saving"},{"title":"Get all templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/templates","href":"/api-reference/templates/get-all-templates"},{"title":"Create a template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/templates","href":"/api-reference/templates/create-a-template"},{"title":"Get a template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/templates/{id}","href":"/api-reference/templates/get-a-template"},{"title":"Update template metadata","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/templates/{id}","href":"/api-reference/templates/update-template-metadata"},{"title":"Describe a template's input","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/templates/{id}/input-schema","href":"/api-reference/templates/describe-a-templates-input"},{"title":"Describe a template's input as Make parameters","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/templates/{id}/input-schema/make","href":"/api-reference/templates/describe-a-templates-input-as-make-parameters"},{"title":"Archive a template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/templates/{id}/archive","href":"/api-reference/templates/archive-a-template"},{"title":"Unarchive a template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/templates/{id}/unarchive","href":"/api-reference/templates/unarchive-a-template"},{"title":"Compile a template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/templates/compile","href":"/api-reference/templates/compile-a-template"},{"title":"Send a template message to Slack","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/templates/send","href":"/api-reference/templates/send-a-template-message-to-slack"},{"title":"Send a template message to multiple Slack destinations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/templates/send-bulk","href":"/api-reference/templates/send-a-template-message-to-multiple-slack-destinations"}]},{"group":"Credits","pages":[{"title":"Get credit balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/credits/{organization_id}","href":"/api-reference/credits/get-credit-balance"},{"title":"Get credit logs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/credits/{organization_id}/logs","href":"/api-reference/credits/get-credit-logs"}]},{"group":"Organizations","pages":[{"title":"Get organization details","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/organizations/{id}","href":"/api-reference/organizations/get-organization-details"},{"title":"Update organization name","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/organizations/{id}","href":"/api-reference/organizations/update-organization-name"},{"title":"List organization members","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/organizations/{id}/members","href":"/api-reference/organizations/list-organization-members"},{"title":"Invite user to organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/organizations/{id}/invite","href":"/api-reference/organizations/invite-user-to-organization"}]},{"group":"Users","pages":[{"title":"Get current user profile","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/users/profile","href":"/api-reference/users/get-current-user-profile"},{"title":"Update user profile","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/users/profile","href":"/api-reference/users/update-user-profile"},{"title":"Get user by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/users/{id}","href":"/api-reference/users/get-user-by-id"},{"title":"Delete user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/users/{id}","href":"/api-reference/users/delete-user"}]},{"group":"Template Versions","pages":[{"title":"List template versions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/templates/{id}/versions","href":"/api-reference/template-versions/list-template-versions"},{"title":"Create new template version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/templates/{id}/versions","href":"/api-reference/template-versions/create-new-template-version"},{"title":"Get specific template version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/templates/{id}/versions/{version_id}","href":"/api-reference/template-versions/get-specific-template-version"},{"title":"Activate template version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/templates/{id}/versions/{version_id}/activate","href":"/api-reference/template-versions/activate-template-version"},{"title":"List template activations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/templates/{id}/activations","href":"/api-reference/template-versions/list-template-activations"}]},{"group":"Entities","pages":[{"title":"List organization entities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/organizations/{id}/entities","href":"/api-reference/entities/list-organization-entities"},{"title":"Get entity with fields","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/entities/{id}","href":"/api-reference/entities/get-entity-with-fields"},{"title":"Delete entity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/entities/{id}","href":"/api-reference/entities/delete-entity"},{"title":"Update entity metadata","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/entities/{id}","href":"/api-reference/entities/update-entity-metadata"},{"title":"Delete entity field","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/entities/{entity_id}/fields/{field_id}","href":"/api-reference/entities/delete-entity-field"},{"title":"Update entity field","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/entities/{entity_id}/fields/{field_id}","href":"/api-reference/entities/update-entity-field"}]},{"group":"Search","pages":[{"title":"Search templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/search/templates","href":"/api-reference/search/search-templates"},{"title":"Search entities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/search/entities","href":"/api-reference/search/search-entities"}]},{"group":"Authentication","pages":[{"title":"Validate authentication token","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/auth/validate","href":"/api-reference/authentication/validate-authentication-token"}]},{"group":"Queues","pages":[{"title":"List queues","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/queues","href":"/api-reference/queues/list-queues"},{"title":"Create a queue","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/queues","href":"/api-reference/queues/create-a-queue"},{"title":"List queue and scheduled-message executions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/queue-executions","href":"/api-reference/queues/list-queue-and-scheduled-message-executions"},{"title":"Get a queue","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/queues/{id}","href":"/api-reference/queues/get-a-queue"},{"title":"Delete a queue","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/queues/{id}","href":"/api-reference/queues/delete-a-queue"},{"title":"Update a queue","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/queues/{id}","href":"/api-reference/queues/update-a-queue"},{"title":"List a queue's events","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/queues/{id}/events","href":"/api-reference/queues/list-a-queues-events"},{"title":"Push events to a queue","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/queues/{id}/events","href":"/api-reference/queues/push-events-to-a-queue"},{"title":"Send the open batch now","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/queues/{id}/flush","href":"/api-reference/queues/send-the-open-batch-now"},{"title":"Preview the open batch's aggregated data","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/queues/{id}/preview","href":"/api-reference/queues/preview-the-open-batchs-aggregated-data"},{"title":"Drop pending events","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/queues/{id}/drop-pending","href":"/api-reference/queues/drop-pending-events"},{"title":"List a queue's batches","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/queues/{id}/batches","href":"/api-reference/queues/list-a-queues-batches"}]},{"group":"Scheduled messages","pages":[{"title":"List scheduled messages","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/scheduled-messages","href":"/api-reference/scheduled-messages/list-scheduled-messages"},{"title":"Schedule a message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/scheduled-messages","href":"/api-reference/scheduled-messages/schedule-a-message"},{"title":"Get a scheduled message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/scheduled-messages/{id}","href":"/api-reference/scheduled-messages/get-a-scheduled-message"},{"title":"Cancel a scheduled message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/scheduled-messages/{id}","href":"/api-reference/scheduled-messages/cancel-a-scheduled-message"},{"title":"Reschedule or edit a scheduled message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/scheduled-messages/{id}","href":"/api-reference/scheduled-messages/reschedule-or-edit-a-scheduled-message"},{"title":"Send a scheduled message now","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/scheduled-messages/{id}/send-now","href":"/api-reference/scheduled-messages/send-a-scheduled-message-now"}]},{"group":"Messages","pages":[{"title":"List sent messages","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/messages","href":"/api-reference/messages/list-sent-messages"},{"title":"Get a sent message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/messages/{id}","href":"/api-reference/messages/get-a-sent-message"},{"title":"Delete a sent message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/messages/{id}","href":"/api-reference/messages/delete-a-sent-message"},{"title":"Correct a sent message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/messages/{id}","href":"/api-reference/messages/correct-a-sent-message"},{"title":"List a sent message's change history","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/messages/{id}/events","href":"/api-reference/messages/list-a-sent-messages-change-history"},{"title":"Resolve a change whose outcome was lost","description":"When Slack's answer to a change was lost (`change_state: needs_reconciliation`), look at the message in Slack and say whether the change happened. Until then the message cannot change again. LithoBlocks cannot read messages back from Slack, so it never guesses.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/messages/{id}/reconcile","href":"/api-reference/messages/resolve-a-change-whose-outcome-was-lost"},{"title":"Set when a sent message expires","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/messages/{id}/expiration","href":"/api-reference/messages/set-when-a-sent-message-expires"},{"title":"Cancel a sent message's expiry","description":"The message stays in Slack as it is. Refused once the expiry is under way.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/messages/{id}/expiration","href":"/api-reference/messages/cancel-a-sent-messages-expiry"},{"title":"Expire a sent message now","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/messages/{id}/expire","href":"/api-reference/messages/expire-a-sent-message-now"},{"title":"Expire every message with a reference","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/messages/expire","href":"/api-reference/messages/expire-every-message-with-a-reference"}]}]}]},{"tab":"Operate","pages":[{"title":"Operate","href":"/guides/logs"}]}]},"title":"Set when a sent message expires - LithoBlocks","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-B-Glu166.js","dist-zbf22OZA.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-Cs6nMGht.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js","Markdown-Cc16CX65.js","AssistantPageLink-C_fs-y5n.js"]}