Validates an embed key against the request’s Origin and returns the key’s public record and the manufacturer a manufacturer key scopes widgets to (manufacturer_context, null for other keys). For a partner key, it also returns what the partner’s widgets must not show: the manufacturers, device types and providers the partner declared disabled or not supported through Seam and, given capability, the manufacturer and provider combinations excluded for that capability. Seam’s device database widgets call this endpoint.
An embed key (eco_live_…) for browser requests; the request's Origin must match one of the key's allowed origins. Optional on most endpoints, but embed/resolve always needs one, and so does compatibility from a browser on a site other than seam.co. A manufacturer embed key implies its manufacturer.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Seam","colors":{"primary":"#4C45D9","light":"#9793EC","dark":"#2E27B9"},"logo":{"light":"https://mintcdn.com/seam/RVHI-5qT0fl5Zkft/images/seam-logo-light.svg?fit=max\u0026auto=format\u0026n=RVHI-5qT0fl5Zkft\u0026q=85\u0026s=4529d092246aab7709a6692a7cdccf39","dark":"https://mintcdn.com/seam/RVHI-5qT0fl5Zkft/images/seam-logo-dark.svg?fit=max\u0026auto=format\u0026n=RVHI-5qT0fl5Zkft\u0026q=85\u0026s=03fb0cba588d1fe9509b748f460ec77f"},"favicon":"https://mintcdn.com/seam/nEtd2JDrEIRXJ8-h/images/favicon.svg?fit=max\u0026auto=format\u0026n=nEtd2JDrEIRXJ8-h\u0026q=85\u0026s=387df3cc957aa637bdc0aae7bd0fd44f","api":{"playground":{"display":"simple"},"examples":{"autogenerate":false}},"background":{"color":{"light":"#FFFFFF","dark":"#090A0B"}},"navbar":{"links":[{"href":"https://console.seam.co/signin?utm_source=docs\u0026utm_medium=navbar","label":"Sign In"}],"primary":{"type":"button","label":"Sign Up","href":"https://console.seam.co/signup?utm_source=docs\u0026utm_medium=navbar"}},"footer":{"socials":{"github":"https://github.com/seamapi","website":"https://www.seam.co/"}},"seo":{"metatags":{"og:type":"website","og:site_name":"Seam","og:locale":"en_US","og:image":"https://www.seam.co/docs/images/seam-og-default.jpg","twitter:card":"summary_large_image","twitter:site":"@helloseam"},"indexing":"navigable"},"styling":{"codeblocks":"dark","latex":false},"integrations":{"ga4":{"measurementId":"G-WEDP4R501R"},"posthog":{"apiKey":"phc_uGxZi2ITs4kTMqcVibHr6wVWhJ1YKA2LpCbldvd3GYN","apiHost":"https://us.i.posthog.com"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"seam","hasAudioNarration":false,"actualSubdomain":"seam","customDomains":["www.seam.co"],"gitSource":{"type":"github","owner":"seamapi","repo":"docs","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aebec08cf597053497c370b","collectionId":"cc7495f9-aacf-4ee1-8162-c93be2c15270","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aebec08cf597053497c370b"},"feedback":{"thumbs":true,"issues":false,"edits":false},"entitlements":{},"buildId":"6aed02a3cb26686c4cd43021","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"API Reference","count":335},{"language":"default","tag":"Brand Guides","count":251},{"language":"default","tag":"Guides","count":198},{"language":"default","tag":"Devices and Systems","count":143},{"language":"default","tag":"Access Control Systems","count":124},{"language":"default","tag":"Smart Locks","count":102},{"language":"default","tag":"Low-Level APIs","count":74},{"language":"default","tag":"Setup","count":72},{"language":"default","tag":"Thermostats","count":69},{"language":"default","tag":"Access Control Systems (ACS)","count":63}]},"assistantConfig":{},"basePath":"/docs","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":"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},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".seam-property-index{max-height:20rem;overflow-y:auto;padding:0.75rem;border-radius:0.5rem;background:var(--seam-surface-2)}a.seam-ref{display:block;font-size:0.875rem;scroll-margin-top:10rem}.seam-brand-cover-source,#header>.seam-brand-cover{overflow:hidden;border-radius:0.5rem}#header>.seam-brand-cover{width:100%;margin:0 0 2rem}.seam-brand-cover-light,.seam-brand-cover-dark{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;margin:0}.seam-brand-cover-dark,.dark .seam-brand-cover-light{display:none}.dark .seam-brand-cover-dark{display:block}#content-area:has(#header>.seam-brand-cover) .seam-brand-cover-source{display:none}:root{--seam-primary-50: #e9e8fc;--seam-primary-100: #d4d2f9;--seam-primary-300: #9793ec;--seam-primary-400: #625ae2;--seam-primary-500: #4c45d9;--seam-primary-600: #2e27b9;--seam-primary-900: #0e1044;--seam-gray-25: #ffffff;--seam-gray-50: #eeeff2;--seam-gray-100: #e5e7eb;--seam-gray-200: #ccd0d7;--seam-gray-300: #acb2be;--seam-gray-400: #848b9a;--seam-gray-500: #5c6475;--seam-gray-600: #505668;--seam-gray-700: #31353f;--seam-gray-800: #282a30;--seam-gray-900: #191b1f;--seam-gray-950: #090a0b;--seam-txt-1: var(--seam-gray-950);--seam-txt-2: var(--seam-gray-500);--seam-txt-3: var(--seam-gray-400);--seam-surface-1: var(--seam-gray-25);--seam-surface-2: color-mix(in srgb, var(--seam-gray-50) 20%, var(--seam-gray-25));--seam-surface-3: var(--seam-gray-100);--seam-surface-4: var(--seam-gray-200);--seam-card: #ffffff;--seam-card-hover: rgb(240 240 240);--seam-accent: var(--seam-primary-500);--seam-accent-hover: var(--seam-primary-400);--seam-accent-text: var(--seam-primary-600);--seam-stroke: 0 0 0 0.5px rgb(9 10 11 / 0.1) inset}.dark{--seam-txt-1: var(--seam-gray-50);--seam-txt-2: var(--seam-gray-400);--seam-txt-3: var(--seam-gray-500);--seam-surface-1: var(--seam-gray-950);--seam-surface-2: color-mix(in srgb, var(--seam-gray-950) 99%, #737373);--seam-surface-3: var(--seam-gray-900);--seam-surface-4: color-mix(in srgb, var(--seam-gray-900) 95%, #fff);--seam-card: color-mix(in srgb, var(--seam-gray-900) 30%, #111);--seam-card-hover: color-mix(in srgb, var(--seam-gray-900) 60%, #242424);--seam-accent: var(--seam-primary-400);--seam-accent-hover: var(--seam-primary-300);--seam-accent-text: var(--seam-primary-300);--seam-stroke: 0 0 0 0.5px rgb(255 255 255 / 0.1) inset}.seam-container{max-width:1120px;margin:0 auto;padding:0 1.5rem}.seam-section{padding:4rem 0}.seam-section-alt{background:var(--seam-surface-2);box-shadow:0 0.5px 0 0 rgb(9 10 11 / 0.1) inset,\n 0 -0.5px 0 0 rgb(9 10 11 / 0.1) inset}.dark .seam-section-alt{box-shadow:0 0.5px 0 0 rgb(255 255 255 / 0.08) inset,\n 0 -0.5px 0 0 rgb(255 255 255 / 0.08) inset}.seam-hero{padding:5rem 0 3rem;background:radial-gradient(\n 60% 50% at 50% 0%,\n color-mix(in srgb, var(--seam-primary-500) 10%, transparent),\n transparent 70%\n )}.dark .seam-hero{background:radial-gradient(\n 60% 50% at 50% 0%,\n color-mix(in srgb, var(--seam-primary-400) 16%, transparent),\n transparent 70%\n )}.seam-h1{font-size:clamp(2rem, 4.5vw, 3.25rem);line-height:1.1;font-weight:600;letter-spacing:-0.03em;color:var(--seam-txt-1);max-width:20ch;margin:0 0 1.25rem}.seam-lede{font-size:1.125rem;line-height:1.6;max-width:60ch;color:var(--seam-txt-2);margin:0 0 3.5rem}.seam-h2{font-size:1.5rem;font-weight:600;letter-spacing:-0.02em;color:var(--seam-txt-1);margin:0 0 0.5rem}.seam-sub{color:var(--seam-txt-2);margin:0 0 1.75rem;max-width:65ch}.seam-btn{display:inline-flex;align-items:center;padding:0.625rem 1.125rem;border-radius:0.5rem;font-weight:525;font-size:0.9375rem;text-decoration:none!important;transition:background 120ms,\n box-shadow 120ms}.seam-btn-primary{background:var(--seam-gray-950);color:#fff!important;box-shadow:0 12px 16px 0 rgb(255 255 255 / 0.06) inset,\n 0 4px 4px 0 rgb(9 10 11 / 0.08),\n 0 1px 2px 0 rgb(9 10 11 / 0.1)}.seam-btn-primary:hover{background:var(--seam-gray-800)}.dark .seam-btn-primary{background:#fff;color:var(--seam-gray-950)!important}.dark .seam-btn-primary:hover{background:var(--seam-gray-100)}.seam-btn-secondary{background:var(--seam-card);color:var(--seam-txt-1)!important;box-shadow:var(--seam-stroke)}.seam-btn-secondary:hover{background:var(--seam-card-hover)}#topbar-cta-button a>span.absolute{background:var(--seam-gray-950)!important}#topbar-cta-button a:hover>span.absolute{background:var(--seam-gray-800)!important;opacity:1!important}.dark #topbar-cta-button a>span.absolute{background:#fff!important}.dark #topbar-cta-button a .z-10 span,.dark #topbar-cta-button a svg{color:var(--seam-gray-950)!important}.seam-path-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:1.25rem;align-items:stretch}@media (max-width: 800px){.seam-path-grid{grid-template-columns:1fr}}.seam-agent-card,.seam-quickstart-card{display:flex;flex-direction:column;align-items:flex-start;padding:1.75rem;border-radius:0.75rem;background:var(--seam-card)}.seam-agent-card{background:var(--seam-gray-950);box-shadow:0 0.5px 0 0 #090a0b inset,\n 0 1px 0 0 rgb(255 255 255 / 0.12) inset,\n 0 12px 24px 0 rgb(9 10 11 / 0.12)}.seam-agent-card .seam-agent-title{color:#fff}.seam-agent-card .seam-agent-desc{color:var(--seam-gray-300)}.dark .seam-agent-card{background:var(--seam-gray-900)}.seam-agent-card .code-block{background:transparent;box-shadow:none;border:none;padding:0}.seam-agent-card .code-block [data-component-part=\"code-block-header\"]{display:none}.seam-agent-code{position:relative}.seam-agent-code::before{content:'';display:block;height:1px;width:88%;background:rgb(255 255 255 / 0.14);margin:0.25rem 0 1rem}.seam-quickstart-card{background:var(--seam-surface-2);box-shadow:var(--seam-stroke)}.seam-agent-title{font-size:1.25rem;font-weight:600;letter-spacing:-0.02em;color:var(--seam-txt-1);margin:0 0 0.5rem}.seam-agent-desc{font-size:0.8125rem;line-height:1.55;color:var(--seam-txt-2);margin:0 0 1rem}.seam-agent-code{width:100%;margin-top:auto}.seam-agent-code pre{margin:0;font-size:0.875rem}.seam-quickstart-cta{margin-top:auto;margin-left:auto}.seam-open-menu{position:absolute;right:0;bottom:0;z-index:10}.seam-open-btn{cursor:pointer;font-size:0.9375rem;font-weight:525;line-height:1.5;color:var(--seam-gray-950);background:#fff;border:none;border-radius:0.5rem;padding:0.625rem 1.125rem;box-shadow:0 2px 8px 0 rgb(9 10 11 / 0.35);transition:background 120ms,\n transform 120ms}.seam-open-btn:hover{background:var(--seam-gray-100);transform:translateY(-1px)}.seam-open-list{display:none;position:absolute;right:0;top:calc(100% + 0.375rem);z-index:30;min-width:11.5rem;flex-direction:column;padding:0.25rem;border-radius:0.5rem;background:var(--seam-gray-800);box-shadow:0 0 0 0.5px rgb(255 255 255 / 0.12) inset,\n 0 8px 24px 0 rgb(9 10 11 / 0.4)}.seam-open-menu.open .seam-open-list{display:flex}.seam-open-list a,.seam-open-list button{text-align:left;font-size:0.8125rem;font-weight:475;color:rgb(255 255 255 / 0.9)!important;text-decoration:none!important;background:none;border:none;cursor:pointer;padding:0.4375rem 0.625rem;border-radius:0.375rem;white-space:nowrap}.seam-open-list a:hover,.seam-open-list button:hover{background:rgb(255 255 255 / 0.1)}.seam-agent-code .code-block,.seam-hero-cell .code-block{margin:0}.seam-code-label{font-size:0.75rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--seam-txt-3);margin:0 0 0.625rem}.seam-section .card h2,.seam-section [class*=\"card\"] h2{font-size:0.9375rem}.seam-sdk-row{display:flex;flex-wrap:wrap;gap:0.625rem}.seam-sdk{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 0.875rem;border-radius:0.5rem;font-size:0.875rem;font-weight:525;color:var(--seam-txt-1)!important;text-decoration:none!important;background:var(--seam-card);box-shadow:var(--seam-stroke);transition:background 120ms}.seam-sdk:hover{background:var(--seam-card-hover)}.seam-video-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem}@media (max-width: 800px){.seam-video-grid{grid-template-columns:1fr}}.seam-video-frame{position:relative;aspect-ratio:16 / 9;border-radius:0.5rem;overflow:hidden;background:var(--seam-gray-950);box-shadow:var(--seam-stroke)}.seam-video-frame iframe{position:absolute;inset:0;width:100%;height:100%}.seam-video-title{font-weight:525;font-size:0.9375rem;color:var(--seam-txt-1);margin:0.75rem 0 0.125rem}.seam-video-desc{font-size:0.8125rem;color:var(--seam-txt-2);margin:0}.seam-split{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center}@media (max-width: 800px){.seam-split{grid-template-columns:1fr}}.seam-logo-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:0.75rem}.seam-logo-grid a{display:flex;align-items:center;justify-content:center;height:64px;padding:0.75rem;border-radius:0.5rem;background:var(--seam-card);box-shadow:var(--seam-stroke);transition:background 120ms}.seam-logo-grid a:hover{background:var(--seam-card-hover)}.seam-logo-grid img{max-height:32px;max-width:100%;object-fit:contain;margin:0}.dark .seam-logo-grid a{background:var(--seam-gray-50)}.dark .seam-logo-grid a:hover{background:var(--seam-gray-100)}.seam-footer-strip{padding-top:2rem;padding-bottom:5rem}"}],"page":{"pagePath":"device-manufacturer-guidance/manufacturer-api/embed-resolve","slug":"/device-manufacturer-guidance/manufacturer-api/embed-resolve","pageMetadata":{"title":"Resolve an Embed Key","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /embed/resolve","description":"Validates an embed key against the request's `Origin` and returns the key's public record and the manufacturer a manufacturer key scopes widgets to (`manufacturer_context`, null for other keys). For a partner key, it also returns what the partner's widgets must not show: the manufacturers, device types and providers the partner declared disabled or not supported through Seam and, given `capability`, the manufacturer and provider combinations excluded for that capability. Seam's device database widgets call this endpoint.","href":"/device-manufacturer-guidance/manufacturer-api/embed-resolve"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Validates an embed key against the request’s \", _jsx(_components.code, {\n children: \"Origin\"\n }), \" and returns the key’s public record and the manufacturer a manufacturer key scopes widgets to (\", _jsx(_components.code, {\n children: \"manufacturer_context\"\n }), \", null for other keys). For a partner key, it also returns what the partner’s widgets must not show: the manufacturers, device types and providers the partner declared disabled or not supported through Seam and, given \", _jsx(_components.code, {\n children: \"capability\"\n }), \", the manufacturer and provider combinations excluded for that capability. Seam’s device database widgets call this endpoint.\"]\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{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,..._provideComponents(),...props.components};return _jsxs(_components.p,{children:[`Seam’s widgets call this endpoint for you. Call it yourself to check that an `,_jsx(_components.a,{href:`/device-manufacturer-guidance/manufacturer-api/keys#embed-keys`,children:`embed key`}),` works from your site’s origin.`]})}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":"dark","config":{},"pageMetadata":{"title":"Resolve an Embed Key","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /embed/resolve","description":"Validates an embed key against the request's `Origin` and returns the key's public record and the manufacturer a manufacturer key scopes widgets to (`manufacturer_context`, null for other keys). For a partner key, it also returns what the partner's widgets must not show: the manufacturers, device types and providers the partner declared disabled or not supported through Seam and, given `capability`, the manufacturer and provider combinations excluded for that capability. Seam's device database widgets call this endpoint.","href":"/device-manufacturer-guidance/manufacturer-api/embed-resolve"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/seam/4d860677184e9142/pylon.js","/docs/_mintlify/custom/seam/18bfb52c609a48d7/custom.js"],"openApiReferenceData":{"operation":{"summary":"Resolve an embed key","description":"Validates an embed key against the request's `Origin` and returns the key's public record and the manufacturer a manufacturer key scopes widgets to (`manufacturer_context`, null for other keys). For a partner key, it also returns what the partner's widgets must not show: the manufacturers, device types and providers the partner declared disabled or not supported through Seam and, given `capability`, the manufacturer and provider combinations excluded for that capability. Seam's device database widgets call this endpoint.","tags":["compatibility","embed-keys"],"responses":{"200":"cd40e156-079b-4080-8b48-96967d0f7287","400":"3e254c0a-6c23-48cb-831d-04d2da455ae2","401":"b43d1081-1961-4aec-8247-7087e7659df8","403":"7dc66538-b92b-4f0b-a932-207dfe2ca297","429":"88f42e22-4999-4e3d-9331-6ae1141810f8"},"security":["08c349dc-8d1e-45db-9921-280a7f0835dd","42672581-8d52-4816-8dbc-17e5338435a7"],"parameters":["290ef8ea-77ca-4169-a155-ebbcac3daf5e"],"method":"get","type":"path","servers":["1cd15f87-7657-4981-b18f-5865111c700d"],"path":"/embed/resolve","baseUrlOptions":["https://ecosystem.seam.co/v1"],"title":"Resolve an embed key","codeSamples":[],"requiredOnlyExamples":false,"disableCodeSampleGeneration":true,"responseExampleType":"generated"},"dependencies":{"parameters":{"290ef8ea-77ca-4169-a155-ebbcac3daf5e":{"name":"capability","in":"query","required":false,"schema":{"default":"","description":"DeviceDB capability the widget is rendering (capability_name); adds capability_exclusions.","type":"string","pattern":"^[a-z0-9_]*$","isRequired":false,"uniqueKey":"","typeLabel":"string"}}},"responses":{"cd40e156-079b-4080-8b48-96967d0f7287":{"description":"OK","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"embed_key":{"type":"object","properties":{"embed_key_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Ecosystem UUID of the key.","isRequired":true,"uniqueKey":"embed_key.embed_key_id","typeLabel":"string\u003cuuid>"},"display_name":{"type":"string","description":"Display name.","isRequired":true,"uniqueKey":"embed_key.display_name","typeLabel":"string"},"owner_kind":{"type":"string","enum":["partner","manufacturer","seam"],"description":"Who owns the key: `partner`, `manufacturer` or `seam`.","isRequired":true,"uniqueKey":"embed_key.owner_kind","typeLabel":"enum\u003cstring>"},"partner_id":{"oneOf":[{"type":"string","description":"The owning partner's UUID; null for other owners.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","isRequired":true,"uniqueKey":"embed_key.partner_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"The owning partner's UUID; null for other owners.","isRequired":true,"uniqueKey":"embed_key.partner_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"embed_key.partner_id","typeLabel":"string\u003cuuid> | null"},"manufacturer_slug":{"oneOf":[{"description":"The owning manufacturer's slug; null for other owners.","type":"string","isRequired":true,"uniqueKey":"embed_key.manufacturer_slug.oneOf.0","typeLabel":"string"},{"description":"The owning manufacturer's slug; null for other owners.","type":"null","isRequired":true,"uniqueKey":"embed_key.manufacturer_slug.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"embed_key.manufacturer_slug","typeLabel":"string | null"},"allowed_origins":{"type":"array","items":{"type":"string","uniqueKey":"embed_key.allowed_origins.items.[INDEX]","typeLabel":"string"},"description":"Origins allowed to use the key, as globs; localhost is always allowed.","isRequired":true,"uniqueKey":"embed_key.allowed_origins","typeLabel":"string[]"},"config":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"embed_key.config.additionalProperties","typeLabel":"any"},"description":"Widget configuration stored with the key.","isRequired":true,"uniqueKey":"embed_key.config","typeLabel":"object"},"revoked_at":{"oneOf":[{"type":"string","description":"When the key was revoked (ISO 8601); null while active.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","isRequired":true,"uniqueKey":"embed_key.revoked_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When the key was revoked (ISO 8601); null while active.","isRequired":true,"uniqueKey":"embed_key.revoked_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"embed_key.revoked_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Creation time (ISO 8601).","isRequired":true,"uniqueKey":"embed_key.created_at","typeLabel":"string\u003cdate-time>"}},"required":["embed_key_id","display_name","owner_kind","partner_id","manufacturer_slug","allowed_origins","config","revoked_at","created_at"],"additionalProperties":false,"description":"The key's public record, without the key value.","isRequired":true,"uniqueKey":"embed_key","typeLabel":"object"},"manufacturer_context":{"oneOf":[{"type":"object","description":"Set for manufacturer-owned keys; null for partner and Seam keys.","required":["manufacturer_slug"],"properties":{"manufacturer_slug":{"type":"string","description":"The manufacturer widgets default their filter to.","isRequired":true,"uniqueKey":"manufacturer_context.oneOf.0.manufacturer_slug","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"manufacturer_context.oneOf.0","typeLabel":"object"},{"type":"null","description":"Set for manufacturer-owned keys; null for partner and Seam keys.","isRequired":true,"uniqueKey":"manufacturer_context.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"manufacturer_context","typeLabel":"object | null"},"exclusions":{"type":"object","properties":{"excluded_manufacturers":{"type":"array","items":{"type":"string","uniqueKey":"exclusions.excluded_manufacturers.items.[INDEX]","typeLabel":"string"},"description":"DeviceDB manufacturer slugs declared disabled or not via Seam.","isRequired":true,"uniqueKey":"exclusions.excluded_manufacturers","typeLabel":"string[]"},"excluded_device_types":{"type":"array","items":{"type":"string","uniqueKey":"exclusions.excluded_device_types.items.[INDEX]","typeLabel":"string"},"description":"DeviceDB device_type slugs (device categories) declared disabled.","isRequired":true,"uniqueKey":"exclusions.excluded_device_types","typeLabel":"string[]"},"unsupported_providers":{"type":"array","items":{"type":"string","uniqueKey":"exclusions.unsupported_providers.items.[INDEX]","typeLabel":"string"},"description":"DeviceDB provider slugs declared disabled or not via Seam, plus providers that run on one of them (e.g. `33-lock` on `tt-lock`) without a declaration of their own.","isRequired":true,"uniqueKey":"exclusions.unsupported_providers","typeLabel":"string[]"},"capability":{"type":"string","description":"The capability the exclusions below were resolved for; empty when none was requested.","isRequired":true,"uniqueKey":"exclusions.capability","typeLabel":"string"},"capability_exclusions":{"type":"array","items":{"type":"object","properties":{"device_category":{"type":"string","description":"Device category, e.g. `smartlock`.","isRequired":true,"uniqueKey":"exclusions.capability_exclusions.items.[INDEX].device_category","typeLabel":"string"},"manufacturer_slug":{"type":"string","description":"Empty means every manufacturer in the category.","isRequired":true,"uniqueKey":"exclusions.capability_exclusions.items.[INDEX].manufacturer_slug","typeLabel":"string"},"provider_slug":{"type":"string","description":"Empty means every provider in the category.","isRequired":true,"uniqueKey":"exclusions.capability_exclusions.items.[INDEX].provider_slug","typeLabel":"string"}},"required":["device_category","manufacturer_slug","provider_slug"],"additionalProperties":false,"uniqueKey":"exclusions.capability_exclusions.items.[INDEX]","typeLabel":"object"},"description":"Combinations the partner must not show for that capability because of a capability-level declaration (e.g. mobile keys disabled on Salto KS).","isRequired":true,"uniqueKey":"exclusions.capability_exclusions","typeLabel":"object[]"}},"required":["excluded_manufacturers","excluded_device_types","unsupported_providers","capability","capability_exclusions"],"additionalProperties":false,"description":"What a partner key's widgets must not show; empty for other keys.","isRequired":true,"uniqueKey":"exclusions","typeLabel":"object"},"ok":{"type":"boolean","const":true,"description":"Always `true` on success.","isRequired":true,"uniqueKey":"ok","typeLabel":"boolean"}},"required":["embed_key","manufacturer_context","exclusions","ok"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"embed_key":{"embed_key_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","display_name":"\u003cstring>","owner_kind":"partner","partner_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","manufacturer_slug":"\u003cstring>","allowed_origins":["\u003cstring>"],"config":{},"revoked_at":"2023-11-07T05:31:56Z","created_at":"2023-11-07T05:31:56Z"},"manufacturer_context":{"manufacturer_slug":"\u003cstring>"},"exclusions":{"excluded_manufacturers":["\u003cstring>"],"excluded_device_types":["\u003cstring>"],"unsupported_providers":["\u003cstring>"],"capability":"\u003cstring>","capability_exclusions":[{"device_category":"\u003cstring>","manufacturer_slug":"\u003cstring>","provider_slug":"\u003cstring>"}]},"ok":true}}},"exampleType":"generated"}},"exampleType":"generated"},"3e254c0a-6c23-48cb-831d-04d2da455ae2":{"description":"Invalid parameters","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ok":{"type":"boolean","const":false,"description":"Always `false` on error.","isRequired":true,"uniqueKey":"ok","typeLabel":"boolean"},"error":{"type":"object","properties":{"type":{"type":"string","description":"Machine-readable error type.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","description":"Request ID to include when you contact Seam.","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"data":{"description":"Details for some error types, such as validation issues.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.data.additionalProperties","typeLabel":"any"},"uniqueKey":"error.data","typeLabel":"object"}},"required":["type","message","request_id"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["ok","error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"ok":false,"error":{"type":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>","data":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"b43d1081-1961-4aec-8247-7087e7659df8":{"description":"The key is unknown, revoked or unsupported","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ok":{"type":"boolean","const":false,"description":"Always `false` on error.","isRequired":true,"uniqueKey":"ok","typeLabel":"boolean"},"error":{"type":"object","properties":{"type":{"type":"string","description":"Machine-readable error type.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","description":"Request ID to include when you contact Seam.","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"data":{"description":"Details for some error types, such as validation issues.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.data.additionalProperties","typeLabel":"any"},"uniqueKey":"error.data","typeLabel":"object"}},"required":["type","message","request_id"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["ok","error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"ok":false,"error":{"type":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>","data":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"7dc66538-b92b-4f0b-a932-207dfe2ca297":{"description":"The key does not allow this request, such as an origin that is not allowed","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ok":{"type":"boolean","const":false,"description":"Always `false` on error.","isRequired":true,"uniqueKey":"ok","typeLabel":"boolean"},"error":{"type":"object","properties":{"type":{"type":"string","description":"Machine-readable error type.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","description":"Request ID to include when you contact Seam.","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"data":{"description":"Details for some error types, such as validation issues.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.data.additionalProperties","typeLabel":"any"},"uniqueKey":"error.data","typeLabel":"object"}},"required":["type","message","request_id"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["ok","error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"ok":false,"error":{"type":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>","data":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"88f42e22-4999-4e3d-9331-6ae1141810f8":{"description":"Rate limited","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ok":{"type":"boolean","const":false,"description":"Always `false` on error.","isRequired":true,"uniqueKey":"ok","typeLabel":"boolean"},"error":{"type":"object","properties":{"type":{"type":"string","description":"Machine-readable error type.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","description":"Request ID to include when you contact Seam.","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"data":{"description":"Details for some error types, such as validation issues.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.data.additionalProperties","typeLabel":"any"},"uniqueKey":"error.data","typeLabel":"object"}},"required":["type","message","request_id"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["ok","error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"ok":false,"error":{"type":"\u003cstring>","message":"\u003cstring>","request_id":"\u003cstring>","data":{}}}}},"exampleType":"generated"}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}},"exampleType":"generated"}},"security":{"08c349dc-8d1e-45db-9921-280a7f0835dd":{"embed_key":{"type":"apiKey","in":"header","name":"X-Embed-Key","description":"An embed key (`eco_live_…`) for browser requests; the request's `Origin` must match one of the key's allowed origins. Optional on most endpoints, but `embed/resolve` always needs one, and so does `compatibility` from a browser on a site other than seam.co. A manufacturer embed key implies its manufacturer.","scopes":[],"schemeName":"embed_key"}},"42672581-8d52-4816-8dbc-17e5338435a7":{"embed_key_param":{"type":"apiKey","in":"query","name":"embed_key","description":"An embed key sent as the `embed_key` query parameter instead of the `X-Embed-Key` header.","scopes":[],"schemeName":"embed_key_param"}}},"servers":{"1cd15f87-7657-4981-b18f-5865111c700d":{"url":"https://ecosystem.seam.co/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-Embed-Key","description":"An embed key (`eco_live_…`) for browser requests; the request's `Origin` must match one of the key's allowed origins. Optional on most endpoints, but `embed/resolve` always needs one, and so does `compatibility` from a browser on a site other than seam.co. A manufacturer embed key implies its manufacturer.","scopes":[],"schemeName":"embed_key"},"schema":{"title":"X-Embed-Key","type":"string","description":"An embed key (`eco_live_…`) for browser requests; the request's `Origin` must match one of the key's allowed origins. Optional on most endpoints, but `embed/resolve` always needs one, and so does `compatibility` from a browser on a site other than seam.co. A manufacturer embed key implies its manufacturer.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"embed_key","name":"X-Embed-Key"}],"title":"embed_key"},{"schemes":[{"scheme":{"type":"apiKey","in":"query","name":"embed_key","description":"An embed key sent as the `embed_key` query parameter instead of the `X-Embed-Key` header.","scopes":[],"schemeName":"embed_key_param"},"schema":{"title":"embed_key","type":"string","description":"An embed key sent as the `embed_key` query parameter instead of the `X-Embed-Key` header.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"embed_key_param","name":"embed_key"}],"title":"embed_key_param"}]},"originalFileLocation":"device-manufacturer-guidance/manufacturer-api/openapi.json"},"subdomain":"seam","siteName":"Seam","title":"Resolve an Embed Key - Seam","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-17T13:33:09.604Z","originalFileLocation":"device-manufacturer-guidance/manufacturer-api/embed-resolve.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=\"Validates an embed key against the request\u0026#x27;s Origin and returns the key\u0026#x27;s public record and the manufacturer a manufacturer key scopes widgets to (manufacturer_context, null for other keys). For a partner key, it also returns what the partner\u0026#x27;s widgets must not show: the manufacturers, device types and providers the partner declared disabled or not supported through Seam and, given capability, the manufacturer and provider combinations excluded for that capability. Seam\u0026#x27;s device database widgets call this endpoint.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Seam\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/seam/8CXnKXKCxYx4_wys/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/seam/8CXnKXKCxYx4_wys/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/seam/8CXnKXKCxYx4_wys/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/seam/8CXnKXKCxYx4_wys/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/seam/8CXnKXKCxYx4_wys/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/seam/8CXnKXKCxYx4_wys/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/seam/8CXnKXKCxYx4_wys/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/seam/8CXnKXKCxYx4_wys/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/seam/8CXnKXKCxYx4_wys/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Resolve an Embed Key - Seam\">\u003cmeta data-mint-head property=\"og:description\" content=\"Validates an embed key against the request\u0026#x27;s Origin and returns the key\u0026#x27;s public record and the manufacturer a manufacturer key scopes widgets to (manufacturer_context, null for other keys). For a partner key, it also returns what the partner\u0026#x27;s widgets must not show: the manufacturers, device types and providers the partner declared disabled or not supported through Seam and, given capability, the manufacturer and provider combinations excluded for that capability. Seam\u0026#x27;s device database widgets call this endpoint.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Seam\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.seam.co/docs/device-manufacturer-guidance/manufacturer-api/embed-resolve\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://www.seam.co/docs/images/seam-og-default.jpg\">\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=\"Resolve an Embed Key - Seam\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Validates an embed key against the request\u0026#x27;s Origin and returns the key\u0026#x27;s public record and the manufacturer a manufacturer key scopes widgets to (manufacturer_context, null for other keys). For a partner key, it also returns what the partner\u0026#x27;s widgets must not show: the manufacturers, device types and providers the partner declared disabled or not supported through Seam and, given capability, the manufacturer and provider combinations excluded for that capability. Seam\u0026#x27;s device database widgets call this endpoint.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://www.seam.co/docs/images/seam-og-default.jpg\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/seam/8CXnKXKCxYx4_wys/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Seam\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4C45D9\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.seam.co/docs/device-manufacturer-guidance/manufacturer-api/embed-resolve\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/device-manufacturer-guidance/manufacturer-api/embed-resolve.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.seam.co/#organization\",\"name\":\"Seam\",\"url\":\"https://www.seam.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/seam/RVHI-5qT0fl5Zkft/images/seam-logo-light.svg?fit=max\u0026auto=format\u0026n=RVHI-5qT0fl5Zkft\u0026q=85\u0026s=4529d092246aab7709a6692a7cdccf39\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.seam.co/docs#website\",\"name\":\"Seam\",\"url\":\"https://www.seam.co/docs\",\"publisher\":{\"@id\":\"https://www.seam.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.seam.co/docs/device-manufacturer-guidance/manufacturer-api/embed-resolve#webpage\",\"url\":\"https://www.seam.co/docs/device-manufacturer-guidance/manufacturer-api/embed-resolve\",\"name\":\"Resolve an Embed Key\",\"description\":\"Validates an embed key against the request's Origin and returns the key's public record and the manufacturer a manufacturer key scopes widgets to (manufacturer_context, null for other keys). For a partner key, it also returns what the partner's widgets must not show: the manufacturers, device types and providers the partner declared disabled or not supported through Seam and, given capability, the manufacturer and provider combinations excluded for that capability. Seam's device database widgets call this endpoint.\",\"dateModified\":\"2026-10-17T13:33:09.604Z\",\"isPartOf\":{\"@id\":\"https://www.seam.co/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.seam.co/docs/device-manufacturer-guidance/manufacturer-api/embed-resolve#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.seam.co/docs/device-manufacturer-guidance/manufacturer-api/embed-resolve#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Device Manufacturer Guidance\",\"item\":\"https://www.seam.co/docs/device-manufacturer-guidance/building-a-seam-compatible-smart-lock-api/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Manufacturer API\",\"item\":\"https://www.seam.co/docs/device-manufacturer-guidance/manufacturer-api/index\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"API Reference\",\"item\":\"https://www.seam.co/docs/device-manufacturer-guidance/manufacturer-api/manufacturer-content\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Resolve an Embed Key\",\"item\":\"https://www.seam.co/docs/device-manufacturer-guidance/manufacturer-api/embed-resolve\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://www.seam.co/docs/device-manufacturer-guidance/manufacturer-api/embed-resolve#apireference\",\"headline\":\"Resolve an Embed Key\",\"name\":\"Resolve an Embed Key\",\"description\":\"Validates an embed key against the request's Origin and returns the key's public record and the manufacturer a manufacturer key scopes widgets to (manufacturer_context, null for other keys). For a partner key, it also returns what the partner's widgets must not show: the manufacturers, device types and providers the partner declared disabled or not supported through Seam and, given capability, the manufacturer and provider combinations excluded for that capability. Seam's device database widgets call this endpoint.\",\"url\":\"https://www.seam.co/docs/device-manufacturer-guidance/manufacturer-api/embed-resolve\",\"mainEntityOfPage\":{\"@id\":\"https://www.seam.co/docs/device-manufacturer-guidance/manufacturer-api/embed-resolve#webpage\"},\"image\":\"https://www.seam.co/docs/images/seam-og-default.jpg\",\"dateModified\":\"2026-10-17T13:33:09.604Z\",\"publisher\":{\"@id\":\"https://www.seam.co/#organization\"},\"isPartOf\":{\"@id\":\"https://www.seam.co/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Seam\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Seam","nav":{"global":null,"tabs":[{"tab":"Guides","groups":[{"group":"Getting Started","pages":[{"title":"Seam Documentation","mode":"wide","href":""},{"title":"Seam MCP","href":"/developer-tools/seam-mcp"},{"title":"Quick Start","href":"/quickstart"},{"title":"Go Live!","href":"/go-live"}]},{"group":"Use Cases","pages":[{"group":"Granting Access","pages":[{"title":"Overview","href":"/use-cases/granting-access/index"},{"title":"Creating an Access Grant","href":"/use-cases/granting-access/creating-an-access-grant"},{"group":"Delivering Access Methods","pages":[{"title":"Using PIN Codes","href":"/use-cases/granting-access/using-pin-codes"},{"title":"Using Mobile Keys","href":"/use-cases/granting-access/using-mobile-keys"},{"group":"Instant Keys","pages":[{"title":"Using Instant Keys","href":"/use-cases/granting-access/using-instant-keys"},{"title":"How Instant Keys Work","href":"/use-cases/granting-access/instant-keys/how-instant-keys-work"},{"title":"Setting Up Your Site for Instant Keys","href":"/use-cases/granting-access/instant-keys/setting-up-your-site-for-instant-keys"},{"title":"Using Seam Console to Issue Instant Keys","href":"/use-cases/granting-access/instant-keys/using-seam-console-to-issue-instant-keys"}]},{"title":"Using Key Cards","href":"/use-cases/granting-access/using-key-cards"},{"title":"Using Cloud Keys","href":"/use-cases/granting-access/using-cloud-keys"}]},{"title":"Managing Access Grants","href":"/use-cases/granting-access/managing-access-grants"},{"title":"Managing Access Methods","href":"/use-cases/granting-access/managing-access-methods"},{"title":"Reservation Access Grants","href":"/use-cases/granting-access/reservation-access-grants"}]},{"group":"Cameras","pages":[{"title":"Cameras","sidebarTitle":"Overview","tag":"Beta","href":"/capability-guides/cameras/index"},{"title":"Retrieve Event Media","sidebarTitle":"Retrieve Event Media","tag":"Beta","href":"/capability-guides/cameras/retrieve-event-media"},{"title":"Stream Live Video","sidebarTitle":"Stream Live Video","tag":"Beta","href":"/capability-guides/cameras/stream-live-video"}]}]},{"group":"Core Concepts","pages":[{"title":"Overview","href":"/core-concepts/overview"},{"group":"Seam Console","pages":[{"title":"Seam Console","sidebarTitle":"Overview","href":"/core-concepts/seam-console/index"},{"title":"Seam Online CLI","href":"/core-concepts/seam-console/seam-online-cli"}]},{"title":"Workspaces","href":"/core-concepts/workspaces/index"},{"group":"Authentication","pages":[{"title":"Authentication","sidebarTitle":"Overview","href":"/core-concepts/authentication/index"},{"title":"API Keys","href":"/core-concepts/authentication/api-keys"},{"title":"Personal Access Tokens","href":"/core-concepts/authentication/personal-access-tokens"},{"title":"Client Sessions and Client Session Tokens","href":"/core-concepts/authentication/client-session-tokens/index"},{"title":"Backend Client Sessions for Device Management","href":"/core-concepts/authentication/client-session-tokens/implementing-client-sessions-for-device-management-in-the-backend"}]},{"group":"Connect Webviews","pages":[{"title":"Connect Webviews","sidebarTitle":"Overview","href":"/core-concepts/connect-webviews/index"},{"title":"Connect Webview Process","href":"/core-concepts/connect-webviews/connect-webview-process"},{"title":"Embedding a Connect Webview in Your App","href":"/core-concepts/connect-webviews/embedding-a-connect-webview-in-your-app"},{"title":"Verifying Successful Account Connection","href":"/core-concepts/connect-webviews/verifying-successful-account-connection"},{"title":"Retrieving Devices from a Connect Webview","href":"/core-concepts/connect-webviews/retrieving-devices-or-access-control-systems-connected-through-a-connect-webview"},{"title":"Attaching Custom Metadata to the Connect Webview","href":"/core-concepts/connect-webviews/attaching-custom-data-to-the-connect-webview"},{"title":"Filtering Connect Webviews by Custom Metadata","href":"/core-concepts/connect-webviews/filtering-connect-webviews-by-custom-metadata"},{"title":"Customizing Connect Webviews","href":"/core-concepts/connect-webviews/customizing-connect-webviews"}]},{"group":"Devices","pages":[{"title":"Devices and Capabilities","sidebarTitle":"Overview","href":"/core-concepts/devices/index"},{"title":"Displaying Device Health","href":"/core-concepts/devices/displaying-device-health"},{"title":"Displaying Device Power Status","href":"/core-concepts/devices/displaying-device-power-status"},{"title":"Managed and Unmanaged Devices","href":"/core-concepts/devices/managed-and-unmanaged-devices"},{"title":"Adding Custom Metadata to a Device","href":"/core-concepts/devices/adding-custom-metadata-to-a-device"},{"title":"Filtering Devices by Custom Metadata","href":"/core-concepts/devices/filtering-devices-by-custom-metadata"},{"title":"Handling Device Errors","href":"/core-concepts/devices/handling-device-errors"},{"title":"Testing Device Disconnection and Removal","href":"/core-concepts/devices/testing-your-app-against-device-disconnection-and-removal"}]},{"group":"Providers","pages":[{"title":"Providers","sidebarTitle":"Overview","href":"/core-concepts/providers/index"},{"title":"Provider Metadata","href":"/core-concepts/providers/provider-metadata"}]},{"group":"Connected Accounts","pages":[{"title":"Connected Accounts","sidebarTitle":"Overview","href":"/core-concepts/connected-accounts/index"},{"title":"Adding Custom Metadata to a Connected Account","href":"/core-concepts/connected-accounts/adding-custom-metadata-to-a-connected-account"},{"title":"Filtering Connected Accounts by Custom Metadata","href":"/core-concepts/connected-accounts/filtering-connected-accounts-by-custom-metadata"},{"title":"Reconnecting an Account","href":"/core-concepts/connected-accounts/reconnecting-an-account"}]},{"title":"Mapping Your Resources to Seam Resources","href":"/core-concepts/mapping-your-resources-to-seam-resources"},{"title":"Action Attempts","href":"/core-concepts/action-attempts"}]},{"group":"Capability Guides","pages":[{"title":"Device and System Capabilities","href":"/capability-guides/device-and-system-capabilities"},{"group":"Mobile Access","pages":[{"title":"Mobile Access","sidebarTitle":"Overview","href":"/capability-guides/mobile-access/index"},{"title":"Prepare your Workspace","href":"/capability-guides/mobile-access/mobile-access-setup"},{"title":"Managing Mobile Users with User Identities","href":"/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities"},{"title":"Managing Phones for a User Identity","href":"/capability-guides/mobile-access/managing-phones-for-a-user-identity"},{"title":"Issuing Mobile Credentials from Access Systems","href":"/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system"},{"title":"Developing in a Sandbox Workspace","href":"/capability-guides/mobile-access/developing-in-a-sandbox-workspace"},{"title":"Integrating into Your Mobile Application","href":"/capability-guides/mobile-access/mobile-device-sdks/index"},{"title":"Initializing the Seam Mobile SDK","href":"/capability-guides/mobile-access/mobile-device-sdks/initializing-the-seam-mobile-sdk"},{"title":"Handling System Permissions","href":"/capability-guides/mobile-access/mobile-device-sdks/handling-system-permissions"},{"title":"Using Unlock With Tap","href":"/capability-guides/mobile-access/mobile-device-sdks/using-unlock-with-tap"}]},{"group":"Thermostats","pages":[{"title":"Thermostats","sidebarTitle":"Overview","href":"/capability-guides/thermostats/index"},{"title":"Understanding Thermostat Concepts","href":"/capability-guides/thermostats/understanding-thermostat-concepts/index"},{"title":"HVAC Mode","href":"/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode"},{"title":"Set Points","href":"/capability-guides/thermostats/understanding-thermostat-concepts/set-points"},{"title":"Retrieving Thermostats","href":"/capability-guides/thermostats/retrieving-thermostats"},{"title":"Setting and Monitoring Temperature Thresholds","href":"/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds"},{"title":"Setting the Current HVAC and Fan Mode Settings","href":"/capability-guides/thermostats/configure-current-climate-settings"},{"title":"Resuming a Thermostat Schedule","href":"/capability-guides/thermostats/resuming-a-thermostat-schedule"},{"title":"Creating and Managing Climate Presets","href":"/capability-guides/thermostats/creating-and-managing-climate-presets/index"},{"title":"Setting the Fallback Climate Preset","href":"/capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset"},{"title":"Activating a Climate Preset","href":"/capability-guides/thermostats/creating-and-managing-climate-presets/activating-a-climate-preset"},{"title":"Creating and Managing Thermostat Schedules","href":"/capability-guides/thermostats/creating-and-managing-thermostat-schedules"},{"title":"Creating and Managing Thermostat Programs","href":"/capability-guides/thermostats/creating-and-managing-thermostat-programs"},{"title":"Testing Your Thermostat App with Simulate Endpoints","href":"/capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints"}]},{"group":"Noise Sensors","pages":[{"title":"Noise Sensors","sidebarTitle":"Overview","href":"/capability-guides/noise-sensors/index"},{"title":"Configuring Noise Threshold Settings","href":"/capability-guides/noise-sensors/configure-noise-threshold-settings"}]},{"group":"Seam Bridge","pages":[{"title":"Seam Bridge","href":"/capability-guides/seam-bridge"},{"title":"Seam Bridge Setup for Windows","href":"/capability-guides/seam-bridge/seam-bridge-setup-for-windows"},{"title":"Seam Bridge Setup for macOS","href":"/capability-guides/seam-bridge/seam-bridge-setup-for-macos"},{"title":"Seam Bridge Setup for Linux","href":"/capability-guides/seam-bridge/seam-bridge-setup-for-linux"}]},{"group":"Customer Portals","pages":[{"title":"Customer Portals","sidebarTitle":"Overview","href":"/capability-guides/customer-portals/index"},{"title":"Customers","href":"/capability-guides/customer-portals/customers"},{"title":"Preview the customer portal in Console","href":"/capability-guides/customer-portals/preview-the-customer-portal-in-console"},{"title":"Integrate customer portal into your application","href":"/capability-guides/customer-portals/integrate-customer-portal-into-your-application"},{"title":"Filtering Portal Resources by Custom Metadata","href":"/capability-guides/customer-portals/filtering-portal-resources-by-custom-metadata"}]},{"title":"Reservation Automations","href":"/capability-guides/reservation-automations"}]},{"group":"UI Components","pages":[{"group":"Seam Components","pages":[{"title":"Seam Components","sidebarTitle":"Overview","href":"/ui-components/overview/index"},{"group":"Getting Started","pages":[{"title":"Getting Started with Seam Components","href":"/ui-components/overview/getting-started-with-seam-components/index"},{"title":"Get Started with React","href":"/ui-components/overview/getting-started-with-seam-components/get-started-with-react-components-and-client-session-tokens"},{"title":"Get started with Client Side Components","href":"/ui-components/overview/getting-started-with-seam-components/get-started-with-client-side-components"}]},{"group":"React Components","pages":[{"title":"Components","href":"/ui-components/overview/react-components/index"},{"title":"Device Details","href":"/ui-components/overview/react-components/device-details"},{"title":"Device Table","href":"/ui-components/overview/react-components/device-table"},{"title":"Access Code Table","href":"/ui-components/overview/react-components/access-code-table"},{"title":"Access Code Details","href":"/ui-components/overview/react-components/access-code-details"},{"title":"Create Access Code Form","href":"/ui-components/overview/react-components/create-access-code-form"},{"title":"Update Access Code Form","href":"/ui-components/overview/react-components/update-access-code-form"},{"title":"Seam Provider","href":"/ui-components/overview/react-components/seam-provider"},{"title":"Connect Account Button","href":"/ui-components/overview/react-components/connect-account-button"}]},{"group":"Ecosystem Components","pages":[{"title":"Ecosystem Components","sidebarTitle":"Overview","href":"/ui-components/overview/ecosystem-components/index"},{"title":"Compatible Apps","href":"/ui-components/overview/ecosystem-components/compatible-apps"},{"title":"Supported Devices","href":"/ui-components/overview/ecosystem-components/supported-devices"}]},{"title":"Using User Identities to Scope Users' Device Access","href":"/ui-components/overview/using-user-identities-to-scope-users-device-access"}]},{"group":"Seam Mobile Components","pages":[{"title":"‘Seam Mobile Components’","sidebarTitle":"‘Overview’","href":"/ui-components/seam-mobile-components/index"},{"group":"Seam Mobile Components for iOS","pages":[{"title":"Seam Mobile Components for iOS","href":"/ui-components/seam-mobile-components/seam-mobile-components-for-ios/index"},{"title":"iOS Component Theming","sidebarTitle":"Theming","href":"/ui-components/seam-mobile-components/seam-mobile-components-for-ios/theming/index"},{"title":"iOS Theme Colors","sidebarTitle":"Colors","href":"/ui-components/seam-mobile-components/seam-mobile-components-for-ios/theming/colors"},{"title":"iOS Theme Fonts","sidebarTitle":"Fonts","href":"/ui-components/seam-mobile-components/seam-mobile-components-for-ios/theming/fonts"},{"title":"Keycard styles","href":"/ui-components/seam-mobile-components/seam-mobile-components-for-ios/theming/keycard-styles"},{"title":"Toast styles","href":"/ui-components/seam-mobile-components/seam-mobile-components-for-ios/theming/toast-styles"},{"title":"UnlockCard styles","href":"/ui-components/seam-mobile-components/seam-mobile-components-for-ios/theming/unlockcard-styles"}]}]},{"group":"Device Database Components","pages":[{"title":"Supported Device Table","href":"/ui-components/device-database-components/supported-device-table"}]}]},{"group":"Developer Tools","pages":[{"title":"Webhooks","href":"/developer-tools/webhooks"},{"title":"Seam CLI","href":"/developer-tools/seam-cli"},{"title":"Seam Wizard","href":"/developer-tools/seam-wizard"},{"title":"Test Accounts","href":"/developer-tools/test-accounts"}]},{"group":"Industry Guides","pages":[{"group":"Hospitality Industry Guide","pages":[{"title":"Hospitality Industry Guide","sidebarTitle":"Overview","href":"/industry-guides/hospitality-industry-guide/index"},{"title":"Feature Overview","href":"/industry-guides/hospitality-industry-guide/feature-overview"},{"title":"Seam API Overview","href":"/industry-guides/hospitality-industry-guide/seam-api-overview"},{"title":"Setting Up the Hotel Site","href":"/industry-guides/hospitality-industry-guide/setting-up-the-hotel-site"},{"title":"Granting Access Using Seam Instant Keys","href":"/industry-guides/hospitality-industry-guide/granting-access-using-seam-instant-keys"},{"title":"Granting Access Using Mobile Keys","href":"/industry-guides/hospitality-industry-guide/granting-access-using-mobile-keys"},{"title":"Granting Access Using Encoded Plastic Key Cards","href":"/industry-guides/hospitality-industry-guide/granting-access-using-encoded-plastic-key-cards"},{"title":"Additional Guest Access Actions","href":"/industry-guides/hospitality-industry-guide/additional-guest-access-actions"}]}]},{"group":"Device Manufacturer Guidance","pages":[{"group":"Smart Lock API","pages":[{"title":"Building a Seam-Compatible Smart Lock API","sidebarTitle":"Overview","href":"/device-manufacturer-guidance/building-a-seam-compatible-smart-lock-api/index"},{"title":"Implementing Authentication","href":"/device-manufacturer-guidance/building-a-seam-compatible-smart-lock-api/implementing-authentication"},{"title":"Implementing your Device Model \u0026 Discovery","href":"/device-manufacturer-guidance/building-a-seam-compatible-smart-lock-api/implementing-your-device-model-and-discovery"},{"title":"Implementing Lock Actions","href":"/device-manufacturer-guidance/building-a-seam-compatible-smart-lock-api/implementing-lock-actions"},{"title":"Implementing Access Codes","href":"/device-manufacturer-guidance/building-a-seam-compatible-smart-lock-api/implementing-access-codes"},{"title":"Webhooks \u0026 Events","href":"/device-manufacturer-guidance/building-a-seam-compatible-smart-lock-api/webhooks-and-events"}]},{"group":"Intercom API","pages":[{"title":"Creating a Seam-Compatible Intercom API","sidebarTitle":"Overview","href":"/device-manufacturer-guidance/creating-a-seam-compatible-intercom-api/index"},{"title":"Creating OAuth Endpoints","href":"/device-manufacturer-guidance/creating-a-seam-compatible-intercom-api/creating-oauth-endpoints"},{"title":"Creating Intercom CRUD Endpoints","href":"/device-manufacturer-guidance/creating-a-seam-compatible-intercom-api/creating-intercom-crud-endpoints"},{"title":"Creating Access Code CRUD Endpoints","href":"/device-manufacturer-guidance/creating-a-seam-compatible-intercom-api/creating-access-code-crud-endpoints"},{"title":"Creating the Health Endpoint","href":"/device-manufacturer-guidance/creating-a-seam-compatible-intercom-api/creating-the-health-endpoint"}]},{"group":"Manufacturer API","pages":[{"title":"Manufacturer API","sidebarTitle":"Overview","href":"/device-manufacturer-guidance/manufacturer-api/index"},{"title":"Keys and Authentication","href":"/device-manufacturer-guidance/manufacturer-api/keys"},{"group":"API Reference","pages":[{"title":"Get Manufacturer Content","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /manufacturer_content/get","href":"/device-manufacturer-guidance/manufacturer-api/manufacturer-content"},{"title":"List Device Model Summaries","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /device_models/summaries/list","href":"/device-manufacturer-guidance/manufacturer-api/device-model-summaries"},{"title":"List Device Models","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /device_models/list","href":"/device-manufacturer-guidance/manufacturer-api/device-models-list"},{"title":"Get a Device Model","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /device_models/get","href":"/device-manufacturer-guidance/manufacturer-api/device-models-get"},{"title":"List Device Model Route Params","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /device_models/route_params","href":"/device-manufacturer-guidance/manufacturer-api/device-model-route-params"},{"title":"List Manufacturers","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /manufacturers/list","href":"/device-manufacturer-guidance/manufacturer-api/manufacturers-list"},{"title":"Get a Manufacturer","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /manufacturers/get","href":"/device-manufacturer-guidance/manufacturer-api/manufacturers-get"},{"title":"List Providers","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /providers/list","href":"/device-manufacturer-guidance/manufacturer-api/providers-list"},{"title":"Get a Provider","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /providers/get","href":"/device-manufacturer-guidance/manufacturer-api/providers-get"},{"title":"List Device Types","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /device_types/list","href":"/device-manufacturer-guidance/manufacturer-api/device-types-list"},{"title":"List Capabilities","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /capabilities/list","href":"/device-manufacturer-guidance/manufacturer-api/capabilities-list"},{"title":"Get Compatible Apps","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /compatibility","href":"/device-manufacturer-guidance/manufacturer-api/compatibility"},{"title":"List Partners","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /partners/list","href":"/device-manufacturer-guidance/manufacturer-api/partners-list"},{"title":"Get a Partner","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /partners/get","href":"/device-manufacturer-guidance/manufacturer-api/partners-get"},{"title":"List Industries","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /industries/list","href":"/device-manufacturer-guidance/manufacturer-api/industries-list"},{"title":"List Solutions","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /solutions/list","description":"Lists every solution category in the ecosystem taxonomy.","href":"/device-manufacturer-guidance/manufacturer-api/solutions-list"},{"title":"Resolve an Embed Key","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /embed/resolve","href":"/device-manufacturer-guidance/manufacturer-api/embed-resolve"},{"title":"Health","openapi":"device-manufacturer-guidance/manufacturer-api/openapi.json GET /health","description":"Returns ok when the service and its database are reachable.","href":"/device-manufacturer-guidance/manufacturer-api/health"}]}]}]},{"group":"Low-Level APIs","pages":[{"group":"Smart Locks","pages":[{"title":"Smart Locks","sidebarTitle":"Overview","href":"/low-level-apis/smart-locks/index"},{"title":"Get started with Smart Locks","href":"/low-level-apis/smart-locks/get-started-with-smartlocks-api"},{"title":"Locking and Unlocking Smart Locks","href":"/low-level-apis/smart-locks/lock-and-unlock"},{"group":"Creating and Managing Smart Lock Access Codes","pages":[{"title":"Creating and Managing Smart Lock Access Codes","href":"/low-level-apis/smart-locks/access-codes/index"},{"group":"Creating Access Codes","pages":[{"title":"Creating Access Codes","href":"/low-level-apis/smart-locks/access-codes/creating-access-codes/index"},{"title":"Understanding Code Constraints","href":"/low-level-apis/smart-locks/access-codes/creating-access-codes/understanding-code-constraints"},{"title":"Understanding Time Frame Options","href":"/low-level-apis/smart-locks/access-codes/creating-access-codes/understanding-time-frame-options"}]},{"title":"Retrieving Access Codes","href":"/low-level-apis/smart-locks/access-codes/retrieving-access-codes"},{"title":"Modifying Access Codes","href":"/low-level-apis/smart-locks/access-codes/modifying-access-codes"},{"title":"Deleting Access Codes","href":"/low-level-apis/smart-locks/access-codes/deleting-access-codes"},{"title":"Lifecycle of Access Codes","href":"/low-level-apis/smart-locks/access-codes/lifecycle-of-access-codes"},{"title":"Migrating to Access Code Lifecycle Events","href":"/low-level-apis/smart-locks/access-codes/migrating-to-access-code-lifecycle-events"},{"title":"Access Code Requirements for Door Locks","href":"/low-level-apis/smart-locks/access-codes/access-code-requirements-for-door-locks"},{"title":"Managing Access Codes in Manufacturer Apps","href":"/low-level-apis/smart-locks/access-codes/accommodating-manufacturer-mobile-apps"},{"title":"Troubleshooting Access Codes","href":"/low-level-apis/smart-locks/access-codes/troubleshooting-access-code-issues"},{"title":"Managing Backup Access Codes","href":"/low-level-apis/smart-locks/access-codes/backup-access-codes"},{"title":"Managing Offline Access Codes","href":"/low-level-apis/smart-locks/access-codes/offline-access-codes"},{"title":"Creating and Updating Multiple Linked Access Codes","href":"/low-level-apis/smart-locks/access-codes/creating-and-updating-multiple-linked-access-codes"},{"title":"Migrating Existing Unmanaged Access Codes","href":"/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes"}]}]},{"group":"Access Control Systems","pages":[{"title":"Access Control Systems","sidebarTitle":"Overview","href":"/low-level-apis/access-systems/index"},{"group":"Access System Quick Starts","pages":[{"title":"Access System Quick Starts","sidebarTitle":"Overview","href":"/low-level-apis/access-systems/acs-quick-starts/index"},{"title":"PIN Code Quick Start","href":"/low-level-apis/access-systems/acs-quick-starts/pin-code-quick-start"},{"title":"Encodable Key Card Quick Start","href":"/low-level-apis/access-systems/acs-quick-starts/encodable-key-card-quick-start"},{"title":"Mobile Key Quick Start","href":"/low-level-apis/access-systems/acs-quick-starts/mobile-key-quick-start"}]},{"group":"Connect an Access System to Seam","pages":[{"title":"Connect an Access System to Seam","sidebarTitle":"Overview","href":"/low-level-apis/access-systems/connect-an-acs-to-seam/index"},{"title":"Retrieving ACS System Details","href":"/low-level-apis/access-systems/connect-an-acs-to-seam/retrieving-acs-system-details"},{"title":"Access Control System Resources","href":"/low-level-apis/access-systems/connect-an-acs-to-seam/access-control-system-resources"},{"title":"Understanding Access Control System Differences","href":"/low-level-apis/access-systems/connect-an-acs-to-seam/understanding-access-control-system-differences"}]},{"group":"Managing ACS Users","pages":[{"title":"Managing ACS Users","sidebarTitle":"Overview","href":"/low-level-apis/access-systems/user-management"},{"title":"Suspending and Unsuspending ACS Users","href":"/low-level-apis/access-systems/user-management/suspending-and-unsuspending-users"},{"title":"Assigning ACS Users to Access Groups","href":"/low-level-apis/access-systems/user-management/assigning-users-to-access-groups"}]},{"title":"Retrieving Entrance Details","href":"/low-level-apis/access-systems/retrieving-entrance-details"},{"group":"Managing Credentials","pages":[{"title":"Managing Credentials","sidebarTitle":"Overview","href":"/low-level-apis/access-systems/managing-credentials"},{"title":"Assigning Credentials to ACS Users","href":"/low-level-apis/access-systems/managing-credentials/assigning-credentials-to-users"},{"title":"Listing Credentials and Associated Entrances","href":"/low-level-apis/access-systems/managing-credentials/listing-credentials-and-associated-entrances"}]},{"group":"Working with Card Encoders and Scanners","pages":[{"title":"Working with Card Encoders and Scanners","sidebarTitle":"Overview","href":"/low-level-apis/access-systems/working-with-card-encoders-and-scanners/index"},{"title":"Creating and Encoding Card-based Credentials","href":"/low-level-apis/access-systems/working-with-card-encoders-and-scanners/creating-and-encoding-card-based-credentials"},{"title":"Scanning Encoded Cards","href":"/low-level-apis/access-systems/working-with-card-encoders-and-scanners/scanning-encoded-cards"}]},{"title":"Troubleshooting Your Access Control System","href":"/low-level-apis/access-systems/troubleshooting-your-access-control-system"}]}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api"}]},{"tab":"Mobile SDKs","pages":[{"title":"Mobile SDKs","href":"/mobile-sdks"}]},{"tab":"Brand Guides","pages":[{"title":"Brand Guides","href":"/device-and-system-integration-guides"}]}]},"basePath":"","title":"Resolve an Embed Key - Seam","buildId":"dpl_CEsowfH15TDzsBT2BFbX312Be4Ct","deploymentId":"dpl_CEsowfH15TDzsBT2BFbX312Be4Ct","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CqF8gK93.js","utils-Cfy66YIG.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-cadwlSiW.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BOSHrB55.js","snippetPresets-DuIJ6Tui.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BByZ-4eP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DWD4BnjW.js","shallow-Bo7p10ck.js","getApiPlaygroundDisplay-C7mFZ2Cg.js","CodeSnippet-DrT8v8gt.js","CodeSnippets-DGLmtlSm.js","Page-CGry0O4L.js","getPastedJson-DXZGgv-T.js","icon-DMjuBky8.js","MethodPill-C_c9VvF7.js","DuplicateIcon-D8Zrb3hW.js","createIcon-eYWxX-Sl.js","DynamicMarkdown-DORtg_Te.js","SectionHeading-DE1W9Ett.js","axios-vUo_bRtp.js","Markdown-BvSqw8zR.js","clsx-B-KWekQe.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CTE3eEYy.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ba-QebqG.js"]}