Use this endpoint whenever a contact tells you they want to stop receiving marketing: a reply to
your own bot, a support ticket, a form on your site. Minimo then stops marketing sends to that contact
exactly as if they had used an unsubscribe link or told Minimo’s AI assistant.
Only marketing consent is withdrawn. Transactional and utility messages (order updates, account emails, approved
utility WhatsApp templates) keep working.
The result depends on your company’s opt-out scope (Settings → Contacts):
Scope
Effect
global
Default. Withdraws WhatsApp, email and SMS marketing for the contact and every contact with the same phone or email.
per_channel
Withdraws only the channel the contact asked on.
The response tells you which scope was applied and which channels were withdrawn, so you can confirm
it to the contact in your own words (for example “Done, you won’t receive offers from us any more”).
Any API key with the subscribe, transactional or whatsapp permission can call it. A
WhatsApp-only key, the one used by bots connected through Connect Your
Bot, is enough.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Minimo Docs","colors":{"primary":"#000000","light":"#fafafa","dark":"#000000"},"favicon":"https://mintcdn.com/minimo/3CkweOTs_wJBldaS/favicon.svg?fit=max\u0026auto=format\u0026n=3CkweOTs_wJBldaS\u0026q=85\u0026s=741f59ded2f05d51dd8ed745b6b9304d","logo":{"light":"https://mintcdn.com/minimo/_5TQWO7ZAmNbow_0/logo/light.svg?fit=max\u0026auto=format\u0026n=_5TQWO7ZAmNbow_0\u0026q=85\u0026s=770ea7f424284ce6f88684bb97af23f0","dark":"https://mintcdn.com/minimo/_5TQWO7ZAmNbow_0/logo/dark.svg?fit=max\u0026auto=format\u0026n=_5TQWO7ZAmNbow_0\u0026q=85\u0026s=d0eaf24238816ed860e88d67985c7d27"},"api":{"openapi":["api-reference/openApi.yml"]},"navbar":{"links":[{"label":"Support","href":"mailto:info@minimo.it"}],"primary":{"type":"button","label":"Start now for free","href":"https://app.minimo.it"}},"footer":{"socials":{"instagram":"https://instagram.com/thebareminimo","linkedin":"https://www.linkedin.com/company/thebareminimo"}},"integrations":{},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Sito Web","href":"https://minimo.it","icon":"desktop"},{"anchor":"Blog","href":"https://minimo.it/blog","icon":"newspaper"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"minimo","hasAudioNarration":false,"actualSubdomain":"minimo","customDomains":["docs.minimo.it"],"gitSource":{"type":"github","owner":"thebareminimo","repo":"docs-v2","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae21dafba4b20fd94ee438f","collectionId":"7f27c267-ad64-4761-8131-bf487f9ce969","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae21dafba4b20fd94ee438f"},"entitlements":{},"buildId":"6ae308679054be250bf2ff16","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"API Reference","count":28},{"language":"default","tag":"Product","count":15},{"language":"default","tag":"Messaging Channels","count":9},{"language":"default","tag":"Core Data","count":7},{"language":"default","tag":"Contacts","count":6},{"language":"default","tag":"Connect a Bot (WhatsApp)","count":6},{"language":"default","tag":"Email","count":5},{"language":"default","tag":"Messaging","count":5},{"language":"default","tag":"WhatsApp","count":4},{"language":"default","tag":"Legacy (Deprecated)","count":3}]},"assistantConfig":{},"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/core-data/contacts/opt-out","slug":"/api-reference/core-data/contacts/opt-out","pageMetadata":{"title":"Opt Out of Marketing","description":"Record that a contact asked to stop receiving marketing messages","openapi":"post /public/v1/contacts/opt-out","href":"/api-reference/core-data/contacts/opt-out"},"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: \"Record that a contact asked to stop receiving marketing messages\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Use this endpoint whenever a contact tells `,_jsx(_components.strong,{children:`you`}),` they want to stop receiving marketing: a reply to\nyour own bot, a support ticket, a form on your site. Minimo then stops marketing sends to that contact\nexactly as if they had used an unsubscribe link or told Minimo’s AI assistant.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Only `,_jsx(_components.strong,{children:`marketing`}),` consent is withdrawn. Transactional and utility messages (order updates, account emails, approved\nutility WhatsApp templates) keep working.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`which-channels-are-withdrawn`,children:`Which channels are withdrawn`}),`\n`,_jsxs(_components.p,{children:[`The result depends on your company’s `,_jsx(_components.strong,{children:`opt-out scope`}),` (Settings → Contacts):`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Effect`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`global`})}),_jsx(_components.td,{children:`Default. Withdraws WhatsApp, email and SMS marketing for the contact and every contact with the same phone or email.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`per_channel`})}),_jsxs(_components.td,{children:[`Withdraws only the `,_jsx(_components.code,{children:`channel`}),` the contact asked on.`]})]})]})]}),`\n`,_jsx(_components.p,{children:`The response tells you which scope was applied and which channels were withdrawn, so you can confirm\nit to the contact in your own words (for example “Done, you won’t receive offers from us any more”).`}),`\n`,_jsx(Heading,{level:`2`,id:`identifying-the-contact`,children:`Identifying the contact`}),`\n`,_jsxs(_components.p,{children:[`Send `,_jsx(_components.strong,{children:`exactly one`}),` of:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`phone`}),`: E.164 or digits only. With a WhatsApp bot, pass the `,_jsx(_components.code,{children:`contact.phone`}),` from the `,_jsx(_components.a,{href:`/api-reference/whatsapp-transport/webhooks`,children:`inbound\nwebhook envelope`}),`. `,_jsx(_components.code,{children:`channel`}),` defaults to `,_jsx(_components.code,{children:`whatsapp`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`email`}),`: case-insensitive. `,_jsx(_components.code,{children:`channel`}),` defaults to `,_jsx(_components.code,{children:`email`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`contactId`}),`: the Minimo contact id. `,_jsx(_components.code,{children:`channel`}),` is required.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`The contact is always looked up inside the company that owns your API key.`}),`\n`,_jsx(Heading,{level:`2`,id:`permissions`,children:`Permissions`}),`\n`,_jsxs(_components.p,{children:[`Any API key with the `,_jsx(_components.code,{children:`subscribe`}),`, `,_jsx(_components.code,{children:`transactional`}),` or `,_jsx(_components.code,{children:`whatsapp`}),` permission can call it. A\nWhatsApp-only key, the one used by bots connected through `,_jsx(_components.a,{href:`/api-reference/whatsapp-transport/overview`,children:`Connect Your\nBot`}),`, is enough.`]}),`\n`,_jsx(Heading,{level:`2`,id:`common-errors`,children:`Common Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Cause`}),_jsx(_components.th,{children:`Solution`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsxs(_components.td,{children:[`No identifier, several identifiers, or `,_jsx(_components.code,{children:`contactId`}),` without `,_jsx(_components.code,{children:`channel`})]}),_jsxs(_components.td,{children:[`Send exactly one of `,_jsx(_components.code,{children:`phone`}),`, `,_jsx(_components.code,{children:`email`}),`, `,_jsx(_components.code,{children:`contactId`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsxs(_components.td,{children:[`Missing or expired key, or a key without `,_jsx(_components.code,{children:`subscribe`}),`, `,_jsx(_components.code,{children:`transactional`}),` or `,_jsx(_components.code,{children:`whatsapp`})]}),_jsx(_components.td,{children:`Use a valid key with one of those permissions`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:`No contact with that phone, email or id in your company`}),_jsx(_components.td,{children:`Nothing to withdraw: the contact never received marketing from Minimo`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.a,{href:`/api-reference/whatsapp-transport/opt-out`,children:`Handle unsubscribe requests in your bot`})}),`: end-to-end example for a WhatsApp bot`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`MCP`}),`: agents connected to Minimo’s MCP server can do the same with the `,_jsx(_components.code,{children:`minimo_contact_opt-out`}),` tool (`,_jsx(_components.a,{href:`/guides/connect-your-agent`,children:`Connect your agent`}),`)`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Opt Out of Marketing","description":"Record that a contact asked to stop receiving marketing messages","openapi":"post /public/v1/contacts/opt-out","href":"/api-reference/core-data/contacts/opt-out"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Which channels are withdrawn","slug":"which-channels-are-withdrawn","depth":2,"children":[]},{"title":"Identifying the contact","slug":"identifying-the-contact","depth":2,"children":[]},{"title":"Permissions","slug":"permissions","depth":2,"children":[]},{"title":"Common Errors","slug":"common-errors","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Opt a contact out of marketing","description":"Record that a contact asked to stop receiving marketing messages","operationId":"optOutContact","requestBody":"989cb8cc-8f36-47ea-a461-96f88f39ff90","responses":{"200":"1fc0922e-2055-4044-bc7a-4c8ef9990940","400":"225aa4c5-a153-4940-af31-bdd48ac92d7c","401":"32dcc6f0-de04-4593-997f-1efafa30ac55","404":"2acfcf3c-9edf-4bcf-8b49-e8c5cd21035f"},"security":["79f11449-1041-48b7-b086-95ed95d918c6"],"x-codeSamples":[{"lang":"Python","source":"import requests\n\nres = requests.post(\n 'https://api.minimo.it/public/v1/contacts/opt-out',\n headers={'Authorization': 'Bearer {{BEARER_TOKEN}}'},\n json={'phone': '393391234567', 'reason': 'Customer asked to stop'},\n)\nprint(res.json())"},{"lang":"JavaScript","source":"const res = await fetch('https://api.minimo.it/public/v1/contacts/opt-out', {\n method: 'POST',\n headers: {\n 'Authorization': 'Bearer {{BEARER_TOKEN}}',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ phone: '393391234567', reason: 'Customer asked to stop' }),\n});\nconst { data } = await res.json();\nconsole.log(data.revokedChannels);"},{"label":"CLI","lang":"cURL","source":"curl --request POST \\\n --url 'https://api.minimo.it/public/v1/contacts/opt-out' \\\n --header 'Authorization: Bearer {{BEARER_TOKEN}}' \\\n --header 'Content-Type: application/json' \\\n --data '{\"phone\": \"393391234567\", \"reason\": \"Customer asked to stop\"}'"}],"method":"post","type":"path","servers":["d78309fd-4124-4087-b1bb-2ab921a4e31d"],"path":"/public/v1/contacts/opt-out","baseUrlOptions":["https://api.minimo.it"],"title":"Opt a contact out of marketing","codeSamples":[{"lang":"Python","source":"import requests\n\nres = requests.post(\n 'https://api.minimo.it/public/v1/contacts/opt-out',\n headers={'Authorization': 'Bearer {{BEARER_TOKEN}}'},\n json={'phone': '393391234567', 'reason': 'Customer asked to stop'},\n)\nprint(res.json())"},{"lang":"JavaScript","source":"const res = await fetch('https://api.minimo.it/public/v1/contacts/opt-out', {\n method: 'POST',\n headers: {\n 'Authorization': 'Bearer {{BEARER_TOKEN}}',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ phone: '393391234567', reason: 'Customer asked to stop' }),\n});\nconst { data } = await res.json();\nconsole.log(data.revokedChannels);"},{"label":"CLI","lang":"cURL","source":"curl --request POST \\\n --url 'https://api.minimo.it/public/v1/contacts/opt-out' \\\n --header 'Authorization: Bearer {{BEARER_TOKEN}}' \\\n --header 'Content-Type: application/json' \\\n --data '{\"phone\": \"393391234567\", \"reason\": \"Customer asked to stop\"}'"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phone":{"type":"string","description":"Phone number, E.164 or digits only (e.g. the `contact.phone` of the inbound webhook envelope).","examples":["393391234567"],"uniqueKey":"phone","typeLabel":"string"},"email":{"type":"string","format":"email","description":"Email address of the contact (case-insensitive).","uniqueKey":"email","typeLabel":"string\u003cemail>"},"contactId":{"type":"integer","description":"Minimo contact id. Requires `channel`.","uniqueKey":"contactId","typeLabel":"integer"},"channel":{"type":"string","enum":["whatsapp","email","sms"],"description":"Channel the contact asked on. Defaults to `whatsapp` for `phone` and `email` for `email`; required with `contactId`.","uniqueKey":"channel","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","maxLength":500,"description":"Optional context for the consent audit trail, e.g. the customer's message.","uniqueKey":"reason","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"whatsappBot":{"title":"whatsappBot","value":{"phone":"393391234567","reason":"Customer wrote: \"smettete di scrivermi\""}},"emailReply":{"title":"emailReply","value":{"email":"customer@example.com"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"1fc0922e-2055-4044-bc7a-4c8ef9990940":{"description":"Opt-out recorded","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"contactId":{"type":"integer","examples":[12345],"uniqueKey":"data.contactId","typeLabel":"integer"},"channel":{"type":"string","enum":["whatsapp","email","sms"],"uniqueKey":"data.channel","typeLabel":"enum\u003cstring>"},"scope":{"type":"string","enum":["global","per_channel","intent"],"description":"The company's opt-out scope that was applied.","uniqueKey":"data.scope","typeLabel":"enum\u003cstring>"},"revokedChannels":{"type":"array","items":{"type":"string","uniqueKey":"data.revokedChannels.items.[INDEX]","typeLabel":"string"},"description":"Every marketing channel whose consent is now withdrawn.","examples":[["whatsapp","email","sms"]],"uniqueKey":"data.revokedChannels","typeLabel":"string[]"},"affectedContactIds":{"type":"array","items":{"type":"integer","uniqueKey":"data.affectedContactIds.items.[INDEX]","typeLabel":"integer"},"description":"Every contact the opt-out reached (identity-linked contacts under `global`).","uniqueKey":"data.affectedContactIds","typeLabel":"integer[]"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"contactId":12345,"channel":"whatsapp","scope":"global","revokedChannels":["whatsapp","email","sms"],"affectedContactIds":[123]}}}},"exampleType":"generated"}},"exampleType":"generated"},"225aa4c5-a153-4940-af31-bdd48ac92d7c":{"description":"Zero or several identifiers, or `contactId` without `channel`","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"32dcc6f0-de04-4593-997f-1efafa30ac55":{"description":"Missing, expired or invalid API key, or a key without the `subscribe`, `transactional` or `whatsapp` permission","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"2acfcf3c-9edf-4bcf-8b49-e8c5cd21035f":{"description":"No contact with that phone, email or id in your company","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"79f11449-1041-48b7-b086-95ed95d918c6":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"mn-API_CLIENT_ID-API_KEY","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"d78309fd-4124-4087-b1bb-2ab921a4e31d":{"url":"https://api.minimo.it"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"mn-API_CLIENT_ID-API_KEY","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openApi.yml"},"subdomain":"minimo","siteName":"Minimo Docs","title":"Opt Out of Marketing - Minimo Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T08:48:48.378Z","originalFileLocation":"api-reference/core-data/contacts/opt-out.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=\"Record that a contact asked to stop receiving marketing messages\">\u003cmeta data-mint-head name=\"application-name\" content=\"Minimo Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/minimo/CJfiX4gOkuK9_RYe/_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/minimo/CJfiX4gOkuK9_RYe/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/minimo/CJfiX4gOkuK9_RYe/_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/minimo/CJfiX4gOkuK9_RYe/_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/minimo/CJfiX4gOkuK9_RYe/_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/minimo/CJfiX4gOkuK9_RYe/_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/minimo/CJfiX4gOkuK9_RYe/_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/minimo/CJfiX4gOkuK9_RYe/_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/minimo/CJfiX4gOkuK9_RYe/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Opt Out of Marketing - Minimo Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Record that a contact asked to stop receiving marketing messages\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Minimo Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.minimo.it/api-reference/core-data/contacts/opt-out\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://minimo.mintlify.app/_mintlify/api/og/v2?division=Contacts\u0026amp;title=Opt+Out+of+Marketing\u0026amp;description=Record+that+a+contact+asked+to+stop+receiving+marketing+messages\u0026amp;theme=d09c2500034a41254e8c7744\u0026amp;signature=d79d1012ce20d86c91574f898b67da04f6a1d283d99d3fd7bf8e4c9680067e64\">\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=\"Opt Out of Marketing - Minimo Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Record that a contact asked to stop receiving marketing messages\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://minimo.mintlify.app/_mintlify/api/og/v2?division=Contacts\u0026amp;title=Opt+Out+of+Marketing\u0026amp;description=Record+that+a+contact+asked+to+stop+receiving+marketing+messages\u0026amp;theme=d09c2500034a41254e8c7744\u0026amp;signature=d79d1012ce20d86c91574f898b67da04f6a1d283d99d3fd7bf8e4c9680067e64\">\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/minimo/CJfiX4gOkuK9_RYe/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Minimo Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.minimo.it/api-reference/core-data/contacts/opt-out\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/core-data/contacts/opt-out.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.minimo.it/#organization\",\"name\":\"Minimo Docs\",\"url\":\"https://docs.minimo.it\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/minimo/_5TQWO7ZAmNbow_0/logo/light.svg?fit=max\u0026auto=format\u0026n=_5TQWO7ZAmNbow_0\u0026q=85\u0026s=770ea7f424284ce6f88684bb97af23f0\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.minimo.it#website\",\"name\":\"Minimo Docs\",\"url\":\"https://docs.minimo.it\",\"publisher\":{\"@id\":\"https://docs.minimo.it/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.minimo.it/api-reference/core-data/contacts/opt-out#webpage\",\"url\":\"https://docs.minimo.it/api-reference/core-data/contacts/opt-out\",\"name\":\"Opt Out of Marketing\",\"description\":\"Record that a contact asked to stop receiving marketing messages\",\"dateModified\":\"2026-10-29T08:48:48.378Z\",\"isPartOf\":{\"@id\":\"https://docs.minimo.it#website\"},\"breadcrumb\":{\"@id\":\"https://docs.minimo.it/api-reference/core-data/contacts/opt-out#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.minimo.it/api-reference/core-data/contacts/opt-out#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Core Data\",\"item\":\"https://docs.minimo.it/api-reference/core-data/contacts/upsert\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Contacts\",\"item\":\"https://docs.minimo.it/api-reference/core-data/contacts/upsert\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Opt Out of Marketing\",\"item\":\"https://docs.minimo.it/api-reference/core-data/contacts/opt-out\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.minimo.it/api-reference/core-data/contacts/opt-out#apireference\",\"headline\":\"Opt Out of Marketing\",\"name\":\"Opt Out of Marketing\",\"description\":\"Record that a contact asked to stop receiving marketing messages\",\"url\":\"https://docs.minimo.it/api-reference/core-data/contacts/opt-out\",\"mainEntityOfPage\":{\"@id\":\"https://docs.minimo.it/api-reference/core-data/contacts/opt-out#webpage\"},\"dateModified\":\"2026-10-29T08:48:48.378Z\",\"publisher\":{\"@id\":\"https://docs.minimo.it/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.minimo.it#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Minimo Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Minimo Docs","nav":{"global":{"anchors":[{"anchor":"Sito Web","href":"https://minimo.it","icon":"desktop"},{"anchor":"Blog","href":"https://minimo.it/blog","icon":"newspaper"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"Product","pages":[{"title":"Product","href":"/product/introduction"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"Introduction","href":"/api-reference/overview/introduction"},{"title":"Authentication \u0026 API Keys","href":"/api-reference/overview/authentication"},{"title":"API Conventions","href":"/api-reference/overview/conventions"}]},{"group":"Core Data","pages":[{"group":"Contacts","pages":[{"title":"Create or Update Contact","openapi":"post /public/v1/contacts","href":"/api-reference/core-data/contacts/upsert"},{"title":"Get Contact by Email","openapi":"get /public/v1/contacts/by-email/{email}","href":"/api-reference/core-data/contacts/get-by-email"},{"title":"Update Contact by ID","description":"Update an existing contact using their ID","openapi":"put /public/v1/contacts/{id}","href":"/api-reference/core-data/contacts/update-by-id"},{"title":"Opt Out of Marketing","openapi":"post /public/v1/contacts/opt-out","href":"/api-reference/core-data/contacts/opt-out"},{"title":"Delete Contact","description":"Soft-delete a contact by ID","openapi":"delete /public/v1/contacts/{id}","href":"/api-reference/core-data/contacts/delete"}]},{"group":"Custom Fields","pages":[{"title":"List Custom Fields","openapi":"get /public/v1/custom-fields","href":"/api-reference/core-data/custom-fields/list"},{"title":"Create Custom Field","openapi":"post /public/v1/custom-fields","href":"/api-reference/core-data/custom-fields/create"}]}]},{"group":"Messaging Channels","pages":[{"group":"Email","pages":[{"title":"Send Email Template","openapi":"post /public/v1/templates/email/send","href":"/api-reference/messaging-channels/email/send-template"},{"title":"List Email Templates","openapi":"get /public/v1/templates/email","href":"/api-reference/messaging-channels/email/list-templates"},{"title":"Get Email Template Stats","openapi":"get /public/v1/transactionals/{id}/stats","href":"/api-reference/messaging-channels/email/stats"},{"title":"Send One-Shot HTML Email","openapi":"post /public/v1/emails","href":"/api-reference/messaging-channels/email/send-html"},{"title":"Get One-Shot Email Statistics","openapi":"get /public/v1/emails/{id}/stats","href":"/api-reference/messaging-channels/email/html-stats"}]},{"group":"WhatsApp","pages":[{"title":"List WhatsApp Senders","openapi":"get /public/v1/templates/whatsapp/senders","href":"/api-reference/messaging-channels/whatsapp/list-senders"},{"title":"Send WhatsApp Template","openapi":"post /public/v1/templates/whatsapp/send","href":"/api-reference/messaging-channels/whatsapp/send-template"},{"title":"List WhatsApp Templates","openapi":"get /public/v1/templates/whatsapp","href":"/api-reference/messaging-channels/whatsapp/list-templates"},{"title":"Inbound \u0026 Webhooks","href":"/api-reference/messaging-channels/whatsapp/inbound-webhooks"}]}]},{"group":"Connect a Bot (WhatsApp)","pages":[{"title":"Connect Your Bot — Overview","href":"/api-reference/whatsapp-transport/overview"},{"title":"Send a Message","href":"/api-reference/whatsapp-transport/send"},{"title":"Inbound Webhook","href":"/api-reference/whatsapp-transport/webhooks"},{"title":"Handle Unsubscribe Requests","href":"/api-reference/whatsapp-transport/opt-out"},{"title":"Read API","href":"/api-reference/whatsapp-transport/conversations"},{"title":"Notes \u0026 Limits","href":"/api-reference/whatsapp-transport/notes"}]},{"group":"Legacy (Deprecated)","pages":[{"title":"Legacy API (Deprecated)","icon":"triangle-exclamation","href":"/api-reference/legacy/introduction"},{"title":"Send Email (Deprecated)","openapi":"post /api/transactionals","href":"/api-reference/legacy/send-email-deprecated"},{"title":"List Email Transactionals (Deprecated)","href":"/api-reference/legacy/list-email-transactionals-deprecated"}]}]},{"tab":"AI \u0026 Agents","pages":[{"title":"AI \u0026 Agents","href":"/guides/connect-your-agent"}]}]},"title":"Opt Out of Marketing - Minimo Docs","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["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","clsx-Cs6nMGht.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-zbf22OZA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-C_fs-y5n.js"]}