Put the presenter’s own slides behind the deck. The editor renders the pages when the deck is opened, so polls can float on the real slides. With pages, and while no slide has a page yet, the blank slides are replaced by one slide per page, in order; polls and paged slides already there are kept. PDF only for now.
The deck's revision you read (from get_deck or the last write). Sent, the write lands only if nobody changed the deck since; left out, it goes through regardless
Placements that will not read well on stage, by step: a card under its look's minimum size (30% of the slide's width and 45% of its height for most, more for a few), or a card or text box over another card or text box. They do not stop a room; fix them anyway
The deck's revision after this write; send it as revision with the next write to be sure nobody changed the deck in between
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Poll the Room","description":"Live polls on a presenter's own slides. Build decks, put polls on slides, run rooms and read results, from code or from an AI agent.","colors":{"primary":"#3333ff","light":"#8f8fff","dark":"#3333ff"},"logo":{"light":"https://mintcdn.com/polltheroom/wm5nU6Sq7YIILBAr/logo/light.svg?fit=max\u0026auto=format\u0026n=wm5nU6Sq7YIILBAr\u0026q=85\u0026s=9ba2b3ce482ba5c06a0fa3c750a47acd","dark":"https://mintcdn.com/polltheroom/wm5nU6Sq7YIILBAr/logo/dark.svg?fit=max\u0026auto=format\u0026n=wm5nU6Sq7YIILBAr\u0026q=85\u0026s=08ce6c0b4945f87688866fe6a49adbc6","href":"https://test.polltheroom.com"},"favicon":"https://mintcdn.com/polltheroom/Beb7336SfQDVOA4K/favicon.svg?fit=max\u0026auto=format\u0026n=Beb7336SfQDVOA4K\u0026q=85\u0026s=b62f27bdae4382c39a777ea188ce3b68","appearance":{"default":"light","strict":true},"navbar":{"links":[{"href":"https://test.polltheroom.com","label":"Open Poll the Room"}],"primary":{"type":"button","label":"Get an API key","href":"https://test.polltheroom.com/settings/api"}},"footer":{"socials":{"website":"https://test.polltheroom.com"}},"seo":{"metatags":{"robots":"noindex"}},"fonts":{"family":"Inter"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"polltheroom","hasAudioNarration":false,"actualSubdomain":"polltheroom","customDomains":["dev.polltheroom.com"],"gitSource":{"type":"github","owner":"internetoftoday","repo":"polltheroom","deployBranch":"docs","contentDirectory":"developers","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6ad4a9629d4e735aef35504f","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API reference","count":27},{"language":"default","tag":"decks","count":21},{"language":"default","tag":"Guides","count":15},{"language":"default","tag":"rooms","count":5},{"language":"default","tag":"Concepts","count":4},{"language":"default","tag":"Get started","count":3},{"language":"default","tag":"Reference","count":2},{"language":"default","tag":"MCP","count":2},{"language":"default","tag":"MCP server","count":2},{"language":"default","tag":"Start here","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/decks/attach-the-slides-as-a-pdf","slug":"/api-reference/decks/attach-the-slides-as-a-pdf","pageMetadata":{"title":"Attach the slides as a PDF","description":"Put the presenter's own slides behind the deck. The editor renders the pages when the deck is opened, so polls can float on the real slides. With `pages`, and while no slide has a page yet, the blank slides are replaced by one slide per page, in order; polls and paged slides already there are kept. PDF only for now.\n\nNeeds the `decks:write` scope.","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json put /api/v1/decks/{id}/source","href":"/api-reference/decks/attach-the-slides-as-a-pdf","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, 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(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Put the presenter’s own slides behind the deck. The editor renders the pages when the deck is opened, so polls can float on the real slides. With \", _jsx(_components.code, {\n children: \"pages\"\n }), \", and while no slide has a page yet, the blank slides are replaced by one slide per page, in order; polls and paged slides already there are kept. PDF only for now.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Needs the \", _jsx(_components.code, {\n children: \"decks:write\"\n }), \" scope.\"]\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":{"config":{},"pageMetadata":{"title":"Attach the slides as a PDF","description":"Put the presenter's own slides behind the deck. The editor renders the pages when the deck is opened, so polls can float on the real slides. With `pages`, and while no slide has a page yet, the blank slides are replaced by one slide per page, in order; polls and paged slides already there are kept. PDF only for now.\n\nNeeds the `decks:write` scope.","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json put /api/v1/decks/{id}/source","href":"/api-reference/decks/attach-the-slides-as-a-pdf","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"attach_pdf","summary":"Attach the slides as a PDF","description":"Put the presenter's own slides behind the deck. The editor renders the pages when the deck is opened, so polls can float on the real slides. With `pages`, and while no slide has a page yet, the blank slides are replaced by one slide per page, in order; polls and paged slides already there are kept. PDF only for now.\n\nNeeds the `decks:write` scope.","x-scope":"decks:write","tags":["decks"],"parameters":["33125e28-c680-44ba-a7b5-4b722034d73c"],"requestBody":"90b01f38-29c8-4c2d-89bd-82da0dc21f95","responses":{"200":"31c73a3c-0934-4679-bf9c-5462af1e497d","400":"75ddbd89-dd95-4550-95aa-561d131a93a4","401":"75be31e9-47ce-4752-acff-bf9018a3d88a","403":"faef99b6-a2a9-4aed-bfc3-2a94c738ef5d","404":"d312b447-cdfe-4b52-a29a-41b17c190179","409":"0d857f06-3bb8-4863-80bb-ea5badea2092","429":"769d5c95-60f4-4ca2-a96a-114199ae0d27"},"method":"put","type":"path","servers":["5817ffd4-0b64-4c93-a98d-913208924ee1"],"security":["7162788f-04d2-4ba0-9f6c-593e2d5b4e6f"],"path":"/api/v1/decks/{id}/source","baseUrlOptions":["https://test.polltheroom.com"],"title":"Attach the slides as a PDF","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"33125e28-c680-44ba-a7b5-4b722034d73c":{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1,"description":"The deck's id","isRequired":true,"uniqueKey":"","typeLabel":"string"},"example":"cmtwzb0j5009luqmf9ypd4irq"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"pdf":{"type":"string","minLength":8,"maxLength":32000000,"description":"The PDF file, base64 encoded (24 MB at most)","isRequired":true,"uniqueKey":"pdf","typeLabel":"string"},"pages":{"description":"How many pages the PDF has; makes one slide step per page when the deck has none yet","type":"integer","minimum":1,"maximum":60,"uniqueKey":"pages","typeLabel":"integer"},"revision":{"description":"The deck's revision you read (from get_deck or the last write). Sent, the write lands only if nobody changed the deck since; left out, it goes through regardless","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))$","uniqueKey":"revision","typeLabel":"string\u003cdate-time>"}},"required":["pdf"],"uniqueKey":"","typeLabel":"object"},"example":{"pdf":"JVBERi0xLjQKJdPr6eEK…","pages":2},"examples":{"Example":{"title":"Example","value":{"pdf":"JVBERi0xLjQKJdPr6eEK…","pages":2}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"31c73a3c-0934-4679-bf9c-5462af1e497d":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","const":true,"isRequired":true,"uniqueKey":"ok","typeLabel":"boolean"},"slides":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Slide steps with a page behind them, now","isRequired":true,"uniqueKey":"slides","typeLabel":"integer"},"ready":{"type":"boolean","description":"Every poll passes the readiness check, so a room can start","isRequired":true,"uniqueKey":"ready","typeLabel":"boolean"},"problems":{"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The step's index; 0 is the join screen","isRequired":true,"uniqueKey":"problems.items.[INDEX].step","typeLabel":"integer"},"path":{"type":"string","description":"The property, from the step","isRequired":true,"uniqueKey":"problems.items.[INDEX].path","typeLabel":"string"},"message":{"type":"string","description":"What to do, in the editor's words","isRequired":true,"uniqueKey":"problems.items.[INDEX].message","typeLabel":"string"},"overlay":{"description":"Which card on the slide, when it is one","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"problems.items.[INDEX].overlay","typeLabel":"integer"}},"required":["step","path","message"],"additionalProperties":false,"uniqueKey":"problems.items.[INDEX]","typeLabel":"object"},"description":"What stops it, by step; empty when ready","isRequired":true,"uniqueKey":"problems","typeLabel":"object[]"},"warnings":{"type":"array","items":{"type":"object","properties":{"element":{"type":"string","description":"The element it is about, \"overlay 0\", \"text 1\"","isRequired":true,"uniqueKey":"warnings.items.[INDEX].element","typeLabel":"string"},"message":{"type":"string","description":"What is wrong and what to do","isRequired":true,"uniqueKey":"warnings.items.[INDEX].message","typeLabel":"string"},"step":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The step's index","isRequired":true,"uniqueKey":"warnings.items.[INDEX].step","typeLabel":"integer"},"with":{"description":"The other element, for an overlap","type":"string","uniqueKey":"warnings.items.[INDEX].with","typeLabel":"string"}},"required":["element","message","step"],"additionalProperties":false,"uniqueKey":"warnings.items.[INDEX]","typeLabel":"object"},"description":"Placements that will not read well on stage, by step: a card under its look's minimum size (30% of the slide's width and 45% of its height for most, more for a few), or a card or text box over another card or text box. They do not stop a room; fix them anyway","isRequired":true,"uniqueKey":"warnings","typeLabel":"object[]"},"revision":{"type":"string","description":"The deck's revision after this write; send it as `revision` with the next write to be sure nobody changed the deck in between","isRequired":true,"uniqueKey":"revision","typeLabel":"string"}},"required":["ok","slides","ready","problems","warnings","revision"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"ok":true,"slides":2,"ready":true,"problems":[],"warnings":[],"revision":"2026-09-11T13:15:16.526Z"},"examples":{"Example":{"title":"Example","value":{"ok":true,"slides":2,"ready":true,"problems":[],"warnings":[],"revision":"2026-09-11T13:15:16.526Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"75ddbd89-dd95-4550-95aa-561d131a93a4":{"description":"The body did not fit. `fix` names the field.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"What went wrong, in a sentence","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"fix":{"description":"What to do about it, when we can tell","type":"string","uniqueKey":"fix","typeLabel":"string"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","fix":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"75be31e9-47ce-4752-acff-bf9018a3d88a":{"description":"No usable key.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"What went wrong, in a sentence","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"fix":{"description":"What to do about it, when we can tell","type":"string","uniqueKey":"fix","typeLabel":"string"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","fix":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"faef99b6-a2a9-4aed-bfc3-2a94c738ef5d":{"description":"The key lacks the scope, or the plan does not sell it.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"What went wrong, in a sentence","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"fix":{"description":"What to do about it, when we can tell","type":"string","uniqueKey":"fix","typeLabel":"string"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","fix":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"d312b447-cdfe-4b52-a29a-41b17c190179":{"description":"Nothing by that id within this key's reach.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"What went wrong, in a sentence","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"fix":{"description":"What to do about it, when we can tell","type":"string","uniqueKey":"fix","typeLabel":"string"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","fix":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"0d857f06-3bb8-4863-80bb-ea5badea2092":{"description":"The deck changed since it was read: read it again with get_deck and send the new revision.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"What went wrong, in a sentence","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"fix":{"description":"What to do about it, when we can tell","type":"string","uniqueKey":"fix","typeLabel":"string"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","fix":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"769d5c95-60f4-4ca2-a96a-114199ae0d27":{"description":"Over the key's hourly limit.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"What went wrong, in a sentence","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"fix":{"description":"What to do about it, when we can tell","type":"string","uniqueKey":"fix","typeLabel":"string"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","fix":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"7162788f-04d2-4ba0-9f6c-593e2d5b4e6f":{"apiKey":{"type":"http","scheme":"bearer","description":"An API key from Settings › API, sent as `Authorization: Bearer ptr_…`. Shown once when made; only a hash is stored.","scopes":[],"schemeName":"apiKey"}}},"servers":{"5817ffd4-0b64-4c93-a98d-913208924ee1":{"url":"https://test.polltheroom.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"An API key from Settings › API, sent as `Authorization: Bearer ptr_…`. Shown once when made; only a hash is stored.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An API key from Settings › API, sent as `Authorization: Bearer ptr_…`. Shown once when made; only a hash is stored.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"https://test.polltheroom.com/openapi.json"},"subdomain":"polltheroom","siteName":"Poll the Room","title":"Attach the slides as a PDF - Poll the Room","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-14T14:49:05.076Z","originalFileLocation":"api-reference/decks/attach-the-slides-as-a-pdf.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";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=\"light\"}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=\"Put the presenter\u0026#x27;s own slides behind the deck. The editor renders the pages when the deck is opened, so polls can float on the real slides. With pages, and while no slide has a page yet, the blank slides are replaced by one slide per page, in order; polls and paged slides already there are kept. PDF only for now. Needs the decks:write scope.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Poll the Room\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/polltheroom/7KTc0c_TZbUysiH7/_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/polltheroom/7KTc0c_TZbUysiH7/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/polltheroom/7KTc0c_TZbUysiH7/_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/polltheroom/7KTc0c_TZbUysiH7/_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/polltheroom/7KTc0c_TZbUysiH7/_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/polltheroom/7KTc0c_TZbUysiH7/_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/polltheroom/7KTc0c_TZbUysiH7/_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/polltheroom/7KTc0c_TZbUysiH7/_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/polltheroom/7KTc0c_TZbUysiH7/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Attach the slides as a PDF - Poll the Room\">\u003cmeta data-mint-head property=\"og:description\" content=\"Put the presenter\u0026#x27;s own slides behind the deck. The editor renders the pages when the deck is opened, so polls can float on the real slides. With pages, and while no slide has a page yet, the blank slides are replaced by one slide per page, in order; polls and paged slides already there are kept. PDF only for now. Needs the decks:write scope.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Poll the Room\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://dev.polltheroom.com/api-reference/decks/attach-the-slides-as-a-pdf\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://polltheroom.mintlify.site/_mintlify/api/og/v2?division=decks\u0026amp;title=Attach+the+slides+as+a+PDF\u0026amp;description=Put+the+presenter%27s+own+slides+behind+the+deck.+The+editor+renders+the+pages+when+the+deck+is+opened%2C+so+polls+can+float+on+the+real+slides.+With+%60pages%60%2C+and+w\u0026amp;theme=625264d4e40254fb4eb43184\u0026amp;signature=aa2d39d7891aad9d669cf45b67d49aa28caf52e277b8fd5973d765031a514a79\">\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=\"Attach the slides as a PDF - Poll the Room\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Put the presenter\u0026#x27;s own slides behind the deck. The editor renders the pages when the deck is opened, so polls can float on the real slides. With pages, and while no slide has a page yet, the blank slides are replaced by one slide per page, in order; polls and paged slides already there are kept. PDF only for now. Needs the decks:write scope.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://polltheroom.mintlify.site/_mintlify/api/og/v2?division=decks\u0026amp;title=Attach+the+slides+as+a+PDF\u0026amp;description=Put+the+presenter%27s+own+slides+behind+the+deck.+The+editor+renders+the+pages+when+the+deck+is+opened%2C+so+polls+can+float+on+the+real+slides.+With+%60pages%60%2C+and+w\u0026amp;theme=625264d4e40254fb4eb43184\u0026amp;signature=aa2d39d7891aad9d669cf45b67d49aa28caf52e277b8fd5973d765031a514a79\">\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/polltheroom/7KTc0c_TZbUysiH7/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Poll the Room\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3333ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://dev.polltheroom.com/api-reference/decks/attach-the-slides-as-a-pdf\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/decks/attach-the-slides-as-a-pdf.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://dev.polltheroom.com/#organization\",\"name\":\"Poll the Room\",\"url\":\"https://dev.polltheroom.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/polltheroom/wm5nU6Sq7YIILBAr/logo/light.svg?fit=max\u0026auto=format\u0026n=wm5nU6Sq7YIILBAr\u0026q=85\u0026s=9ba2b3ce482ba5c06a0fa3c750a47acd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://dev.polltheroom.com#website\",\"name\":\"Poll the Room\",\"url\":\"https://dev.polltheroom.com\",\"publisher\":{\"@id\":\"https://dev.polltheroom.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://dev.polltheroom.com/api-reference/decks/attach-the-slides-as-a-pdf#webpage\",\"url\":\"https://dev.polltheroom.com/api-reference/decks/attach-the-slides-as-a-pdf\",\"name\":\"Attach the slides as a PDF\",\"description\":\"Put the presenter's own slides behind the deck. The editor renders the pages when the deck is opened, so polls can float on the real slides. With pages, and while no slide has a page yet, the blank slides are replaced by one slide per page, in order; polls and paged slides already there are kept. PDF only for now. Needs the decks:write scope.\",\"dateModified\":\"2026-10-14T14:49:05.076Z\",\"isPartOf\":{\"@id\":\"https://dev.polltheroom.com#website\"},\"breadcrumb\":{\"@id\":\"https://dev.polltheroom.com/api-reference/decks/attach-the-slides-as-a-pdf#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://dev.polltheroom.com/api-reference/decks/attach-the-slides-as-a-pdf#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"decks\",\"item\":\"https://dev.polltheroom.com/api-reference/decks/list-decks\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Attach the slides as a PDF\",\"item\":\"https://dev.polltheroom.com/api-reference/decks/attach-the-slides-as-a-pdf\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://dev.polltheroom.com/api-reference/decks/attach-the-slides-as-a-pdf#apireference\",\"headline\":\"Attach the slides as a PDF\",\"name\":\"Attach the slides as a PDF\",\"description\":\"Put the presenter's own slides behind the deck. The editor renders the pages when the deck is opened, so polls can float on the real slides. With pages, and while no slide has a page yet, the blank slides are replaced by one slide per page, in order; polls and paged slides already there are kept. PDF only for now. Needs the decks:write scope.\",\"url\":\"https://dev.polltheroom.com/api-reference/decks/attach-the-slides-as-a-pdf\",\"mainEntityOfPage\":{\"@id\":\"https://dev.polltheroom.com/api-reference/decks/attach-the-slides-as-a-pdf#webpage\"},\"dateModified\":\"2026-10-14T14:49:05.076Z\",\"publisher\":{\"@id\":\"https://dev.polltheroom.com/#organization\"},\"isPartOf\":{\"@id\":\"https://dev.polltheroom.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Poll the Room\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Poll the Room","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":""}]},{"tab":"MCP","icon":"plug","pages":[{"title":"MCP","href":"/mcp-server"}]},{"tab":"API reference","icon":"square-terminal","groups":[{"group":"Start here","pages":[{"title":"Introduction","href":"/api-reference/introduction"}]},{"group":"decks","pages":[{"title":"List decks","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json get /api/v1/decks","href":"/api-reference/decks/list-decks"},{"title":"Create a deck","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json post /api/v1/decks","href":"/api-reference/decks/create-a-deck"},{"title":"Get a deck","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json get /api/v1/decks/{id}","href":"/api-reference/decks/get-a-deck"},{"title":"Bin a deck","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json delete /api/v1/decks/{id}","href":"/api-reference/decks/bin-a-deck"},{"title":"Change a deck","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json patch /api/v1/decks/{id}","href":"/api-reference/decks/change-a-deck"},{"title":"Add a step","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json post /api/v1/decks/{id}/steps","href":"/api-reference/decks/add-a-step"},{"title":"Read one step","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json get /api/v1/decks/{id}/steps/{index}","href":"/api-reference/decks/read-one-step"},{"title":"Replace a step","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json put /api/v1/decks/{id}/steps/{index}","href":"/api-reference/decks/replace-a-step"},{"title":"Remove a step","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json delete /api/v1/decks/{id}/steps/{index}","href":"/api-reference/decks/remove-a-step"},{"title":"Put a poll on a slide","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json post /api/v1/decks/{id}/steps/{index}/overlays","href":"/api-reference/decks/put-a-poll-on-a-slide"},{"title":"Outline a deck","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json get /api/v1/decks/{id}/outline","href":"/api-reference/decks/outline-a-deck"},{"title":"Take a card off a slide","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json delete /api/v1/decks/{id}/steps/{index}/overlays/{card}","href":"/api-reference/decks/take-a-card-off-a-slide"},{"title":"Change a card","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json patch /api/v1/decks/{id}/steps/{index}/overlays/{card}","href":"/api-reference/decks/change-a-card"},{"title":"Put text, a shape or a picture on a slide","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json post /api/v1/decks/{id}/steps/{index}/elements","href":"/api-reference/decks/put-text-a-shape-or-a-picture-on-a-slide"},{"title":"Take text, a shape or a picture off a slide","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json delete /api/v1/decks/{id}/steps/{index}/elements/{kind}/{element}","href":"/api-reference/decks/take-text-a-shape-or-a-picture-off-a-slide"},{"title":"Change text, a shape or a picture","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json patch /api/v1/decks/{id}/steps/{index}/elements/{kind}/{element}","href":"/api-reference/decks/change-text-a-shape-or-a-picture"},{"title":"Copy a step","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json post /api/v1/decks/{id}/steps/{index}/duplicate","href":"/api-reference/decks/copy-a-step"},{"title":"Move a step","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json post /api/v1/decks/{id}/steps/{index}/move","href":"/api-reference/decks/move-a-step"},{"title":"Screenshot a step","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json get /api/v1/decks/{id}/steps/{index}/screenshot","href":"/api-reference/decks/screenshot-a-step"},{"title":"List the fonts","description":"The font keys a text box's `font` and a card's `textFont` take, with the family each one draws. Send `deck` to add the fonts that deck uploaded, which are named by their family. What Paper's get_font_family_info answers for a design file.\n\nNeeds the `decks:read` scope.","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json get /api/v1/fonts","href":"/api-reference/decks/list-the-fonts"},{"title":"Attach the slides as a PDF","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json put /api/v1/decks/{id}/source","href":"/api-reference/decks/attach-the-slides-as-a-pdf"}]},{"group":"rooms","pages":[{"title":"List rooms","description":"The team's rooms, newest first, fifty at most. Send deckId for the sessions one deck has run, each with the name it was started under, so the same deck used for five classes lists five sessions.\n\nNeeds the `rooms:read` scope.","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json get /api/v1/rooms","href":"/api-reference/rooms/list-rooms"},{"title":"Start a room","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json post /api/v1/rooms","href":"/api-reference/rooms/start-a-room"},{"title":"Drive a room","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json post /api/v1/rooms/{code}/actions","href":"/api-reference/rooms/drive-a-room"},{"title":"Read the results","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json get /api/v1/rooms/{code}/results","href":"/api-reference/rooms/read-the-results"},{"title":"Read every session's results","deprecated":null,"version":null,"openapi":"https://test.polltheroom.com/openapi.json get /api/v1/decks/{id}/results","href":"/api-reference/rooms/read-every-sessions-results"}]}]}]},"basePath":"","title":"Attach the slides as a PDF - Poll the Room","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}