Applies partial changes to the notification settings of the install’s backing app.
Entries in notifications are per-setting deltas: an entry without an id adds a new
setting (label and surfaces required; the id is generated), an entry with only an id
deletes that setting, and an entry with an id plus fields updates the provided fields
of that setting. Settings not referenced are left unchanged; an id that matches no
setting fails with 400. actionLabel, when present, replaces the app’s action label —
send an empty object to clear it. Fails with 404 until the app’s settings are created
via POST or the App Setup page. Requests authenticated with an app API key may only
manage the calling app’s own installs — for a published marketplace app this changes the
app’s settings in every workspace it is installed in. Requests authenticated with a
regular API key require workspace admin privileges.
Notifications is a list of per-setting deltas: an entry without an id adds a new setting, an
entry with an id and no other fields deletes that setting, and an entry with an id plus
fields updates the provided fields of that setting.
Notifications is every notification setting the app exposes for this install. Empty when the
install's backing app declares no settings. A setting's id is the value to pass as
notificationSettingId when creating a notification via POST /v1/notifications. If the
recipient's preferences disable every requested delivery target for a setting, that POST
creates nothing and returns 202.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Assembly","colors":{"primary":"#1A1A1A","light":"#FFFFFF","dark":"#1A1A1A"},"logo":{"light":"https://mintcdn.com/assembly-ff8b9417/KKAb23PoqSLUWjAx/logo/light.svg?fit=max\u0026auto=format\u0026n=KKAb23PoqSLUWjAx\u0026q=85\u0026s=63a60c80648df2ed14efe9e0b9b05eca","dark":"https://mintcdn.com/assembly-ff8b9417/KKAb23PoqSLUWjAx/logo/dark.svg?fit=max\u0026auto=format\u0026n=KKAb23PoqSLUWjAx\u0026q=85\u0026s=abf6940b173a7c0880a96d4b6095472b"},"favicon":"https://mintcdn.com/assembly-ff8b9417/mf21cz8yWkRVUxBm/favicon.svg?fit=max\u0026auto=format\u0026n=mf21cz8yWkRVUxBm\u0026q=85\u0026s=4083e1ddcc384f1f9677aa7b91b9ae57","navbar":{"links":[{"href":"https://assembly.com/pricing","label":"Pricing"},{"href":"mailto:support@assembly.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.assembly.com"}},"footer":{"socials":{"x":"https://x.com/assemblycom","github":"https://github.com/assemblycom","linkedin":"https://linkedin.com/company/assemblycom"}},"seo":{"metatags":{"og:image":"https://studio.assembly.com/docs/images/og-card.png","twitter:image":"https://studio.assembly.com/docs/images/og-card.png","twitter:card":"summary_large_image"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"assembly-ff8b9417","hasAudioNarration":false,"actualSubdomain":"assembly-ff8b9417","customDomains":["assembly.com"],"gitSource":{"type":"github","owner":"assemblycom","repo":"core","deployBranch":"main","contentDirectory":"mintlify","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"}},"buildId":"6af4cfaf302634a038f12c98","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Guides","count":140},{"language":"default","tag":"API reference","count":110},{"language":"default","tag":"Apps","count":48},{"language":"default","tag":"Embeds \u0026 links","count":35},{"language":"default","tag":"Others","count":19},{"language":"default","tag":"Core Resources","count":19},{"language":"default","tag":"Files","count":19},{"language":"default","tag":"Billing","count":18},{"language":"default","tag":"Core concepts","count":17},{"language":"default","tag":"Tasks","count":15}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#navbar .rounded-xl{border-radius:0.5rem}.sidebar-group a,.sidebar-group button{border-radius:0.5rem}.rounded-\\[0\\.85rem\\]{border-radius:0.5rem}.card svg.size-6{width:1.25rem;height:1.25rem}#page-context-menu .rounded-l-xl{border-radius:0.5rem 0 0 0.5rem}#page-context-menu .rounded-r-xl{border-radius:0 0.5rem 0.5rem 0}div[class*=\"origin-(--transform-origin)\"]{border-radius:0.5rem}div[class*=\"origin-(--transform-origin)\"] [class*=\"rounded-xl\"]{border-radius:0.5rem}[class*=\"text-[0.55rem]\"]{border-radius:0.5rem}"}],"page":{"pagePath":"api-reference/installs/update-an-app-installs-notification-settings","slug":"/api-reference/installs/update-an-app-installs-notification-settings","pageMetadata":{"title":"Update an app install's notification settings","description":"Applies partial changes to the notification settings of the install's backing app.\nEntries in `notifications` are per-setting deltas: an entry without an `id` adds a new\nsetting (label and surfaces required; the id is generated), an entry with only an `id`\ndeletes that setting, and an entry with an `id` plus fields updates the provided fields\nof that setting. Settings not referenced are left unchanged; an id that matches no\nsetting fails with 400. `actionLabel`, when present, replaces the app's action label —\nsend an empty object to clear it. Fails with 404 until the app's settings are created\nvia POST or the App Setup page. Requests authenticated with an app API key may only\nmanage the calling app's own installs — for a published marketplace app this changes the\napp's settings in every workspace it is installed in. Requests authenticated with a\nregular API key require workspace admin privileges.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/installs/{installId}/notification-settings","href":"/api-reference/installs/update-an-app-installs-notification-settings","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Applies partial changes to the notification settings of the install’s backing app.\\nEntries in \", _jsx(_components.code, {\n children: \"notifications\"\n }), \" are per-setting deltas: an entry without an \", _jsx(_components.code, {\n children: \"id\"\n }), \" adds a new\\nsetting (label and surfaces required; the id is generated), an entry with only an \", _jsx(_components.code, {\n children: \"id\"\n }), \"\\ndeletes that setting, and an entry with an \", _jsx(_components.code, {\n children: \"id\"\n }), \" plus fields updates the provided fields\\nof that setting. Settings not referenced are left unchanged; an id that matches no\\nsetting fails with 400. \", _jsx(_components.code, {\n children: \"actionLabel\"\n }), \", when present, replaces the app’s action label —\\nsend an empty object to clear it. Fails with 404 until the app’s settings are created\\nvia POST or the App Setup page. Requests authenticated with an app API key may only\\nmanage the calling app’s own installs — for a published marketplace app this changes the\\napp’s settings in every workspace it is installed in. Requests authenticated with a\\nregular API key require workspace admin privileges.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Update an app install's notification settings","description":"Applies partial changes to the notification settings of the install's backing app.\nEntries in `notifications` are per-setting deltas: an entry without an `id` adds a new\nsetting (label and surfaces required; the id is generated), an entry with only an `id`\ndeletes that setting, and an entry with an `id` plus fields updates the provided fields\nof that setting. Settings not referenced are left unchanged; an id that matches no\nsetting fails with 400. `actionLabel`, when present, replaces the app's action label —\nsend an empty object to clear it. Fails with 404 until the app's settings are created\nvia POST or the App Setup page. Requests authenticated with an app API key may only\nmanage the calling app's own installs — for a published marketplace app this changes the\napp's settings in every workspace it is installed in. Requests authenticated with a\nregular API key require workspace admin privileges.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/installs/{installId}/notification-settings","href":"/api-reference/installs/update-an-app-installs-notification-settings","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Applies partial changes to the notification settings of the install's backing app.\nEntries in `notifications` are per-setting deltas: an entry without an `id` adds a new\nsetting (label and surfaces required; the id is generated), an entry with only an `id`\ndeletes that setting, and an entry with an `id` plus fields updates the provided fields\nof that setting. Settings not referenced are left unchanged; an id that matches no\nsetting fails with 400. `actionLabel`, when present, replaces the app's action label —\nsend an empty object to clear it. Fails with 404 until the app's settings are created\nvia POST or the App Setup page. Requests authenticated with an app API key may only\nmanage the calling app's own installs — for a published marketplace app this changes the\napp's settings in every workspace it is installed in. Requests authenticated with a\nregular API key require workspace admin privileges.","operationId":"update-install-notification-settings","parameters":["f0a0790a-37c4-4ee3-b0e1-c28555258330"],"requestBody":"9f3d8818-ce17-4dcb-b2e1-c61ad11b1729","responses":{"200":"5f021e83-3134-4e8c-aa19-41609900554a","400":"61338925-6170-4b10-ba74-9345e402833e","401":"a8052caf-c31e-4ffd-ba26-be0fc4f4e3b2","404":"e23e69c8-ada3-40bd-941c-8168709c3c6e","500":"2cd9d160-93bb-4b7c-b51d-deef79f9fc57"},"security":["bd55dd75-c08c-4645-b834-7d8ef1879bfe"],"summary":"Update an app install's notification settings","tags":["Installs"],"method":"patch","type":"path","servers":["e68704e8-5790-46f6-9ecc-6c6aadfdb6e7"],"path":"/v1/installs/{installId}/notification-settings","baseUrlOptions":["https://api.assembly.com"],"title":"Update an app install's notification settings","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"f0a0790a-37c4-4ee3-b0e1-c28555258330":{"description":"Unique identifier of the app install","in":"path","name":"installId","required":true,"schema":{"type":"string","isRequired":true,"description":"Unique identifier of the app install","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"properties":{"actionLabel":{"type":"object","description":"ActionLabel, when present, replaces the app's action label. Send an empty object to clear\nit; omit the field to leave it unchanged.","properties":{"pluralNoun":{"example":"invoices","type":"string","uniqueKey":"actionLabel.pluralNoun","typeLabel":"string"},"singularNoun":{"example":"invoice","type":"string","uniqueKey":"actionLabel.singularNoun","typeLabel":"string"},"verb":{"example":"review","type":"string","uniqueKey":"actionLabel.verb","typeLabel":"string"}},"uniqueKey":"actionLabel","typeLabel":"object"},"notifications":{"description":"Notifications is a list of per-setting deltas: an entry without an id adds a new setting, an\nentry with an id and no other fields deletes that setting, and an entry with an id plus\nfields updates the provided fields of that setting.","items":{"properties":{"default":{"type":"object","description":"Default, when present, replaces the setting's per-internal-user default delivery state.","properties":{"email":{"description":"Email is true when the email channel starts enabled for internal users.","example":false,"type":"boolean","uniqueKey":"notifications.items.[INDEX].default.email","typeLabel":"boolean"},"product":{"description":"Product is true when the in-product channel starts enabled for internal users.","example":true,"type":"boolean","uniqueKey":"notifications.items.[INDEX].default.product","typeLabel":"boolean"}},"uniqueKey":"notifications.items.[INDEX].default","typeLabel":"object"},"id":{"description":"ID targets an existing setting to update or delete. Leave it empty to add a new setting —\nnew settings are always assigned a generated id.","example":"invoice-paid","type":"string","uniqueKey":"notifications.items.[INDEX].id","typeLabel":"string"},"label":{"description":"Label, when present, replaces the setting's label. Required when adding a setting.","example":"Invoice paid","maxLength":100,"type":"string","uniqueKey":"notifications.items.[INDEX].label","typeLabel":"string"},"surfaces":{"description":"Surfaces, when present, replaces the setting's delivery channels. Required when adding a\nsetting.","example":["product","email"],"items":{"enum":["product","email"],"type":"string","uniqueKey":"notifications.items.[INDEX].surfaces.items.[INDEX]","typeLabel":"enum\u003cstring>"},"minItems":1,"type":"array","uniqueKey":"notifications.items.[INDEX].surfaces","typeLabel":"enum\u003cstring>[]"}},"type":"object","uniqueKey":"notifications.items.[INDEX]","typeLabel":"object"},"maxItems":50,"type":"array","uniqueKey":"notifications","typeLabel":"object[]"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"actionLabel":{"pluralNoun":"invoices","singularNoun":"invoice","verb":"review"},"notifications":[{"default":{"email":false,"product":true},"id":"invoice-paid","label":"Invoice paid","surfaces":["product","email"]}]}}},"exampleType":"generated"}},"description":"Notification setting deltas to apply","required":true,"exampleType":"generated"},"responses":{"5f021e83-3134-4e8c-aa19-41609900554a":{"content":{"application/json":{"schema":{"properties":{"actionLabel":{"type":"object","description":"ActionLabel is the app's generic \"[verb] [count] [noun]\" label, present only when declared.","properties":{"pluralNoun":{"example":"invoices","type":"string","uniqueKey":"actionLabel.pluralNoun","typeLabel":"string"},"singularNoun":{"example":"invoice","type":"string","uniqueKey":"actionLabel.singularNoun","typeLabel":"string"},"verb":{"example":"review","type":"string","uniqueKey":"actionLabel.verb","typeLabel":"string"}},"uniqueKey":"actionLabel","typeLabel":"object"},"notifications":{"description":"Notifications is every notification setting the app exposes for this install. Empty when the\ninstall's backing app declares no settings. A setting's `id` is the value to pass as\n`notificationSettingId` when creating a notification via POST /v1/notifications. If the\nrecipient's preferences disable every requested delivery target for a setting, that POST\ncreates nothing and returns 202.","items":{"properties":{"default":{"type":"object","description":"Default is the per-internal-user default delivery state for each surface.","properties":{"email":{"description":"Email is true when the email channel starts enabled for internal users.","example":false,"type":"boolean","uniqueKey":"notifications.items.[INDEX].default.email","typeLabel":"boolean"},"product":{"description":"Product is true when the in-product channel starts enabled for internal users.","example":true,"type":"boolean","uniqueKey":"notifications.items.[INDEX].default.product","typeLabel":"boolean"}},"uniqueKey":"notifications.items.[INDEX].default","typeLabel":"object"},"id":{"description":"ID is the stable identifier to pass as `notificationSettingId` when creating a notification.","example":"invoice-paid","type":"string","uniqueKey":"notifications.items.[INDEX].id","typeLabel":"string"},"label":{"description":"Label is the human-readable name shown to internal users.","example":"Invoice paid","type":"string","uniqueKey":"notifications.items.[INDEX].label","typeLabel":"string"},"surfaces":{"description":"Surfaces are the delivery channels this setting supports.","example":["product","email"],"items":{"enum":["product","email"],"type":"string","uniqueKey":"notifications.items.[INDEX].surfaces.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","uniqueKey":"notifications.items.[INDEX].surfaces","typeLabel":"enum\u003cstring>[]"}},"type":"object","uniqueKey":"notifications.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"notifications","typeLabel":"object[]"},"object":{"example":"notificationSettings","type":"string","uniqueKey":"object","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"actionLabel":{"pluralNoun":"invoices","singularNoun":"invoice","verb":"review"},"notifications":[{"default":{"email":false,"product":true},"id":"invoice-paid","label":"Invoice paid","surfaces":["product","email"]}],"object":"notificationSettings"}}},"exampleType":"generated"}},"description":"OK","exampleType":"generated"},"61338925-6170-4b10-ba74-9345e402833e":{"content":{"application/json":{"schema":{"properties":{"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"data":{"oneOf":[{}],"uniqueKey":"data","typeLabel":"any"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","data":"\u003cunknown>","message":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Invalid body, unknown or duplicate setting ids, or the install has no backing app","exampleType":"generated"},"a8052caf-c31e-4ffd-ba26-be0fc4f4e3b2":{"content":{"application/json":{"schema":{"properties":{"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"data":{"oneOf":[{}],"uniqueKey":"data","typeLabel":"any"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","data":"\u003cunknown>","message":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Missing or invalid API key, app key targeting another app's install, or caller lacks admin privileges","exampleType":"generated"},"e23e69c8-ada3-40bd-941c-8168709c3c6e":{"content":{"application/json":{"schema":{"properties":{"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"data":{"oneOf":[{}],"uniqueKey":"data","typeLabel":"any"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","data":"\u003cunknown>","message":"\u003cstring>"}}},"exampleType":"generated"}},"description":"App install not found, or the app has no notification settings yet","exampleType":"generated"},"2cd9d160-93bb-4b7c-b51d-deef79f9fc57":{"content":{"application/json":{"schema":{"properties":{"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"data":{"oneOf":[{}],"uniqueKey":"data","typeLabel":"any"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","data":"\u003cunknown>","message":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Unexpected server error","exampleType":"generated"}},"security":{"bd55dd75-c08c-4645-b834-7d8ef1879bfe":{"APIKeyHeader":{"in":"header","name":"X-API-KEY","type":"apiKey","scopes":[],"schemeName":"APIKeyHeader"}}},"servers":{"e68704e8-5790-46f6-9ecc-6c6aadfdb6e7":{"url":"https://api.assembly.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"in":"header","name":"X-API-KEY","type":"apiKey","scopes":[],"schemeName":"APIKeyHeader"},"schema":{"title":"X-API-KEY","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"APIKeyHeader","name":"X-API-KEY"}],"title":"APIKeyHeader"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"assembly-ff8b9417","siteName":"Assembly","title":"Update an app install's notification settings - Assembly","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T20:27:37.683Z","originalFileLocation":"api-reference/installs/update-an-app-installs-notification-settings.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=\"Applies partial changes to the notification settings of the install\u0026#x27;s backing app. Entries in notifications are per-setting deltas: an entry without an id adds a new setting (label and surfaces required; the id is generated), an entry with only an id deletes that setting, and an entry with an id plus fields updates the provided fields of that setting. Settings not referenced are left unchanged; an id that matches no setting fails with 400. actionLabel, when present, replaces the app\u0026#x27;s action label — send an empty object to clear it. Fails with 404 until the app\u0026#x27;s settings are created via POST or the App Setup page. Requests authenticated with an app API key may only manage the calling app\u0026#x27;s own installs — for a published marketplace app this changes the app\u0026#x27;s settings in every workspace it is installed in. Requests authenticated with a regular API key require workspace admin privileges.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Assembly\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/assembly-ff8b9417/5pY6iQotLUCCTDOg/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/assembly-ff8b9417/5pY6iQotLUCCTDOg/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/assembly-ff8b9417/5pY6iQotLUCCTDOg/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/assembly-ff8b9417/5pY6iQotLUCCTDOg/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/assembly-ff8b9417/5pY6iQotLUCCTDOg/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/assembly-ff8b9417/5pY6iQotLUCCTDOg/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/assembly-ff8b9417/5pY6iQotLUCCTDOg/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/assembly-ff8b9417/5pY6iQotLUCCTDOg/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/assembly-ff8b9417/5pY6iQotLUCCTDOg/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update an app install\u0026#x27;s notification settings - Assembly\">\u003cmeta data-mint-head property=\"og:description\" content=\"Applies partial changes to the notification settings of the install\u0026#x27;s backing app. Entries in notifications are per-setting deltas: an entry without an id adds a new setting (label and surfaces required; the id is generated), an entry with only an id deletes that setting, and an entry with an id plus fields updates the provided fields of that setting. Settings not referenced are left unchanged; an id that matches no setting fails with 400. actionLabel, when present, replaces the app\u0026#x27;s action label — send an empty object to clear it. Fails with 404 until the app\u0026#x27;s settings are created via POST or the App Setup page. Requests authenticated with an app API key may only manage the calling app\u0026#x27;s own installs — for a published marketplace app this changes the app\u0026#x27;s settings in every workspace it is installed in. Requests authenticated with a regular API key require workspace admin privileges.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Assembly\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://assembly.com/docs/api-reference/installs/update-an-app-installs-notification-settings\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://studio.assembly.com/docs/images/og-card.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Update an app install\u0026#x27;s notification settings - Assembly\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Applies partial changes to the notification settings of the install\u0026#x27;s backing app. Entries in notifications are per-setting deltas: an entry without an id adds a new setting (label and surfaces required; the id is generated), an entry with only an id deletes that setting, and an entry with an id plus fields updates the provided fields of that setting. Settings not referenced are left unchanged; an id that matches no setting fails with 400. actionLabel, when present, replaces the app\u0026#x27;s action label — send an empty object to clear it. Fails with 404 until the app\u0026#x27;s settings are created via POST or the App Setup page. Requests authenticated with an app API key may only manage the calling app\u0026#x27;s own installs — for a published marketplace app this changes the app\u0026#x27;s settings in every workspace it is installed in. Requests authenticated with a regular API key require workspace admin privileges.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://studio.assembly.com/docs/images/og-card.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/assembly-ff8b9417/5pY6iQotLUCCTDOg/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Assembly\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1A1A1A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://assembly.com/docs/api-reference/installs/update-an-app-installs-notification-settings\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/installs/update-an-app-installs-notification-settings.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://assembly.com/#organization\",\"name\":\"Assembly\",\"url\":\"https://assembly.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/assembly-ff8b9417/KKAb23PoqSLUWjAx/logo/light.svg?fit=max\u0026auto=format\u0026n=KKAb23PoqSLUWjAx\u0026q=85\u0026s=63a60c80648df2ed14efe9e0b9b05eca\"}},{\"@type\":\"WebSite\",\"@id\":\"https://assembly.com/docs#website\",\"name\":\"Assembly\",\"url\":\"https://assembly.com/docs\",\"publisher\":{\"@id\":\"https://assembly.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://assembly.com/docs/api-reference/installs/update-an-app-installs-notification-settings#webpage\",\"url\":\"https://assembly.com/docs/api-reference/installs/update-an-app-installs-notification-settings\",\"name\":\"Update an app install's notification settings\",\"description\":\"Applies partial changes to the notification settings of the install's backing app. Entries in notifications are per-setting deltas: an entry without an id adds a new setting (label and surfaces required; the id is generated), an entry with only an id deletes that setting, and an entry with an id plus fields updates the provided fields of that setting. Settings not referenced are left unchanged; an id that matches no setting fails with 400. actionLabel, when present, replaces the app's action label — send an empty object to clear it. Fails with 404 until the app's settings are created via POST or the App Setup page. Requests authenticated with an app API key may only manage the calling app's own installs — for a published marketplace app this changes the app's settings in every workspace it is installed in. Requests authenticated with a regular API key require workspace admin privileges.\",\"dateModified\":\"2026-11-11T20:27:37.683Z\",\"isPartOf\":{\"@id\":\"https://assembly.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://assembly.com/docs/api-reference/installs/update-an-app-installs-notification-settings#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://assembly.com/docs/api-reference/installs/update-an-app-installs-notification-settings#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Others\",\"item\":\"https://assembly.com/docs/api-reference/apps/list-callable-apps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"App Installs\",\"item\":\"https://assembly.com/docs/api-reference/resources/app-installs\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update an app install's notification settings\",\"item\":\"https://assembly.com/docs/api-reference/installs/update-an-app-installs-notification-settings\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://assembly.com/docs/api-reference/installs/update-an-app-installs-notification-settings#apireference\",\"headline\":\"Update an app install's notification settings\",\"name\":\"Update an app install's notification settings\",\"description\":\"Applies partial changes to the notification settings of the install's backing app. Entries in notifications are per-setting deltas: an entry without an id adds a new setting (label and surfaces required; the id is generated), an entry with only an id deletes that setting, and an entry with an id plus fields updates the provided fields of that setting. Settings not referenced are left unchanged; an id that matches no setting fails with 400. actionLabel, when present, replaces the app's action label — send an empty object to clear it. Fails with 404 until the app's settings are created via POST or the App Setup page. Requests authenticated with an app API key may only manage the calling app's own installs — for a published marketplace app this changes the app's settings in every workspace it is installed in. Requests authenticated with a regular API key require workspace admin privileges.\",\"url\":\"https://assembly.com/docs/api-reference/installs/update-an-app-installs-notification-settings\",\"mainEntityOfPage\":{\"@id\":\"https://assembly.com/docs/api-reference/installs/update-an-app-installs-notification-settings#webpage\"},\"image\":\"https://studio.assembly.com/docs/images/og-card.png\",\"dateModified\":\"2026-11-11T20:27:37.683Z\",\"publisher\":{\"@id\":\"https://assembly.com/#organization\"},\"isPartOf\":{\"@id\":\"https://assembly.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Assembly\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Assembly\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/api-reference/installs/update-an-app-installs-notification-settings.md","siteName":"Assembly","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/getting-started/welcome"}]},{"tab":"API reference","groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Pagination","href":"/api-reference/pagination"},{"title":"Rate limits and usage","href":"/api-reference/rate-limits"},{"title":"Errors","href":"/api-reference/errors"}]},{"group":"Webhooks","pages":[{"title":"Overview","href":"/api-reference/webhooks/overview"},{"title":"Events","href":"/api-reference/webhooks/events"}]},{"group":"Core Resources","pages":[{"group":"Clients","root":{"title":"Clients","href":"/api-reference/resources/clients"},"pages":[{"title":"Create a client","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/clients","href":"/api-reference/clients/create-a-client"},{"title":"List clients","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/clients","href":"/api-reference/clients/list-clients"},{"title":"Retrieve a client","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/clients/{id}","href":"/api-reference/clients/retrieve-a-client"},{"title":"Update a client","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/clients/{id}","href":"/api-reference/clients/update-a-client"},{"title":"Delete a client","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/clients/{id}","href":"/api-reference/clients/delete-a-client"},{"title":"Retrieve a client with app visibility","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/clients/{id}/app-visibility","href":"/api-reference/clients/retrieve-a-client-with-app-visibility"}]},{"group":"Companies","root":{"title":"Companies","href":"/api-reference/resources/companies"},"pages":[{"title":"Create a company","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/companies","href":"/api-reference/companies/create-a-company"},{"title":"List companies","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/companies","href":"/api-reference/companies/list-companies"},{"title":"Retrieve a company","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/companies/{id}","href":"/api-reference/companies/retrieve-a-company"},{"title":"Update a company","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/companies/{id}","href":"/api-reference/companies/update-a-company"},{"title":"Delete a company","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/companies/{id}","href":"/api-reference/companies/delete-a-company"},{"title":"Add clients to a company","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/companies/{id}/clients","href":"/api-reference/companies/add-clients-to-a-company"}]},{"group":"Internal Users","root":{"title":"Internal Users","href":"/api-reference/resources/internal-users"},"pages":[{"title":"Get an internal user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/internal-users/{id}","href":"/api-reference/internal-users/get-an-internal-user"},{"title":"Invite an internal user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/internal-users","href":"/api-reference/internal-users/invite-an-internal-user"},{"title":"Update an internal user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/internal-users/{id}","href":"/api-reference/internal-users/update-an-internal-user"},{"title":"List internal users","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/internal-users","href":"/api-reference/internal-users/list-internal-users"},{"title":"Get an internal user's notification settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/internal-users/{id}/notification-settings","href":"/api-reference/internal-users/get-an-internal-users-notification-settings"}]},{"group":"Workspaces","root":{"title":"Workspaces","href":"/api-reference/resources/workspaces"},"pages":[{"title":"Retrieve the workspace","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workspaces","href":"/api-reference/workspaces/retrieve-the-workspace"}]},{"group":"Me","pages":[{"title":"Retrieve the current user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/me","href":"/api-reference/me/retrieve-the-current-user"}]}]},{"group":"CRM","pages":[{"group":"Custom Fields","root":{"title":"Custom Fields","href":"/api-reference/resources/custom-fields"},"pages":[{"title":"List custom fields","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/custom-fields","href":"/api-reference/custom-fields/list-custom-fields"},{"title":"Create custom fields","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/custom-fields","href":"/api-reference/custom-fields/create-custom-fields"},{"title":"Update a custom field","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/custom-fields/{id}","href":"/api-reference/custom-fields/update-a-custom-field"},{"title":"Delete a custom field","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/custom-fields/{id}","href":"/api-reference/custom-fields/delete-a-custom-field"}]},{"group":"Custom Field Options","root":{"title":"Custom Field Options","href":"/api-reference/resources/custom-field-options"},"pages":[{"title":"List custom field options","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/custom-fields/{id}/options","href":"/api-reference/custom-fields/list-custom-field-options"}]},{"group":"Notes","root":{"title":"Notes","href":"/api-reference/resources/notes"},"pages":[{"title":"Create a note","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/notes","href":"/api-reference/notes/create-a-note"},{"title":"List notes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/notes","href":"/api-reference/notes/list-notes"},{"title":"Update a note","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/notes/{id}","href":"/api-reference/notes/update-a-note"},{"title":"Retrieve a note","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/notes/{id}","href":"/api-reference/notes/retrieve-a-note"},{"title":"Delete a note","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/notes/{id}","href":"/api-reference/notes/delete-a-note"}]}]},{"group":"Messaging","pages":[{"group":"Message Channels","root":{"title":"Message Channels","href":"/api-reference/resources/message-channels"},"pages":[{"title":"Create Message Channel","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/message-channels","href":"/api-reference/message-channels/create-message-channel"},{"title":"Get a list of Message Channels","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/message-channels","href":"/api-reference/message-channels/get-a-list-of-message-channels"},{"title":"Get Message Channel by id","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/message-channels/{id}","href":"/api-reference/message-channels/get-message-channel-by-id"},{"title":"Get unread message channels for a user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/message-channels/unread","href":"/api-reference/message-channels/get-unread-message-channels-for-a-user"}]},{"group":"Messages","root":{"title":"Messages","href":"/api-reference/resources/messages"},"pages":[{"title":"Send a message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/messages","href":"/api-reference/messages/send-a-message"},{"title":"List messages","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/messages","href":"/api-reference/messages/list-messages"}]}]},{"group":"Billing","pages":[{"group":"Invoices","root":{"title":"Invoices","href":"/api-reference/resources/invoices"},"pages":[{"title":"Retrieve an invoice","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/invoices/{id}","href":"/api-reference/invoices/retrieve-an-invoice"},{"title":"List invoices","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/invoices","href":"/api-reference/invoices/list-invoices"},{"title":"Create an invoice","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/invoices","href":"/api-reference/invoices/create-an-invoice"}]},{"group":"Invoice Templates","root":{"title":"Invoice Templates","href":"/api-reference/resources/invoice-templates"},"pages":[{"title":"List invoice templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/invoice-templates","href":"/api-reference/invoice-templates/list-invoice-templates"}]},{"group":"Payments","root":{"title":"Payments","href":"/api-reference/resources/payments"},"pages":[{"title":"List payments","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/payments","href":"/api-reference/payments/list-payments"}]},{"group":"Prices","root":{"title":"Prices","href":"/api-reference/resources/prices"},"pages":[{"title":"List prices","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/prices","href":"/api-reference/prices/list-prices"},{"title":"Create a price","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/prices","href":"/api-reference/prices/create-a-price"},{"title":"Retrieve a price","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/prices/{id}","href":"/api-reference/prices/retrieve-a-price"}]},{"group":"Products","root":{"title":"Products","href":"/api-reference/resources/products"},"pages":[{"title":"List products","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/products","href":"/api-reference/products/list-products"},{"title":"Create a product","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/products","href":"/api-reference/products/create-a-product"},{"title":"Get a product by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/products/{id}","href":"/api-reference/products/get-a-product-by-id"}]},{"group":"Subscriptions","root":{"title":"Subscriptions","href":"/api-reference/resources/subscriptions"},"pages":[{"title":"Create a subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/subscriptions","href":"/api-reference/subscriptions/create-a-subscription"},{"title":"List subscriptions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/subscriptions","href":"/api-reference/subscriptions/list-subscriptions"},{"title":"Retrieve a subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/subscriptions/{id}","href":"/api-reference/subscriptions/retrieve-a-subscription"},{"title":"Cancel a subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/subscriptions/{id}/cancel","href":"/api-reference/subscriptions/cancel-a-subscription"}]},{"group":"Subscription Templates","root":{"title":"Subscription Templates","href":"/api-reference/resources/subscription-templates"},"pages":[{"title":"List subscription templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/subscription-templates","href":"/api-reference/subscription-templates/list-subscription-templates"}]},{"group":"Refunds","pages":[{"title":"List refunds","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/refunds","href":"/api-reference/refunds/list-refunds"},{"title":"Create a refund","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/refunds","href":"/api-reference/refunds/create-a-refund"}]}]},{"group":"Files","pages":[{"group":"Files","root":{"title":"Files","href":"/api-reference/resources/files"},"pages":[{"title":"Create a File","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/files/{fileType}","href":"/api-reference/files/create-a-file"},{"title":"Get a File's metadata","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/files/{id}","href":"/api-reference/files/get-a-files-metadata"},{"title":"Delete a File","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/files/{id}","href":"/api-reference/files/delete-a-file"},{"title":"Get a File's download url","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/files/{id}/download-url","href":"/api-reference/files/get-a-files-download-url"},{"title":"Get a File's contents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/files/{id}/download","href":"/api-reference/files/get-a-files-contents"},{"title":"List files within a file channel","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/files","href":"/api-reference/files/list-files-within-a-file-channel"},{"title":"Update Folder Permissions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/files/{id}/permissions/","href":"/api-reference/files/update-folder-permissions"},{"title":"Update Root Folder Permissions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/files/root/permissions","href":"/api-reference/files/update-root-folder-permissions"}]},{"group":"File Channels","root":{"title":"File Channels","href":"/api-reference/resources/file-channels"},"pages":[{"title":"Create File Channel","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/channels/files","href":"/api-reference/file-channels/create-file-channel"},{"title":"List File Channels","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/channels/files","href":"/api-reference/file-channels/list-file-channels"},{"title":"Get File Channel by id","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/channels/files/{id}","href":"/api-reference/file-channels/get-file-channel-by-id"}]}]},{"group":"Contracts","pages":[{"group":"Contracts","root":{"title":"Contracts","href":"/api-reference/resources/contracts"},"pages":[{"title":"Send Contract","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/contracts","href":"/api-reference/contracts/send-contract"},{"title":"List contracts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contracts","href":"/api-reference/contracts/list-contracts"},{"title":"Get Contract","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contracts/{id}","href":"/api-reference/contracts/get-contract"}]},{"group":"Contract Templates","root":{"title":"Contract Templates","href":"/api-reference/resources/contract-templates"},"pages":[{"title":"Get Contract Template by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contract-templates/{id}","href":"/api-reference/contract-templates/get-contract-template-by-id"},{"title":"List Contract Templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contract-templates","href":"/api-reference/contract-templates/list-contract-templates"}]}]},{"group":"Forms","pages":[{"group":"Forms","root":{"title":"Forms","href":"/api-reference/resources/forms"},"pages":[{"title":"Retrieve a form","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/forms/{id}","href":"/api-reference/forms/retrieve-a-form"},{"title":"List forms","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/forms","href":"/api-reference/forms/list-forms"},{"title":"Create a form","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/forms","href":"/api-reference/forms/create-a-form"},{"title":"List a form's submissions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/forms/{id}/form-responses","href":"/api-reference/forms/list-a-forms-submissions"}]},{"group":"Form Responses","root":{"title":"Form Responses","href":"/api-reference/resources/form-responses"},"pages":[{"title":"Assign a form to clients","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/form-responses","href":"/api-reference/form-responses/assign-a-form-to-clients"}]}]},{"group":"Tasks","pages":[{"group":"Tasks","root":{"title":"Tasks","href":"/api-reference/resources/tasks"},"pages":[{"title":"List tasks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tasks","href":"/api-reference/tasks/list-tasks"},{"title":"Create a task","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tasks","href":"/api-reference/tasks/create-a-task"},{"title":"Retrieve a task","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tasks/{id}","href":"/api-reference/tasks/retrieve-a-task"},{"title":"Update a task","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/tasks/{id}","href":"/api-reference/tasks/update-a-task"},{"title":"Delete a task","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/tasks/{id}","href":"/api-reference/tasks/delete-a-task"}]},{"group":"Task Templates","root":{"title":"Task Templates","href":"/api-reference/resources/task-templates"},"pages":[{"title":"List task templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/task-templates","href":"/api-reference/task-templates/list-task-templates"},{"title":"Retrieve a task template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/task-templates/{id}","href":"/api-reference/task-templates/retrieve-a-task-template"}]},{"group":"Task Comments","root":{"title":"Task Comments","href":"/api-reference/resources/task-comments"},"pages":[{"title":"List task comments","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/comments","href":"/api-reference/comments/list-task-comments"},{"title":"Retrieve a task comment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/comments/{commentId}","href":"/api-reference/comments/retrieve-a-task-comment"},{"title":"Delete a task comment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/comments/{commentId}","href":"/api-reference/comments/delete-a-task-comment"}]}]},{"group":"Token","pages":[{"group":"Token","root":{"title":"Token","href":"/api-reference/resources/token"},"pages":[{"title":"Issue an app-scoped offline bearer token","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/token","href":"/api-reference/token/issue-an-app-scoped-offline-bearer-token"}]}]},{"group":"Others","pages":[{"group":"Apps","pages":[{"title":"List callable apps","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/apps","href":"/api-reference/apps/list-callable-apps"},{"title":"Retrieve an app's operations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/apps/{appId}","href":"/api-reference/apps/retrieve-an-apps-operations"},{"title":"Retrieve an app's API description","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/apps/{appId}/contract","href":"/api-reference/apps/retrieve-an-apps-api-description"}]},{"group":"App Installs","root":{"title":"App Installs","href":"/api-reference/resources/app-installs"},"pages":[{"title":"List app installs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/installs","href":"/api-reference/installs/list-app-installs"},{"title":"Get an app install","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/installs/{installId}","href":"/api-reference/installs/get-an-app-install"},{"title":"Get an app install's notification settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/installs/{installId}/notification-settings","href":"/api-reference/installs/get-an-app-installs-notification-settings"},{"title":"Create an app install's notification settings","description":"Declares the initial notification settings of the install's backing app. This endpoint\nis create-only: when the app already has notification settings (created here or authored\non the App Setup page) it fails with 409 and the settings must be changed via PATCH.\nSetting ids are stable identifiers referenced by `notificationSettingId` on\nPOST /v1/notifications and by internal users' saved preferences; omit a setting's id to\nhave one generated. Requests authenticated with an app API key may only manage the\ncalling app's own installs — for a published marketplace app this changes the app's\nsettings in every workspace it is installed in. Requests authenticated with a regular\nAPI key require workspace admin privileges.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/installs/{installId}/notification-settings","href":"/api-reference/installs/create-an-app-installs-notification-settings"},{"title":"Update an app install's notification settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/installs/{installId}/notification-settings","href":"/api-reference/installs/update-an-app-installs-notification-settings"}]},{"group":"App Connections","root":{"title":"App Connections","description":"A connection between a manual-type app install and a client, company, or group of clients, delivering embed or link content.","href":"/api-reference/resources/app-connections"},"pages":[{"title":"List app install connections","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/installs/{installId}/connections","href":"/api-reference/installs/list-app-install-connections"},{"title":"Create an app install connection","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/installs/{installId}/connections","href":"/api-reference/installs/create-an-app-install-connection"}]},{"group":"Events","root":{"title":"Events","href":"/api-reference/resources/events"},"pages":[{"title":"List audit events","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/events","href":"/api-reference/events/list-audit-events"},{"title":"Create an audit event","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/events","href":"/api-reference/events/create-an-audit-event"},{"title":"Get audit event by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/events/{id}","href":"/api-reference/events/get-audit-event-by-id"}]},{"group":"Notifications","root":{"title":"Notifications","href":"/api-reference/resources/notifications"},"pages":[{"title":"List notifications","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/notifications","href":"/api-reference/notifications/list-notifications"},{"title":"Create a notification","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/notifications","href":"/api-reference/notifications/create-a-notification"},{"title":"Retrieve a notification","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/notifications/{id}","href":"/api-reference/notifications/retrieve-a-notification"},{"title":"Delete a notification","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/notifications/{id}","href":"/api-reference/notifications/delete-a-notification"},{"title":"Mark notification as read","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/notifications/{id}/read","href":"/api-reference/notifications/mark-notification-as-read"},{"title":"Mark notification as unread","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/notifications/{id}/unread","href":"/api-reference/notifications/mark-notification-as-unread"}]}]}]}]},"basePath":"","title":"Update an app install's notification settings - Assembly","buildId":"dpl_6PxPD4Fj1JDU9BJxEHvfdUmxKThw","deploymentId":"dpl_6PxPD4Fj1JDU9BJxEHvfdUmxKThw","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CASS2Vpq.js","utils-4k9fyWRu.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-UU-UueZb.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BgJ0LOYq.js","snippetPresets-CMgzlMR-.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BzEJegkK.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CZuQIZdk.js","shallow-Bw5arfMA.js","getApiPlaygroundDisplay-Ds834aVN.js","CodeSnippet-CKzmjw9L.js","CodeSnippets-BRpgomdp.js","Page-DvEUoD2H.js","getPastedJson-B0N-Tn76.js","icon-DASMs9nC.js","MethodPill-BA6DBLqx.js","DuplicateIcon-BMT5qfbJ.js","createIcon-CNfwVWPx.js","DynamicMarkdown-JYyBNlrJ.js","SectionHeading-BbZnmz8a.js","axios-vUo_bRtp.js","Markdown-LUU0YLpA.js","clsx-Di4ek5Ae.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-VEVWQCR4.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CPszyu99.js"]}