Adds or updates the per-tenant profile for a user. Fields you set here override the user’s global profile when the workflow is triggered with tenant_id. Body accepts the same shape as Create / Update Users.
Tenant to scope the profile update to. Tenant must exist in the workspace.
Body
application/json
Per-tenant profile payload. Same channel and property keys as Create / Update Users. Any key set here becomes the per-tenant override; keys omitted here fall through to the global profile at send time.
Slack channel configuration on the per-tenant profile. Same shape as the global profile — email + access_token, user_id + access_token, channel + access_token, or incoming_webhook.
{
"code": 400,
"message": "[Exclusive-tenancy-mode] subscriber 'user@example.com' belongs to a different tenant"
}
{
"code": 404,
"message": "tenant 'acme-corp' not found"
}
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"SuprSend: API-first notification infrastructure","colors":{"primary":"#2E70E8","light":"#63A3F7","dark":"#2E70E8"},"logo":"https://mintcdn.com/suprsend/CMaQBA3E8wM1DyFj/images/suprsend-logo.svg?fit=max\u0026auto=format\u0026n=CMaQBA3E8wM1DyFj\u0026q=85\u0026s=f325b9764c629a0b488476db369b8d47","favicon":"https://mintcdn.com/suprsend/5H8hv-jDy8OaCsyX/favicon.svg?fit=max\u0026auto=format\u0026n=5H8hv-jDy8OaCsyX\u0026q=85\u0026s=e9c88c84e18f0fd4a64adb33f5fa3603","api":{"openapi":"openapi.yaml"},"background":{"decoration":"windows"},"navbar":{"links":[{"href":"mailto:support@suprsend.com","label":"Contact Us"}],"primary":{"type":"button","label":"Get Started","href":"https://app.suprsend.com"}},"footer":{"socials":{"x":"https://x.com/suprsend","github":"https://github.com/suprsend","linkedin":"https://linkedin.com/company/suprsend","youtube":"https://youtube.com/@suprsend"}},"seo":{"indexing":"all"},"fonts":{"family":"Inter"},"styling":{"codeblocks":"system","latex":true},"integrations":{"ga4":{"measurementId":"G-PPDYBESP2L"},"gtm":{"tagId":"GTM-T6W3P8RG"},"mixpanel":{"projectToken":"2febb9e078d777860c5624f2579507a7"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Community","icon":"slack","color":{"light":"#f59f0b","dark":"#f59f0b"},"href":"https://join.slack.com/t/suprsendcommunity/shared_invite/zt-3932rw936-XNWY1RC8bsffh4if4ZyoXQ"},{"anchor":"Trust Center","icon":"shield-halved","color":{"light":"#2564eb","dark":"#2564eb"},"href":"https://trust.suprsend.com"},{"anchor":"Platform Status","icon":"wifi","color":{"light":"#2564eb","dark":"#2564eb"},"href":"https://status.suprsend.com"},{"anchor":"Postman Collection","icon":"code","color":{"light":"#2564eb","dark":"#2564eb"},"href":"https://www.postman.com/suprsend/suprsend/collection/16bdmwa/suprsend-apis"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"suprsend","hasAudioNarration":false,"actualSubdomain":"suprsend","customDomains":["docs.suprsend.com"],"gitSource":{"type":"github","owner":"suprsend","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aec2eb7d7fc1c00c9c6bd01","collectionId":"480cd3e9-647b-4241-804b-684caadab641","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec2eb7d7fc1c00c9c6bd01"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aec2eb7d7fc1c00c9c6bd01","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Documentation","count":151},{"language":"default","tag":"Developer Resources","count":105},{"language":"default","tag":"Management API","count":91},{"language":"default","tag":"API Reference","count":86},{"language":"default","tag":"SDKs and APIs","count":81},{"language":"default","tag":"SDKs","count":78},{"language":"default","tag":"CORE CONCEPTS","count":57},{"language":"default","tag":"CLI","count":50},{"language":"default","tag":"SuprSend Client SDK","count":43},{"language":"default","tag":"SuprSend Backend SDK","count":34}],"searchSettings":{"showContentSnippets":true}},"assistantConfig":{"deflection":{"enabled":true,"email":"support@suprsend.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"img{max-width:100%;height:auto}table{overflow-x:auto;display:block;max-width:100%}pre,code{overflow-x:auto;max-width:100%}@media (max-width: 768px){img[width]{width:100%!important;max-width:100%!important;height:auto!important}pre{font-size:13px}}a.card[href=\"https://skills.sh/suprsend/skills\"]{position:relative}a.card[href=\"https://skills.sh/suprsend/skills\"]>img{position:absolute!important;top:1.25rem!important;left:1.5rem!important;width:1.5rem!important;height:1.5rem!important;max-width:1.5rem!important;max-height:1.5rem!important;min-height:1.5rem!important;object-fit:contain!important;z-index:1}a.card[href=\"https://skills.sh/suprsend/skills\"] .px-6.py-5{padding-top:3.25rem!important}a.card[href=\"https://skills.sh/suprsend/skills\"] h2{margin-top:0!important}[data-component-name=\"mermaid-controls-wrapper\"]{display:none!important}.mermaid .nodeLabel,.mermaid .nodeLabel p,.mermaid .edgeLabel,.mermaid .edgeLabel p,.mermaid .cluster-label,.mermaid .cluster-label p{color:#4d4d4d!important}.mermaid .nodeLabel,.mermaid .edgeLabel,.mermaid .cluster-label,.mermaid text{fill:#4d4d4d!important}.dark .mermaid .nodeLabel,.dark .mermaid .nodeLabel p,.dark .mermaid .edgeLabel,.dark .mermaid .edgeLabel p,.dark .mermaid .cluster-label,.dark .mermaid .cluster-label p{color:#cccccc!important}.dark .mermaid .nodeLabel,.dark .mermaid .edgeLabel,.dark .mermaid .cluster-label,.dark .mermaid text{fill:#cccccc!important}.changelog-page-content{padding:0 7rem}@media (max-width: 768px){.changelog-page-content{padding:0 1rem}}.ss-flow{--ss-ink: #1f2937;--ss-muted: #6b7280;--ss-line: #e5e7eb;--ss-accent: #2e70e8;--ss-core-bg: #f5f8fe;--ss-core-line: #d4e2fb;--ss-arrow: #9ca3af;display:grid;grid-template-columns:minmax(0, 1fr) 1.5rem minmax(0, 2.1fr) 1.5rem minmax(0, 1fr);align-items:center;margin:1.75rem 0 2rem;font-size:0.875rem;line-height:1.4;color:var(--ss-ink)}.dark .ss-flow{--ss-ink: #e5e7eb;--ss-muted: #9ca3af;--ss-line: rgba(255, 255, 255, 0.12);--ss-accent: #63a3f7;--ss-core-bg: rgba(46, 112, 232, 0.1);--ss-core-line: rgba(99, 163, 247, 0.28);--ss-arrow: #6b7280}.ss-flow .ss-flow__label{margin:0 0 0.5rem;font-size:0.75rem;font-weight:600;color:var(--ss-muted)}.ss-flow .ss-flow__list{list-style:none;margin:0;padding:0.5rem 0.75rem;border:1px solid var(--ss-line);border-radius:10px;font-size:0.8125rem}.ss-flow .ss-flow__list li{margin:0;padding:0.3125rem 0}.ss-flow .ss-flow__arrow{position:relative;height:1px;margin:1.25rem 0.25rem 0 0.125rem;background:var(--ss-arrow)}.ss-flow .ss-flow__arrow::after{content:\"\";position:absolute;top:-4px;right:-1px;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-left:6px solid var(--ss-arrow)}.ss-flow .ss-flow__core{overflow:hidden;border:1px solid var(--ss-core-line);border-radius:14px;background:var(--ss-core-bg)}.ss-flow .ss-flow__label--core{margin:0;padding:0.875rem 1rem 0;font-size:0.875rem;color:var(--ss-accent)}.ss-flow .ss-flow__stages{list-style:none;margin:0;padding:0.875rem 1rem 1rem}.ss-flow .ss-flow__stage{position:relative;margin:0;padding:0 0 1rem 1.5rem}.ss-flow .ss-flow__stage:last-child{padding-bottom:0}.ss-flow .ss-flow__stage::before{content:\"\";position:absolute;top:0.3rem;left:0;z-index:1;width:0.625rem;height:0.625rem;border-radius:50%;background:var(--ss-accent)}.ss-flow .ss-flow__stage::after{content:\"\";position:absolute;top:0.5rem;bottom:-0.5rem;left:calc(0.3125rem - 1px);width:2px;background:var(--ss-core-line)}.ss-flow .ss-flow__stage:last-child::after{display:none}.ss-flow .ss-flow__stage strong{display:block;font-weight:600;color:var(--ss-ink)}.ss-flow .ss-flow__stage span{display:block;margin-top:0.125rem;font-size:0.8125rem;color:var(--ss-muted)}.ss-flow .ss-flow__logs{margin:0;padding:0.625rem 1rem;border-top:1px dashed var(--ss-core-line);font-size:0.8125rem;color:var(--ss-muted)}.ss-flow .ss-flow__logs strong{font-weight:600;color:var(--ss-ink)}@media (max-width: 640px){.ss-flow{grid-template-columns:minmax(0, 1fr)}.ss-flow .ss-flow__list{display:flex;flex-wrap:wrap;gap:0 1rem}.ss-flow .ss-flow__arrow{width:1px;height:1.25rem;margin:0.5rem auto}.ss-flow .ss-flow__arrow::after{top:auto;right:auto;bottom:-1px;left:-4px;border-top:6px solid var(--ss-arrow);border-right:4.5px solid transparent;border-bottom:0;border-left:4.5px solid transparent}}"}],"page":{"pagePath":"reference/upsert-user-tenant-profile","slug":"/reference/upsert-user-tenant-profile","pageMetadata":{"title":"Upsert User Tenant Profile","openapi":"POST /v1/user/{distinct_id}/tenant/{tenant_id}/","sidebarTitle":"Upsert User Tenant Profile","description":"Adds or updates the per-tenant profile for a user. Fields you set here override the user's global profile when the workflow is triggered with `tenant_id`. Body accepts the same shape as [Create / Update Users](/reference/create-update-users).","href":"/reference/upsert-user-tenant-profile"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Adds or updates the per-tenant profile for a user. Fields you set here override the user’s global profile when the workflow is triggered with \", _jsx(_components.code, {\n children: \"tenant_id\"\n }), \". Body accepts the same shape as \", _jsx(_components.a, {\n href: \"/reference/create-update-users\",\n children: \"Create / Update Users\"\n }), \".\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Upsert User Tenant Profile","openapi":"POST /v1/user/{distinct_id}/tenant/{tenant_id}/","sidebarTitle":"Upsert User Tenant Profile","description":"Adds or updates the per-tenant profile for a user. Fields you set here override the user's global profile when the workflow is triggered with `tenant_id`. Body accepts the same shape as [Create / Update Users](/reference/create-update-users).","href":"/reference/upsert-user-tenant-profile"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/suprsend/1ff47b86af33ef76/apollo-tracker.js"],"openApiReferenceData":{"operation":{"summary":"Upsert User Tenant Profile","security":["2ab9d252-8370-4c5b-b82e-1249d4b5647e"],"description":"Adds or updates the per-tenant profile for a user. Fields you set here override the user's global profile when the workflow is triggered with `tenant_id`. Body accepts the same shape as [Create / Update Users](/reference/create-update-users).","operationId":"upsert-user-tenant-profile","x-codeSamples":[{"lang":"cURL","label":"Upsert user tenant profile","source":"curl -X POST \"https://hub.suprsend.com/v1/user/user@example.com/tenant/acme-corp/\" \\\n --header 'Authorization: Bearer __YOUR_API_KEY__' \\\n --header 'Content-Type: application/json' \\\n --data '{\n \"$email\": [\"user@acme-corp.com\"],\n \"$slack\": [{ \"email\": \"user@acme-corp.com\", \"access_token\": \"xoxb-XXXXXXXX\" }],\n \"$timezone\": \"America/New_York\",\n \"$preferred_language\": \"en\",\n \"role\": \"admin\"\n }'\n"}],"parameters":["63be0d69-a7df-4cca-8a7e-95a3d5e45f95","88c14b09-ba51-47b2-8efa-0f33af61a3bd"],"requestBody":"b5af362b-82d0-4d1d-b298-37a9b6e1c47e","responses":{"201":"8faf8cf3-99f0-48a9-b5c2-bc4e402b44fd","400":"cb65c639-d80c-4225-b7a7-6448b3aba000","404":"bf5be6fe-fabe-400a-b0cf-6b7dbe0e91b1"},"deprecated":false,"method":"post","type":"path","servers":["eea7dbe4-4763-43a4-939e-87eba61d4470"],"path":"/v1/user/{distinct_id}/tenant/{tenant_id}/","baseUrlOptions":["https://hub.suprsend.com"],"title":"Upsert User Tenant Profile","codeSamples":[{"label":"Upsert user tenant profile","lang":"cURL","source":"curl -X POST \"https://hub.suprsend.com/v1/user/user@example.com/tenant/acme-corp/\" \\\n --header 'Authorization: Bearer __YOUR_API_KEY__' \\\n --header 'Content-Type: application/json' \\\n --data '{\n \"$email\": [\"user@acme-corp.com\"],\n \"$slack\": [{ \"email\": \"user@acme-corp.com\", \"access_token\": \"xoxb-XXXXXXXX\" }],\n \"$timezone\": \"America/New_York\",\n \"$preferred_language\": \"en\",\n \"role\": \"admin\"\n }'\n"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"63be0d69-a7df-4cca-8a7e-95a3d5e45f95":{"name":"distinct_id","in":"path","description":"Unique identifier of the user in your system. If the user doesn't exist yet, it is created.","schema":{"type":"string","isRequired":true,"description":"Unique identifier of the user in your system. If the user doesn't exist yet, it is created.","uniqueKey":"","typeLabel":"string"},"required":true},"88c14b09-ba51-47b2-8efa-0f33af61a3bd":{"name":"tenant_id","in":"path","description":"Tenant to scope the profile update to. Tenant must exist in the workspace.","schema":{"type":"string","isRequired":true,"description":"Tenant to scope the profile update to. Tenant must exist in the workspace.","uniqueKey":"","typeLabel":"string"},"required":true}},"requestBody":{"content":{"application/json":{"example":{"$email":["user@acme-corp.com"],"$sms":["+1234567890"],"$whatsapp":["+1234567890"],"$webpush":[{"token":"webpush_token_abc123","endpoint":"https://fcm.googleapis.com/fcm/send/abc123","keys":{"p256dh":"BNJxwH...","auth":"tBH..."}}],"$androidpush":["android_push_token_xyz987"],"$iospush":["ios_push_token_lmn456"],"$slack":[{"email":"user@acme-corp.com","access_token":"xoxb-XXXXXXXX"}],"$timezone":"America/New_York","$preferred_language":"en","role":"admin"},"schema":{"type":"object","description":"Per-tenant profile payload. Same channel and property keys as [Create / Update Users](/reference/create-update-users). Any key set here becomes the per-tenant override; keys omitted here fall through to the global profile at send time.","properties":{"$email":{"type":"array","items":{"type":"string","format":"email","uniqueKey":"$email.items.[INDEX]","typeLabel":"string\u003cemail>"},"description":"List of email addresses to set on the per-tenant profile.","uniqueKey":"$email","typeLabel":"string\u003cemail>[]"},"$sms":{"type":"array","items":{"type":"string","uniqueKey":"$sms.items.[INDEX]","typeLabel":"string"},"description":"List of phone numbers for SMS on the per-tenant profile.","uniqueKey":"$sms","typeLabel":"string[]"},"$whatsapp":{"type":"array","items":{"type":"string","uniqueKey":"$whatsapp.items.[INDEX]","typeLabel":"string"},"description":"List of phone numbers for WhatsApp on the per-tenant profile.","uniqueKey":"$whatsapp","typeLabel":"string[]"},"$androidpush":{"type":"array","items":{"type":"string","uniqueKey":"$androidpush.items.[INDEX]","typeLabel":"string"},"description":"Android push tokens on the per-tenant profile. Use this to isolate device tokens per tenant / app install.","uniqueKey":"$androidpush","typeLabel":"string[]"},"$iospush":{"type":"array","items":{"type":"string","uniqueKey":"$iospush.items.[INDEX]","typeLabel":"string"},"description":"iOS push tokens on the per-tenant profile.","uniqueKey":"$iospush","typeLabel":"string[]"},"$webpush":{"type":"array","description":"Web push subscription objects on the per-tenant profile.","items":{"type":"object","uniqueKey":"$webpush.items.[INDEX]","typeLabel":"object"},"uniqueKey":"$webpush","typeLabel":"object[]"},"$slack":{"type":"array","description":"Slack channel configuration on the per-tenant profile. Same shape as the global profile — email + access_token, user_id + access_token, channel + access_token, or incoming_webhook.","items":{"type":"object","uniqueKey":"$slack.items.[INDEX]","typeLabel":"object"},"uniqueKey":"$slack","typeLabel":"object[]"},"$ms_teams":{"type":"array","description":"Microsoft Teams channel configuration on the per-tenant profile. Same shape as the global profile.","items":{"type":"object","uniqueKey":"$ms_teams.items.[INDEX]","typeLabel":"object"},"uniqueKey":"$ms_teams","typeLabel":"object[]"},"$timezone":{"type":"string","description":"IANA timezone for the per-tenant profile.","example":"America/New_York","uniqueKey":"$timezone","typeLabel":"string"},"$preferred_language":{"type":"string","description":"Preferred language code for the per-tenant profile.","example":"en","uniqueKey":"$preferred_language","typeLabel":"string"},"$locale":{"type":"string","description":"Locale for the per-tenant profile.","example":"en_GB","uniqueKey":"$locale","typeLabel":"string"}},"additionalProperties":{"description":"Any custom property to set on the per-tenant profile. Overrides the same key on the global profile at send time.","uniqueKey":"additionalProperties","typeLabel":"any"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"$email":["user@acme-corp.com"],"$sms":["+1234567890"],"$whatsapp":["+1234567890"],"$webpush":[{"token":"webpush_token_abc123","endpoint":"https://fcm.googleapis.com/fcm/send/abc123","keys":{"p256dh":"BNJxwH...","auth":"tBH..."}}],"$androidpush":["android_push_token_xyz987"],"$iospush":["ios_push_token_lmn456"],"$slack":[{"email":"user@acme-corp.com","access_token":"xoxb-XXXXXXXX"}],"$timezone":"America/New_York","$preferred_language":"en","role":"admin"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"8faf8cf3-99f0-48a9-b5c2-bc4e402b44fd":{"description":"201 - Created. The response is the full user object with the merged (effective) profile at the top level and the per-tenant override under `tenant`.","content":{"application/json":{"examples":{"Result":{"title":"Result","value":{"distinct_id":"user@example.com","properties":{"$timezone":"America/New_York","$preferred_language":"en","role":"admin"},"created_at":"2022-02-13T12:47:00.388999+00:00","updated_at":"2026-07-21T09:49:36.383794+00:00","$email":[{"value":"user@acme-corp.com","status":"active","perma_status":"active"}],"$slack":[{"value_json":{"email":"user@acme-corp.com","access_token":"xoxb-XXXXXXXX"},"status":"active","perma_status":"active"}],"tenant":{"tenant_id":"acme-corp","properties":{"$timezone":"America/New_York","$preferred_language":"en","role":"admin"},"$email":[{"value":"user@acme-corp.com","status":"active","perma_status":"active"}],"$slack":[{"value_json":{"email":"user@acme-corp.com","access_token":"xoxb-XXXXXXXX"},"status":"active","perma_status":"active"}]}}}},"schema":{"type":"object","properties":{"distinct_id":{"type":"string","description":"The user identifier the operation applied to.","example":"user@example.com","uniqueKey":"distinct_id","typeLabel":"string"},"properties":{"type":"object","description":"Merged (effective) properties — global properties layered with per-tenant overrides.","uniqueKey":"properties","typeLabel":"object"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the user was originally created.","uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the user was last updated (global or per-tenant).","uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"tenant":{"type":"object","description":"The per-tenant override block for the tenant the request targeted. Contains only the fields explicitly set at the tenant level, not the merged view.","properties":{"tenant_id":{"type":"string","description":"Tenant this override belongs to.","example":"acme-corp","uniqueKey":"tenant.tenant_id","typeLabel":"string"},"properties":{"type":"object","description":"Properties explicitly set on the per-tenant profile.","uniqueKey":"tenant.properties","typeLabel":"object"}},"uniqueKey":"tenant","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"cb65c639-d80c-4225-b7a7-6448b3aba000":{"description":"400 - Bad Request. Returned when `user_tenancy_mode` is `exclusive` and the user is already associated with a different tenant.","content":{"application/json":{"examples":{"Result":{"title":"Result","value":{"code":400,"message":"[Exclusive-tenancy-mode] subscriber 'user@example.com' belongs to a different tenant"}}},"schema":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP status code.","example":400,"uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","description":"Human-readable error description.","example":"[Exclusive-tenancy-mode] subscriber 'user@example.com' belongs to a different tenant","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"bf5be6fe-fabe-400a-b0cf-6b7dbe0e91b1":{"description":"404 - Not Found. Returned when the tenant does not exist.","content":{"application/json":{"examples":{"Result":{"title":"Result","value":{"code":404,"message":"tenant 'acme-corp' not found"}}},"schema":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP status code.","example":404,"uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","description":"Human-readable error description.","example":"tenant 'acme-corp' not found","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"2ab9d252-8370-4c5b-b82e-1249d4b5647e":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API_Key","description":"Pass as `Bearer \u003cAPI_KEY>`. Get API Key from SuprSend dashboard Developers -> API Keys section.","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"eea7dbe4-4763-43a4-939e-87eba61d4470":{"url":"https://hub.suprsend.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"API_Key","description":"Pass as `Bearer \u003cAPI_KEY>`. Get API Key from SuprSend dashboard Developers -> API Keys section.","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Pass as `Bearer \u003cAPI_KEY>`. Get API Key from SuprSend dashboard Developers -> API Keys section.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"suprsend","siteName":"SuprSend: API-first notification infrastructure","title":"Upsert User Tenant Profile - SuprSend: API-first notification infrastructure","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-26T19:07:57.236Z","originalFileLocation":"reference/upsert-user-tenant-profile.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=\"Adds or updates the per-tenant profile for a user. Fields you set here override the user\u0026#x27;s global profile when the workflow is triggered with tenant_id. Body accepts the same shape as Create / Update Users.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SuprSend: API-first notification infrastructure\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/suprsend/FnIDjx0xTYX1D8EZ/_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/suprsend/FnIDjx0xTYX1D8EZ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/suprsend/FnIDjx0xTYX1D8EZ/_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/suprsend/FnIDjx0xTYX1D8EZ/_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/suprsend/FnIDjx0xTYX1D8EZ/_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/suprsend/FnIDjx0xTYX1D8EZ/_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/suprsend/FnIDjx0xTYX1D8EZ/_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/suprsend/FnIDjx0xTYX1D8EZ/_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/suprsend/FnIDjx0xTYX1D8EZ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Upsert User Tenant Profile - SuprSend: API-first notification infrastructure\">\u003cmeta data-mint-head property=\"og:description\" content=\"Adds or updates the per-tenant profile for a user. Fields you set here override the user\u0026#x27;s global profile when the workflow is triggered with tenant_id. Body accepts the same shape as Create / Update Users.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SuprSend: API-first notification infrastructure\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.suprsend.com/reference/upsert-user-tenant-profile\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://suprsend.mintlify.app/_mintlify/api/og/v2?division=USERS\u0026amp;title=Upsert+User+Tenant+Profile\u0026amp;description=Adds+or+updates+the+per-tenant+profile+for+a+user.+Fields+you+set+here+override+the+user%27s+global+profile+when+the+workflow+is+triggered+with+%60tenant_id%60.+Body+\u0026amp;theme=77e430d508312c14f721c90a\u0026amp;signature=78ac5d19edeb3f99e88940ac1472b98f5f10b6e5730a0bef5414bb7e9d796da7\">\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=\"Upsert User Tenant Profile - SuprSend: API-first notification infrastructure\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Adds or updates the per-tenant profile for a user. Fields you set here override the user\u0026#x27;s global profile when the workflow is triggered with tenant_id. Body accepts the same shape as Create / Update Users.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://suprsend.mintlify.app/_mintlify/api/og/v2?division=USERS\u0026amp;title=Upsert+User+Tenant+Profile\u0026amp;description=Adds+or+updates+the+per-tenant+profile+for+a+user.+Fields+you+set+here+override+the+user%27s+global+profile+when+the+workflow+is+triggered+with+%60tenant_id%60.+Body+\u0026amp;theme=77e430d508312c14f721c90a\u0026amp;signature=78ac5d19edeb3f99e88940ac1472b98f5f10b6e5730a0bef5414bb7e9d796da7\">\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/suprsend/FnIDjx0xTYX1D8EZ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SuprSend: API-first notification infrastructure\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2E70E8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.suprsend.com/reference/upsert-user-tenant-profile\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reference/upsert-user-tenant-profile.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.suprsend.com/#organization\",\"name\":\"SuprSend: API-first notification infrastructure\",\"url\":\"https://docs.suprsend.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/suprsend/CMaQBA3E8wM1DyFj/images/suprsend-logo.svg?fit=max\u0026auto=format\u0026n=CMaQBA3E8wM1DyFj\u0026q=85\u0026s=f325b9764c629a0b488476db369b8d47\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.suprsend.com#website\",\"name\":\"SuprSend: API-first notification infrastructure\",\"url\":\"https://docs.suprsend.com\",\"publisher\":{\"@id\":\"https://docs.suprsend.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.suprsend.com/reference/upsert-user-tenant-profile#webpage\",\"url\":\"https://docs.suprsend.com/reference/upsert-user-tenant-profile\",\"name\":\"Upsert User Tenant Profile\",\"description\":\"Adds or updates the per-tenant profile for a user. Fields you set here override the user's global profile when the workflow is triggered with tenant_id. Body accepts the same shape as Create / Update Users.\",\"dateModified\":\"2026-07-26T19:07:57.236Z\",\"isPartOf\":{\"@id\":\"https://docs.suprsend.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.suprsend.com/reference/upsert-user-tenant-profile#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.suprsend.com/reference/upsert-user-tenant-profile#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"USERS\",\"item\":\"https://docs.suprsend.com/reference/create-update-users\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Upsert User Tenant Profile\",\"item\":\"https://docs.suprsend.com/reference/upsert-user-tenant-profile\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.suprsend.com/reference/upsert-user-tenant-profile#apireference\",\"headline\":\"Upsert User Tenant Profile\",\"name\":\"Upsert User Tenant Profile\",\"description\":\"Adds or updates the per-tenant profile for a user. Fields you set here override the user's global profile when the workflow is triggered with tenant_id. Body accepts the same shape as Create / Update Users.\",\"url\":\"https://docs.suprsend.com/reference/upsert-user-tenant-profile\",\"mainEntityOfPage\":{\"@id\":\"https://docs.suprsend.com/reference/upsert-user-tenant-profile#webpage\"},\"dateModified\":\"2026-07-26T19:07:57.236Z\",\"publisher\":{\"@id\":\"https://docs.suprsend.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.suprsend.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SuprSend: API-first notification infrastructure\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SuprSend: API-first notification infrastructure","nav":{"global":{"anchors":[{"anchor":"Community","icon":"slack","color":{"light":"#f59f0b","dark":"#f59f0b"},"href":"https://join.slack.com/t/suprsendcommunity/shared_invite/zt-3932rw936-XNWY1RC8bsffh4if4ZyoXQ"},{"anchor":"Trust Center","icon":"shield-halved","color":{"light":"#2564eb","dark":"#2564eb"},"href":"https://trust.suprsend.com"},{"anchor":"Platform Status","icon":"wifi","color":{"light":"#2564eb","dark":"#2564eb"},"href":"https://status.suprsend.com"},{"anchor":"Postman Collection","icon":"code","color":{"light":"#2564eb","dark":"#2564eb"},"href":"https://www.postman.com/suprsend/suprsend/collection/16bdmwa/suprsend-apis"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/what-is-suprsend"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/docs/guides/modelling-customers-workspace-vs-tenant"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"Overview","href":"/reference/overview"},{"title":"Authentication","href":"/reference/authentication"},{"title":"Idempotent Requests","href":"/reference/idempotent-requests"},{"title":"SuprSend APIs on Postman","href":"/reference/postman-collection"}]},{"group":"USERS","pages":[{"title":"Create / Update Users","openapi":"POST /v1/user/{distinct_id}/","sidebarTitle":"Create / Update Users","href":"/reference/create-update-users"},{"title":"Edit User Profile","openapi":"PATCH /v1/user/{distinct_id}/","sidebarTitle":"Edit User Profile","href":"/reference/edit-user-profile"},{"title":"Fetch User by id","openapi":"GET /v1/user/{distinct_id}/","sidebarTitle":"Fetch User by id","description":"API to fetch user object by passing it's unique `distinct_id`.","href":"/reference/get-user-profile"},{"title":"Upsert User Tenant Profile","openapi":"POST /v1/user/{distinct_id}/tenant/{tenant_id}/","sidebarTitle":"Upsert User Tenant Profile","href":"/reference/upsert-user-tenant-profile"},{"title":"Fetch User Tenant Profile","openapi":"GET /v1/user/{distinct_id}/tenant/{tenant_id}/","sidebarTitle":"Fetch User Tenant Profile","description":"Returns the user profile evaluated for a specific tenant. The top-level fields are the **merged** effective profile (global layered with per-tenant overrides). The `tenant` block returns only the fields explicitly set on the per-tenant profile.","href":"/reference/fetch-user-tenant-profile"},{"title":"List User Tenant Profiles","openapi":"GET /v1/user/{distinct_id}/tenant/","sidebarTitle":"List User Tenant Profiles","href":"/reference/list-user-tenant-profiles"},{"title":"Delete User Tenant Mapping","openapi":"DELETE /v1/user/{distinct_id}/tenant/{tenant_id}/","sidebarTitle":"Delete User Tenant Mapping","href":"/reference/delete-user-tenant-mapping"},{"title":"Fetch User object subscriptions","openapi":"GET /v1/user/{distinct_id}/subscribed_to/object/","sidebarTitle":"Fetch User object subscriptions","href":"/reference/fetch-user-object-subscriptions"},{"title":"Fetch User list subscriptions","openapi":"GET /v1/user/{distinct_id}/subscribed_to/list/","sidebarTitle":"Fetch User list subscriptions","href":"/reference/fetch-user-list-subscriptions"},{"title":"List Users","openapi":"GET /v1/user/","sidebarTitle":"List Users","href":"/reference/list-users"},{"title":"Delete User","openapi":"DELETE /v1/user/{distinct_id}/","sidebarTitle":"Delete User","href":"/reference/delete-user"},{"title":"Merge User Profiles","openapi":"POST /v1/user/{distinct_id}/merge/","sidebarTitle":"Merge User Profiles","href":"/reference/merge-users"}]},{"group":"TRIGGER WORKFLOWS","pages":[{"title":"Trigger Workflow (single or bulk)","openapi":"POST /trigger/","sidebarTitle":"Trigger Workflow","href":"/reference/trigger-workflow-api"},{"title":"Trigger Workflow on a List","openapi":"POST /trigger/list/","sidebarTitle":"Trigger Workflow on List","href":"/reference/trigger-workflow-on-list"},{"title":"Dynamic Workflow Trigger","openapi":"POST /{workspace_key}/trigger/","sidebarTitle":"Dynamic Workflow Trigger","href":"/reference/dynamic-workflow-trigger"},{"title":"Cancel Workflow","openapi":"POST /v1/workflow_run/cancel/","sidebarTitle":"Cancel Workflow","href":"/reference/cancel-workflow"}]},{"group":"EVENTS","pages":[{"title":"Trigger an Event","openapi":"POST /event/","sidebarTitle":"Trigger an Event","href":"/reference/trigger-event"}]},{"group":"MESSAGES","pages":[{"title":"List Messages","openapi":"GET /v1/message/","sidebarTitle":"List Messages","href":"/reference/list-messages"},{"title":"Get Message Content","openapi":"GET /v1/message/{message_id}/content/","sidebarTitle":"Get Message Content","href":"/reference/get-message-content"},{"title":"Bulk Update Message Status","openapi":"PATCH /v1/bulk/message/","sidebarTitle":"Bulk Update Message Status","href":"/reference/bulk-update-messages"}]},{"group":"OBJECTS","pages":[{"title":"Create / Update Objects","openapi":"POST /v1/object/{object_type}/{id}/","sidebarTitle":"Create / Update Objects","href":"/reference/create-update-objects"},{"title":"Edit Object Profile","openapi":"PATCH /v1/object/{object_type}/{id}/","sidebarTitle":"Edit Object Profile","href":"/reference/edit-object-profile"},{"title":"Add Subscription","openapi":"POST /v1/object/{object_type}/{id}/subscription/","sidebarTitle":"Add Subscription","href":"/reference/add-object-subscription"},{"title":"Fetch Object by ID","openapi":"GET /v1/object/{object_type}/{id}/","sidebarTitle":"Fetch Object by ID","href":"/reference/get-object-by-id"},{"title":"Fetch Object Subscriptions","openapi":"GET /v1/object/{object_type}/{id}/subscribed_to/object/","sidebarTitle":"Fetch Object Subscriptions","href":"/reference/get-object-subscriptions"},{"title":"List Objects by Type","openapi":"GET /v1/object/{object_type}/","sidebarTitle":"List Objects by Type","href":"/reference/list-objects-by-type"},{"title":"List Object Subscriptions","openapi":"GET /v1/object/{object_type}/{id}/subscription/","sidebarTitle":"List Object Subscriptions","href":"/reference/list-object-subscriptions"},{"title":"Delete an Object","openapi":"DELETE /v1/object/{object_type}/{id}/","sidebarTitle":"Delete an Object","href":"/reference/delete-object"},{"title":"Remove Object Subscriptions","openapi":"DELETE /v1/object/{object_type}/{id}/subscription/","sidebarTitle":"Remove Object Subscriptions","href":"/reference/delete-object-subscription"}]},{"group":"TEMPLATES","pages":[{"title":"Fetch Template List","openapi":"GET /v1/template/","sidebarTitle":"Fetch Template List","href":"/reference/get-template-list"},{"title":"Fetch Template details","openapi":"GET /v1/template/{template_slug}/","sidebarTitle":"Fetch Template details","href":"/reference/get-template-details"},{"title":"Fetch Template content for a Channel","openapi":"GET /v1/template/{template_slug}/channel/{channel_slug}/","sidebarTitle":"Fetch Template content for a channel","href":"/reference/get-template-details-for-channel"}]},{"group":"TENANTS","pages":[{"title":"Create / Update Tenants","openapi":"POST /v1/tenant/{tenant_id}/","sidebarTitle":"Create / Update Tenants","href":"/reference/create-update-tenants"},{"title":"Update Tenant Properties","openapi":"PATCH /v1/tenant/{tenant_id}/properties/","sidebarTitle":"Update Tenant Properties","href":"/reference/update-tenant-properties"},{"title":"Get Tenant","openapi":"GET /v1/tenant/{tenant_id}/","sidebarTitle":"Get Tenant","href":"/reference/get-tenant-data"},{"title":"List Tenants","openapi":"GET /v1/tenant/","sidebarTitle":"List Tenants","href":"/reference/get-tenant-list"},{"title":"Delete Tenant","openapi":"DELETE /v1/tenant/{tenant_id}/","sidebarTitle":"Delete Tenant","href":"/reference/delete-tenant"}]},{"group":"PREFERENCE","pages":[{"group":"Get User Preferences","pages":[{"title":"Full Preference","openapi":"GET /v1/user/{distinct_id}/preference/","sidebarTitle":"Full Preference","href":"/reference/get-user-full-preference"},{"title":"All Categories","openapi":"GET /v1/user/{distinct_id}/preference/category/","sidebarTitle":"All Categories","href":"/reference/user-category-preference"},{"title":"All Channels","openapi":"GET /v1/user/{distinct_id}/preference/channel_preference/","sidebarTitle":"All Channels","href":"/reference/get-user-channel-preferences"},{"title":"Single Category","openapi":"GET /v1/user/{distinct_id}/preference/category/{category_slug}/","sidebarTitle":"Single Category","href":"/reference/get-user-category-preferences"}]},{"group":"Update User Preferences","pages":[{"title":"Update User Full Preference","openapi":"PATCH /v1/user/{distinct_id}/preference/","sidebarTitle":"Update User Full Preference","href":"/reference/update-user-full-preference"},{"title":"Category and Channel within Category","openapi":"PATCH /v1/user/{distinct_id}/preference/category/{category_slug}/","sidebarTitle":"Category and Channel within Category","href":"/reference/update-user-category-preference"},{"title":"Overall Channel level","openapi":"PATCH /v1/user/{distinct_id}/preference/channel_preference/","sidebarTitle":"Overall Channel level","href":"/reference/update-user-channel-preference"},{"title":"Bulk Update","openapi":"PATCH /v1/bulk/user/preference/","sidebarTitle":"Bulk Update","href":"/reference/bulk-update-user-preference"},{"title":"Reset","openapi":"PATCH /v1/bulk/user/preference/reset/","sidebarTitle":"Reset","href":"/reference/reset-user-preferences"}]},{"group":"Manage Tenant Preferences","pages":[{"title":"Get Tenant Full Preference","openapi":"GET /v1/tenant/{tenant_id}/preference/","sidebarTitle":"Get Tenant Full Preference","href":"/reference/get-tenant-full-preference"},{"title":"Get Tenant Preference All Categories","openapi":"GET /v1/tenant/{tenant_id}/preference/category/","sidebarTitle":"Get Tenant Preference All Categories","href":"/reference/get-tenant-preference-all-categories"},{"title":"Get Tenant Preference Single Category","openapi":"GET /v1/tenant/{tenant_id}/preference/category/{category}/","sidebarTitle":"Get Tenant Preference Single Category","href":"/reference/get-tenant-preference-single-category"},{"title":"Update Tenant Preference Single Category","openapi":"PATCH /v1/tenant/{tenant_id}/preference/category/{category}/","sidebarTitle":"Update Tenant Preference Single Category","href":"/reference/update-tenant-preference-single-category"},{"title":"Get Tenant Default Preference","openapi":"GET /v1/tenant/{tenant_id}/category/","sidebarTitle":"Get Tenant Default Preference","href":"/reference/get-tenant-category-preferences"}]},{"group":"Get Object Preferences","pages":[{"title":"Full Preference","openapi":"GET /v1/object/{object_type}/{id}/preference/","sidebarTitle":"Full Preference","href":"/reference/get-object-full-preference"},{"title":"All Categories","openapi":"GET /v1/object/{object_type}/{id}/preference/category/","sidebarTitle":"All Categories","href":"/reference/get-object-category-preference"},{"title":"All Channels","openapi":"GET /v1/object/{object_type}/{id}/preference/channel_preference/","sidebarTitle":"All Channels","href":"/reference/get-object-channel-preferences"},{"title":"Single Category","openapi":"GET /v1/object/{object_type}/{id}/preference/category/{category_slug}/","sidebarTitle":"Single Category","href":"/reference/get-object-single-category-preference"}]},{"group":"Update Object Preferences","pages":[{"title":"Update Object Full Preference","openapi":"PATCH /v1/object/{object_type}/{id}/preference/","sidebarTitle":"Update Object Full Preference","href":"/reference/update-object-full-preference"},{"title":"Category and Channel within Category","openapi":"PATCH /v1/object/{object_type}/{id}/preference/category/{category_slug}/","sidebarTitle":"Category and Channel within Category","href":"/reference/object-preference-category"},{"title":"Overall Channel level","openapi":"PATCH /v1/object/{object_type}/{id}/preference/channel_preference/","sidebarTitle":"Overall Channel level","href":"/reference/update-object-channel-preference"}]}]},{"group":"LISTS","pages":[{"title":"Create a List","openapi":"POST /v1/subscriber_list/","sidebarTitle":"Create a List","href":"/reference/create-list"},{"title":"Add Users to List","openapi":"POST /v1/subscriber_list/{list_id}/subscriber/add/","sidebarTitle":"Add Users to List","href":"/reference/add-user-to-list"},{"title":"Remove Users from List","openapi":"POST /v1/subscriber_list/{list_id}/subscriber/remove/","sidebarTitle":"Remove Users from List","href":"/reference/remove-subscribers-from-list"},{"group":"Replace List Users","pages":[{"title":"Overview","href":"/reference/replace-list-subscribers"},{"title":"Start Sync","openapi":"POST /v1/subscriber_list/{list_id}/start_sync/","sidebarTitle":"Start Sync","href":"/reference/start-sync"},{"title":"Add Users to Draft List","openapi":"POST /v1/subscriber_list/{list_id}/version/{version_id}/subscriber/add/","sidebarTitle":"Add Users to Draft List","href":"/reference/add-subscribers-to-draft-list"},{"title":"Remove Users from Draft List","openapi":"POST /v1/subscriber_list/{list_id}/version/{version_id}/subscriber/remove/","sidebarTitle":"Remove Users from Draft List","href":"/reference/remove-subscribers-from-draft-list"},{"title":"Finish Sync","openapi":"PATCH /v1/subscriber_list/{list_id}/version/{version_id}/finish_sync/","sidebarTitle":"Finish Sync","href":"/reference/finish-sync"},{"title":"Delete Draft List","openapi":"PATCH /v1/subscriber_list/{list_id}/version/{version_id}/delete/","sidebarTitle":"Delete Draft List","href":"/reference/delete-draft-list"}]},{"group":"Segment Lists (dry-run)","pages":[{"title":"Dry-run a segment query (sample rows)","openapi":"POST /v1/subscriber_list/~/dry_run/","sidebarTitle":"Segment dry-run (rows)","href":"/reference/segment-dry-run"},{"title":"Dry-run a segment query (count only)","openapi":"POST /v1/subscriber_list/~/dry_run/count/","sidebarTitle":"Segment dry-run (count)","href":"/reference/segment-dry-run-count"}]},{"title":"Get all Lists","openapi":"GET /v1/subscriber_list/","sidebarTitle":"Get all Lists","href":"/reference/get-all-lists"},{"title":"Get List Configuration","openapi":"GET /v1/subscriber_list/{list_id}/","sidebarTitle":"Get List Configuration","href":"/reference/get-list-details"},{"title":"Get list users","openapi":"GET /v1/subscriber_list/{list_id}/subscriber/","sidebarTitle":"Get list users","href":"/reference/get-list-users"},{"title":"Delete a List","openapi":"PATCH /v1/subscriber_list/{list_id}/delete/","sidebarTitle":"Delete a List","href":"/reference/delete-list"}]},{"group":"BROADCAST","pages":[{"title":"Trigger Broadcast","openapi":"POST /{workspace_key}/broadcast/","sidebarTitle":"Trigger Broadcast","href":"/reference/trigger-broadcast"},{"title":"Cancel Broadcast","openapi":"POST /v1/broadcast_run/cancel/","sidebarTitle":"Cancel Broadcast","href":"/reference/cancel-broadcast"}]}]},{"tab":"Management API","pages":[{"title":"Management API","href":"/docs/management-api-overview"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/reference/cli-intro"}]},{"tab":"Build with AI","pages":[{"title":"Build with AI","href":"/reference/build-with-ai"}]},{"tab":"Developer Resources","pages":[{"title":"Developer Resources","href":"/docs/developer/overview"}]},{"tab":"Self-Hosted","pages":[{"title":"Self-Hosted","href":"/docs/self-hosted/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/overview"}]}]},"basePath":"","title":"Upsert User Tenant Profile - SuprSend: API-first notification infrastructure","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-BAvA99GL.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}