Returns sent, delivered, opened, and started counts for each version of your email template copy, so you can compare subject lines, preview text, body copy, and CTA labels. Each presentation counts once, under the template version of its first email to a recipient outside Demand IQ and your organization’s own users, using that email’s own delivery and open outcomes. Manual sends from the Send dialog count. An open of a later reminder doesn’t count toward any version.
AI Presentations leaves out sends only to Demand IQ staff (@demand-iq.com) addresses, sends only to your organization’s own users, deleted presentations, and automatic opens. Delivered and opened counts come only from events for recipients outside Demand IQ.
Pass deckId to get one template’s version list (DeckTemplateList). It includes every version the template has had, with all-time counts, from the moment the version is saved. Versions you removed are left out. The template’s active version is always listed first, even before its first send. since and until are ignored when you pass deckId. A deckId that doesn’t belong to your organization returns an empty versions list rather than 404.
Omit deckId for the organization-wide view (TemplatePerformance). Provide since and until together to bound when the first send happened, or omit both for the last 30 days ending now.
Returns 404 when email template performance isn’t enabled for your organization.
Organization-wide view only. Ignored when you pass deckId. Start of the window for the first send (inclusive), as an RFC 3339 timestamp. Timezone offsets are accepted. Provide with until, or omit both for the last 30 days.
Organization-wide view only. Ignored when you pass deckId. End of the window for the first send (exclusive), as an RFC 3339 timestamp. Must be after since. Provide with since, or omit both for the last 30 days.
Every version the template has had, all-time, with removed versions left out. The active version comes first, then the newest by firstSavedAt or else firstSentAt. The unknown version row, if present, is last. The active version is always present. Its templateVersionId is null when its copy was never saved or sent.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Demand IQ Docs","colors":{"primary":"#15ABE6","light":"#4DC4F5","dark":"#0D8FBF"},"logo":{"light":"https://mintcdn.com/demandiq/uEOIlnRlShq78CaU/logo/light.svg?fit=max\u0026auto=format\u0026n=uEOIlnRlShq78CaU\u0026q=85\u0026s=6b20bece67526eefd70ff64cc194f726","dark":"https://mintcdn.com/demandiq/uEOIlnRlShq78CaU/logo/dark.svg?fit=max\u0026auto=format\u0026n=uEOIlnRlShq78CaU\u0026q=85\u0026s=7c1536ee4a0142de77ede0db3669a9b3"},"favicon":"https://mintcdn.com/demandiq/uEOIlnRlShq78CaU/favicon.svg?fit=max\u0026auto=format\u0026n=uEOIlnRlShq78CaU\u0026q=85\u0026s=3977ad1b9501e84aaac387cc29d19e3c","styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"demandiq","hasAudioNarration":false,"actualSubdomain":"demandiq","customDomains":["developer.demand-iq.com"],"gitSource":{"type":"github","owner":"demand-iq","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aec99a98cb1f1c974b9defe","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"API Reference","count":102},{"language":"default","tag":"Endpoints","count":102},{"language":"default","tag":"Guides","count":13},{"language":"default","tag":"Presentations","count":12},{"language":"default","tag":"Company","count":10},{"language":"default","tag":"Decks","count":9},{"language":"default","tag":"Contracts","count":8},{"language":"default","tag":"Slides","count":8},{"language":"default","tag":"Configuration guides","count":6},{"language":"default","tag":"Authentication","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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/engagement/get-email-template-performance","slug":"/api-reference/engagement/get-email-template-performance","pageMetadata":{"title":"Get email template performance","description":"Returns sent, delivered, opened, and started counts for each version of your email template copy, so you can compare subject lines, preview text, body copy, and CTA labels. Each presentation counts once, under the template version of its first email to a recipient outside Demand IQ and your organization's own users, using that email's own delivery and open outcomes. Manual sends from the **Send** dialog count. An open of a later reminder doesn't count toward any version.\n\nAI Presentations leaves out sends only to Demand IQ staff (`@demand-iq.com`) addresses, sends only to your organization's own users, deleted presentations, and automatic opens. Delivered and opened counts come only from events for recipients outside Demand IQ.\n\nPass `deckId` to get one template's version list (`DeckTemplateList`). It includes every version the template has had, with all-time counts, from the moment the version is saved. Versions you removed are left out. The template's active version is always listed first, even before its first send. `since` and `until` are ignored when you pass `deckId`. A `deckId` that doesn't belong to your organization returns an empty `versions` list rather than `404`.\n\nOmit `deckId` for the organization-wide view (`TemplatePerformance`). Provide `since` and `until` together to bound when the first send happened, or omit both for the last 30 days ending now.\n\nReturns `404` when email template performance isn't enabled for your organization.","deprecated":null,"version":null,"openapi":"/openapi.json get /api/delivery/template-performance","href":"/api-reference/engagement/get-email-template-performance","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 strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Returns sent, delivered, opened, and started counts for each version of your email template copy, so you can compare subject lines, preview text, body copy, and CTA labels. Each presentation counts once, under the template version of its first email to a recipient outside Demand IQ and your organization’s own users, using that email’s own delivery and open outcomes. Manual sends from the \", _jsx(_components.strong, {\n children: \"Send\"\n }), \" dialog count. An open of a later reminder doesn’t count toward any version.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"AI Presentations leaves out sends only to Demand IQ staff (\", _jsx(_components.code, {\n children: \"@demand-iq.com\"\n }), \") addresses, sends only to your organization’s own users, deleted presentations, and automatic opens. Delivered and opened counts come only from events for recipients outside Demand IQ.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Pass \", _jsx(_components.code, {\n children: \"deckId\"\n }), \" to get one template’s version list (\", _jsx(_components.code, {\n children: \"DeckTemplateList\"\n }), \"). It includes every version the template has had, with all-time counts, from the moment the version is saved. Versions you removed are left out. The template’s active version is always listed first, even before its first send. \", _jsx(_components.code, {\n children: \"since\"\n }), \" and \", _jsx(_components.code, {\n children: \"until\"\n }), \" are ignored when you pass \", _jsx(_components.code, {\n children: \"deckId\"\n }), \". A \", _jsx(_components.code, {\n children: \"deckId\"\n }), \" that doesn’t belong to your organization returns an empty \", _jsx(_components.code, {\n children: \"versions\"\n }), \" list rather than \", _jsx(_components.code, {\n children: \"404\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Omit \", _jsx(_components.code, {\n children: \"deckId\"\n }), \" for the organization-wide view (\", _jsx(_components.code, {\n children: \"TemplatePerformance\"\n }), \"). Provide \", _jsx(_components.code, {\n children: \"since\"\n }), \" and \", _jsx(_components.code, {\n children: \"until\"\n }), \" together to bound when the first send happened, or omit both for the last 30 days ending now.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Returns \", _jsx(_components.code, {\n children: \"404\"\n }), \" when email template performance isn’t enabled for your organization.\"]\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":"Get email template performance","description":"Returns sent, delivered, opened, and started counts for each version of your email template copy, so you can compare subject lines, preview text, body copy, and CTA labels. Each presentation counts once, under the template version of its first email to a recipient outside Demand IQ and your organization's own users, using that email's own delivery and open outcomes. Manual sends from the **Send** dialog count. An open of a later reminder doesn't count toward any version.\n\nAI Presentations leaves out sends only to Demand IQ staff (`@demand-iq.com`) addresses, sends only to your organization's own users, deleted presentations, and automatic opens. Delivered and opened counts come only from events for recipients outside Demand IQ.\n\nPass `deckId` to get one template's version list (`DeckTemplateList`). It includes every version the template has had, with all-time counts, from the moment the version is saved. Versions you removed are left out. The template's active version is always listed first, even before its first send. `since` and `until` are ignored when you pass `deckId`. A `deckId` that doesn't belong to your organization returns an empty `versions` list rather than `404`.\n\nOmit `deckId` for the organization-wide view (`TemplatePerformance`). Provide `since` and `until` together to bound when the first send happened, or omit both for the last 30 days ending now.\n\nReturns `404` when email template performance isn't enabled for your organization.","deprecated":null,"version":null,"openapi":"/openapi.json get /api/delivery/template-performance","href":"/api-reference/engagement/get-email-template-performance","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Engagement"],"summary":"Get email template performance","description":"Returns sent, delivered, opened, and started counts for each version of your email template copy, so you can compare subject lines, preview text, body copy, and CTA labels. Each presentation counts once, under the template version of its first email to a recipient outside Demand IQ and your organization's own users, using that email's own delivery and open outcomes. Manual sends from the **Send** dialog count. An open of a later reminder doesn't count toward any version.\n\nAI Presentations leaves out sends only to Demand IQ staff (`@demand-iq.com`) addresses, sends only to your organization's own users, deleted presentations, and automatic opens. Delivered and opened counts come only from events for recipients outside Demand IQ.\n\nPass `deckId` to get one template's version list (`DeckTemplateList`). It includes every version the template has had, with all-time counts, from the moment the version is saved. Versions you removed are left out. The template's active version is always listed first, even before its first send. `since` and `until` are ignored when you pass `deckId`. A `deckId` that doesn't belong to your organization returns an empty `versions` list rather than `404`.\n\nOmit `deckId` for the organization-wide view (`TemplatePerformance`). Provide `since` and `until` together to bound when the first send happened, or omit both for the last 30 days ending now.\n\nReturns `404` when email template performance isn't enabled for your organization.","security":["3811bec8-9309-494d-95d4-407f17419092","4efbf1bf-5176-41a4-a079-82b99c88d4b2"],"parameters":["9f5daaea-4bdb-4e15-9795-c7a53e7a3fdd","225da531-5605-4cb1-a0dd-90f1b95b394b","eddd9bfa-0c53-4839-9459-25e709300187"],"responses":{"200":"5f514409-da47-43b8-8b49-5f2bbf1e7414","400":"845a098c-9ff3-4625-9046-96d0c5d5ecbb","401":"de552783-d0b1-4ac3-a347-af831038a7ac","404":"c058727d-02d2-4126-a782-07683146fefb","500":"ac1dbc4e-11fc-4e87-917e-d47aa497806f"},"method":"get","type":"path","servers":["8c1c298c-6efa-4eee-bbc2-ad374d34a17e","7c7f8449-1062-4369-8578-0037bf063220"],"path":"/api/delivery/template-performance","baseUrlOptions":["https://app.demand-iq.com","http://localhost:3000"],"title":"Get email template performance","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"9f5daaea-4bdb-4e15-9795-c7a53e7a3fdd":{"in":"query","name":"since","required":false,"schema":{"type":"string","format":"date-time","isRequired":false,"description":"Organization-wide view only. Ignored when you pass `deckId`. Start of the window for the first send (inclusive), as an RFC 3339 timestamp. Timezone offsets are accepted. Provide with `until`, or omit both for the last 30 days.","uniqueKey":"","typeLabel":"string\u003cdate-time>"},"example":"2026-09-01T00:00:00Z","description":"Organization-wide view only. Ignored when you pass `deckId`. Start of the window for the first send (inclusive), as an RFC 3339 timestamp. Timezone offsets are accepted. Provide with `until`, or omit both for the last 30 days."},"225da531-5605-4cb1-a0dd-90f1b95b394b":{"in":"query","name":"until","required":false,"schema":{"type":"string","format":"date-time","isRequired":false,"description":"Organization-wide view only. Ignored when you pass `deckId`. End of the window for the first send (exclusive), as an RFC 3339 timestamp. Must be after `since`. Provide with `since`, or omit both for the last 30 days.","uniqueKey":"","typeLabel":"string\u003cdate-time>"},"example":"2026-10-01T00:00:00Z","description":"Organization-wide view only. Ignored when you pass `deckId`. End of the window for the first send (exclusive), as an RFC 3339 timestamp. Must be after `since`. Provide with `since`, or omit both for the last 30 days."},"eddd9bfa-0c53-4839-9459-25e709300187":{"in":"query","name":"deckId","required":false,"schema":{"type":"string","format":"uuid","isRequired":false,"description":"Return this template's all-time version list instead of the organization-wide view. An empty value is treated as absent.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"description":"Return this template's all-time version list instead of the organization-wide view. An empty value is treated as absent.","example":"8b2e4f10-3c6a-4d9e-a1f7-62c0b5d9e384"}},"responses":{"5f514409-da47-43b8-8b49-5f2bbf1e7414":{"description":"The template's version list when you pass `deckId`, otherwise email performance per template version for your organization","content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Every version of a template's email copy, with all-time counts.","required":["deckId","minimumDelivered","versions"],"properties":{"deckId":{"type":"string","format":"uuid","example":"8b2e4f10-3c6a-4d9e-a1f7-62c0b5d9e384","isRequired":true,"uniqueKey":"oneOf.0.deckId","typeLabel":"string\u003cuuid>"},"minimumDelivered":{"type":"integer","example":10,"description":"The smallest number of delivered first sends at which a version's rates are `reportable`.","isRequired":true,"uniqueKey":"oneOf.0.minimumDelivered","typeLabel":"integer"},"versions":{"type":"array","description":"Every version the template has had, all-time, with removed versions left out. The active version comes first, then the newest by `firstSavedAt` or else `firstSentAt`. The unknown version row, if present, is last. The active version is always present. Its `templateVersionId` is `null` when its copy was never saved or sent.","items":{"type":"object","description":"One version on a template's version list, with all-time counts.","required":["firstSavedAt","firstSentAt","templateVersionId","copy","kind","current","sent","delivered","emailOpened","started","reportable","fallbackSent"],"properties":{"templateVersionId":{"oneOf":[{"type":"string","format":"uuid","example":"3f1c9a2e-7b4d-4e8a-9c21-5d6f0a8b1e47","description":"The email template version. `null` marks the \"Unknown version\" row, which holds first sends made before AI Presentations recorded template versions. These sends are never assigned to your current copy.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].templateVersionId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","example":"3f1c9a2e-7b4d-4e8a-9c21-5d6f0a8b1e47","description":"The email template version. `null` marks the \"Unknown version\" row, which holds first sends made before AI Presentations recorded template versions. These sends are never assigned to your current copy.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].templateVersionId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].templateVersionId","typeLabel":"string\u003cuuid> | null"},"copy":{"oneOf":[{"type":"object","description":"The version's email copy before tokens are filled in. `null` on the unknown version row.","properties":{"subject":{"type":"string","example":"{{homeowner.first_name}}, your roof presentation is ready","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].copy.oneOf.0.subject","typeLabel":"string"},"preheader":{"type":"string","example":"Watch a 3-minute walkthrough of your quote","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].copy.oneOf.0.preheader","typeLabel":"string"},"bodyTemplate":{"type":"string","example":"Hi {{homeowner.first_name}},\n\nYour personalized roof presentation is ready. Watch it any time.","description":"The email body.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].copy.oneOf.0.bodyTemplate","typeLabel":"string"},"ctaLabel":{"type":"string","example":"Watch your presentation","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].copy.oneOf.0.ctaLabel","typeLabel":"string"},"fromName":{"oneOf":[{"type":"string","example":"Summit Roofing","description":"The sender name. `null` means your organization's name.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].copy.oneOf.0.fromName.oneOf.0","typeLabel":"string"},{"type":"null","example":"Summit Roofing","description":"The sender name. `null` means your organization's name.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].copy.oneOf.0.fromName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].copy.oneOf.0.fromName","typeLabel":"string | null"},"createdAt":{"type":"string","format":"date-time","example":"2026-09-14T16:02:11.000Z","description":"When AI Presentations first recorded this copy, on a save or a send by any template. Use `firstSavedAt` and `firstSentAt` to date a version on one template's list.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].copy.oneOf.0.createdAt","typeLabel":"string\u003cdate-time>"}},"required":["subject","preheader","bodyTemplate","ctaLabel","fromName","createdAt"],"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].copy.oneOf.0","typeLabel":"object"},{"type":"null","description":"The version's email copy before tokens are filled in. `null` on the unknown version row.","properties":{"subject":{"type":"string","example":"{{homeowner.first_name}}, your roof presentation is ready"},"preheader":{"type":"string","example":"Watch a 3-minute walkthrough of your quote"},"bodyTemplate":{"type":"string","example":"Hi {{homeowner.first_name}},\n\nYour personalized roof presentation is ready. Watch it any time.","description":"The email body."},"ctaLabel":{"type":"string","example":"Watch your presentation"},"fromName":{"oneOf":[{"type":"string","example":"Summit Roofing","description":"The sender name. `null` means your organization's name."},{"type":"null","example":"Summit Roofing","description":"The sender name. `null` means your organization's name."}]},"createdAt":{"type":"string","format":"date-time","example":"2026-09-14T16:02:11.000Z","description":"When AI Presentations first recorded this copy, on a save or a send by any template. Use `firstSavedAt` and `firstSentAt` to date a version on one template's list."}},"required":["subject","preheader","bodyTemplate","ctaLabel","fromName","createdAt"],"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].copy.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].copy","typeLabel":"object | null"},"kind":{"type":"string","enum":["deck","default","previous_default","unknown"],"example":"deck","description":"Where the version's copy came from. `deck` is copy saved on a template. `default` is the current Demand IQ default copy. `previous_default` is an earlier Demand IQ default. `unknown` is the row for sends made before AI Presentations recorded template versions.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"current":{"type":"boolean","example":true,"description":"`true` for the template's active version: the copy it sends now. Always `false` when you omit `deckId`.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].current","typeLabel":"boolean"},"sent":{"type":"integer","example":148,"description":"Presentations whose first send to the homeowner used this version. In the organization-wide view, only first sends in the window count.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].sent","typeLabel":"integer"},"delivered":{"type":"object","description":"Delivered first sends over first sends whose delivery outcome is known. `unknown` counts sends whose outcome is no longer available.","required":["numerator","denominator","unknown"],"properties":{"numerator":{"type":"integer","example":42,"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].delivered.numerator","typeLabel":"integer"},"denominator":{"type":"integer","example":120,"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].delivered.denominator","typeLabel":"integer"},"unknown":{"type":"integer","example":0,"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].delivered.unknown","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].delivered","typeLabel":"object"},"emailOpened":{"type":"object","description":"First sends a person opened over delivered first sends. Automatic opens, such as Apple Mail Privacy Protection prefetches, are excluded. Compare versions on this rate.","required":["numerator","denominator","unknown"],"properties":{"numerator":{"type":"integer","example":42,"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].emailOpened.numerator","typeLabel":"integer"},"denominator":{"type":"integer","example":120,"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].emailOpened.denominator","typeLabel":"integer"},"unknown":{"type":"integer","example":0,"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].emailOpened.unknown","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].emailOpened","typeLabel":"object"},"started":{"type":"object","description":"Homeowners who started the presentation after the first send over first sends a person opened. A start is the first time the viewer showed slides to a homeowner. Visits by your own team, rep-mode visits, and link scanners don't count. Opened sends from before AI Presentations began recording starts count as `unknown`.","required":["numerator","denominator","unknown"],"properties":{"numerator":{"type":"integer","example":42,"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].started.numerator","typeLabel":"integer"},"denominator":{"type":"integer","example":120,"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].started.denominator","typeLabel":"integer"},"unknown":{"type":"integer","example":0,"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].started.unknown","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].started","typeLabel":"object"},"reportable":{"type":"boolean","example":true,"description":"`false` when fewer first sends were delivered than `minimumDelivered`. Treat the rates as directional only.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].reportable","typeLabel":"boolean"},"fallbackSent":{"type":"integer","example":3,"description":"First sends whose subject or preview text fell back to the default because a token rendered empty. The homeowner never saw this version's copy, so these sends are left out of `sent` and every rate.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].fallbackSent","typeLabel":"integer"},"firstSavedAt":{"oneOf":[{"type":"string","format":"date-time","example":"2026-09-14T16:02:11.000Z","description":"When this template first saved this version. `null` for a version that was only ever sent.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].firstSavedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","example":"2026-09-14T16:02:11.000Z","description":"When this template first saved this version. `null` for a version that was only ever sent.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].firstSavedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].firstSavedAt","typeLabel":"string\u003cdate-time> | null"},"firstSentAt":{"oneOf":[{"type":"string","format":"date-time","example":"2026-09-15T13:40:02.000Z","description":"This template's earliest counted first send of this version. `null` when it has none.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].firstSentAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","example":"2026-09-15T13:40:02.000Z","description":"This template's earliest counted first send of this version. `null` when it has none.","isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].firstSentAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.versions.items.[INDEX].firstSentAt","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"oneOf.0.versions.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.0.versions","typeLabel":"object[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Email performance per email template version for your organization over the requested window.","required":["window","deckId","minimumDelivered","versions"],"properties":{"window":{"type":"object","description":"The window the first sends fall in: the requested `since`/`until`, or the last 30 days ending at request time.","properties":{"from":{"type":"string","format":"date-time","example":"2026-09-01T00:00:00.000Z","isRequired":true,"uniqueKey":"oneOf.1.window.from","typeLabel":"string\u003cdate-time>"},"until":{"type":"string","format":"date-time","example":"2026-10-01T00:00:00.000Z","isRequired":true,"uniqueKey":"oneOf.1.window.until","typeLabel":"string\u003cdate-time>"}},"required":["from","until"],"isRequired":true,"uniqueKey":"oneOf.1.window","typeLabel":"object"},"deckId":{"oneOf":[{"type":"string","format":"uuid","description":"Always `null`. A request with `deckId` returns `DeckTemplateList` instead.","isRequired":true,"uniqueKey":"oneOf.1.deckId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Always `null`. A request with `deckId` returns `DeckTemplateList` instead.","isRequired":true,"uniqueKey":"oneOf.1.deckId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.deckId","typeLabel":"string\u003cuuid> | null"},"minimumDelivered":{"type":"integer","example":10,"description":"The smallest number of delivered first sends at which a version's rates are `reportable`.","isRequired":true,"uniqueKey":"oneOf.1.minimumDelivered","typeLabel":"integer"},"versions":{"type":"array","description":"One entry per email template version, newest first. The unknown version row, if present, is last.","items":{"type":"object","description":"Email performance for one email template version, counted on first sends to a recipient outside Demand IQ and your organization's own users.","properties":{"templateVersionId":{"oneOf":[{"type":"string","format":"uuid","example":"3f1c9a2e-7b4d-4e8a-9c21-5d6f0a8b1e47","description":"The email template version. `null` marks the \"Unknown version\" row, which holds first sends made before AI Presentations recorded template versions. These sends are never assigned to your current copy.","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].templateVersionId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","example":"3f1c9a2e-7b4d-4e8a-9c21-5d6f0a8b1e47","description":"The email template version. `null` marks the \"Unknown version\" row, which holds first sends made before AI Presentations recorded template versions. These sends are never assigned to your current copy.","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].templateVersionId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].templateVersionId","typeLabel":"string\u003cuuid> | null"},"copy":{"oneOf":[{"type":"object","description":"The version's email copy before tokens are filled in. `null` on the unknown version row.","properties":{"subject":{"type":"string","example":"{{homeowner.first_name}}, your roof presentation is ready","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].copy.oneOf.0.subject","typeLabel":"string"},"preheader":{"type":"string","example":"Watch a 3-minute walkthrough of your quote","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].copy.oneOf.0.preheader","typeLabel":"string"},"bodyTemplate":{"type":"string","example":"Hi {{homeowner.first_name}},\n\nYour personalized roof presentation is ready. Watch it any time.","description":"The email body.","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].copy.oneOf.0.bodyTemplate","typeLabel":"string"},"ctaLabel":{"type":"string","example":"Watch your presentation","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].copy.oneOf.0.ctaLabel","typeLabel":"string"},"fromName":{"oneOf":[{"type":"string","example":"Summit Roofing","description":"The sender name. `null` means your organization's name.","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].copy.oneOf.0.fromName.oneOf.0","typeLabel":"string"},{"type":"null","example":"Summit Roofing","description":"The sender name. `null` means your organization's name.","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].copy.oneOf.0.fromName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].copy.oneOf.0.fromName","typeLabel":"string | null"},"createdAt":{"type":"string","format":"date-time","example":"2026-09-14T16:02:11.000Z","description":"When AI Presentations first recorded this copy, on a save or a send by any template. Use `firstSavedAt` and `firstSentAt` to date a version on one template's list.","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].copy.oneOf.0.createdAt","typeLabel":"string\u003cdate-time>"}},"required":["subject","preheader","bodyTemplate","ctaLabel","fromName","createdAt"],"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].copy.oneOf.0","typeLabel":"object"},{"type":"null","description":"The version's email copy before tokens are filled in. `null` on the unknown version row.","properties":{"subject":{"type":"string","example":"{{homeowner.first_name}}, your roof presentation is ready"},"preheader":{"type":"string","example":"Watch a 3-minute walkthrough of your quote"},"bodyTemplate":{"type":"string","example":"Hi {{homeowner.first_name}},\n\nYour personalized roof presentation is ready. Watch it any time.","description":"The email body."},"ctaLabel":{"type":"string","example":"Watch your presentation"},"fromName":{"oneOf":[{"type":"string","example":"Summit Roofing","description":"The sender name. `null` means your organization's name."},{"type":"null","example":"Summit Roofing","description":"The sender name. `null` means your organization's name."}]},"createdAt":{"type":"string","format":"date-time","example":"2026-09-14T16:02:11.000Z","description":"When AI Presentations first recorded this copy, on a save or a send by any template. Use `firstSavedAt` and `firstSentAt` to date a version on one template's list."}},"required":["subject","preheader","bodyTemplate","ctaLabel","fromName","createdAt"],"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].copy.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].copy","typeLabel":"object | null"},"kind":{"type":"string","enum":["deck","default","previous_default","unknown"],"example":"deck","description":"Where the version's copy came from. `deck` is copy saved on a template. `default` is the current Demand IQ default copy. `previous_default` is an earlier Demand IQ default. `unknown` is the row for sends made before AI Presentations recorded template versions.","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"current":{"type":"boolean","example":true,"description":"`true` for the template's active version: the copy it sends now. Always `false` when you omit `deckId`.","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].current","typeLabel":"boolean"},"sent":{"type":"integer","example":148,"description":"Presentations whose first send to the homeowner used this version. In the organization-wide view, only first sends in the window count.","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].sent","typeLabel":"integer"},"delivered":{"type":"object","description":"Delivered first sends over first sends whose delivery outcome is known. `unknown` counts sends whose outcome is no longer available.","required":["numerator","denominator","unknown"],"properties":{"numerator":{"type":"integer","example":42,"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].delivered.numerator","typeLabel":"integer"},"denominator":{"type":"integer","example":120,"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].delivered.denominator","typeLabel":"integer"},"unknown":{"type":"integer","example":0,"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].delivered.unknown","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].delivered","typeLabel":"object"},"emailOpened":{"type":"object","description":"First sends a person opened over delivered first sends. Automatic opens, such as Apple Mail Privacy Protection prefetches, are excluded. Compare versions on this rate.","required":["numerator","denominator","unknown"],"properties":{"numerator":{"type":"integer","example":42,"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].emailOpened.numerator","typeLabel":"integer"},"denominator":{"type":"integer","example":120,"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].emailOpened.denominator","typeLabel":"integer"},"unknown":{"type":"integer","example":0,"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].emailOpened.unknown","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].emailOpened","typeLabel":"object"},"started":{"type":"object","description":"Homeowners who started the presentation after the first send over first sends a person opened. A start is the first time the viewer showed slides to a homeowner. Visits by your own team, rep-mode visits, and link scanners don't count. Opened sends from before AI Presentations began recording starts count as `unknown`.","required":["numerator","denominator","unknown"],"properties":{"numerator":{"type":"integer","example":42,"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].started.numerator","typeLabel":"integer"},"denominator":{"type":"integer","example":120,"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].started.denominator","typeLabel":"integer"},"unknown":{"type":"integer","example":0,"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].started.unknown","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].started","typeLabel":"object"},"reportable":{"type":"boolean","example":true,"description":"`false` when fewer first sends were delivered than `minimumDelivered`. Treat the rates as directional only.","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].reportable","typeLabel":"boolean"},"fallbackSent":{"type":"integer","example":3,"description":"First sends whose subject or preview text fell back to the default because a token rendered empty. The homeowner never saw this version's copy, so these sends are left out of `sent` and every rate.","isRequired":true,"uniqueKey":"oneOf.1.versions.items.[INDEX].fallbackSent","typeLabel":"integer"}},"required":["templateVersionId","copy","kind","current","sent","delivered","emailOpened","started","reportable","fallbackSent"],"uniqueKey":"oneOf.1.versions.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.1.versions","typeLabel":"object[]"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"deckId":"8b2e4f10-3c6a-4d9e-a1f7-62c0b5d9e384","minimumDelivered":10,"versions":[{"templateVersionId":"3f1c9a2e-7b4d-4e8a-9c21-5d6f0a8b1e47","copy":{"subject":"{{homeowner.first_name}}, your roof presentation is ready","preheader":"Watch a 3-minute walkthrough of your quote","bodyTemplate":"Hi {{homeowner.first_name}},\n\nYour personalized roof presentation is ready. Watch it any time.","ctaLabel":"Watch your presentation","fromName":"Summit Roofing","createdAt":"2026-09-14T16:02:11.000Z"},"kind":"deck","current":true,"sent":148,"delivered":{"numerator":42,"denominator":120,"unknown":0},"emailOpened":{"numerator":42,"denominator":120,"unknown":0},"started":{"numerator":42,"denominator":120,"unknown":0},"reportable":true,"fallbackSent":3,"firstSavedAt":"2026-09-14T16:02:11.000Z","firstSentAt":"2026-09-15T13:40:02.000Z"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"845a098c-9ff3-4625-9046-96d0c5d5ecbb":{"description":"Invalid query parameters, `since` or `until` provided without the other, or `since` not before `until` (organization-wide view only)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"de552783-d0b1-4ac3-a347-af831038a7ac":{"description":"Not authenticated","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"c058727d-02d2-4126-a782-07683146fefb":{"description":"Email template performance isn't enabled for your organization","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"ac1dbc4e-11fc-4e87-917e-d47aa497806f":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"3811bec8-9309-494d-95d4-407f17419092":{"bearerAuth":{"type":"http","scheme":"bearer","description":"A Demand IQ API key or service token, passed in the `Authorization: Bearer` header.","scopes":[],"schemeName":"bearerAuth"}},"4efbf1bf-5176-41a4-a079-82b99c88d4b2":{"sessionCookie":{"type":"apiKey","in":"cookie","name":"session","description":"Session cookie obtained from `POST /api/auth/login`.","scopes":[],"schemeName":"sessionCookie"}}},"servers":{"8c1c298c-6efa-4eee-bbc2-ad374d34a17e":{"url":"https://app.demand-iq.com","description":"Production"},"7c7f8449-1062-4369-8578-0037bf063220":{"url":"http://localhost:3000","description":"Local development"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"A Demand IQ API key or service token, passed in the `Authorization: Bearer` header.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"A Demand IQ API key or service token, passed in the `Authorization: Bearer` header.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"},{"schemes":[{"scheme":{"type":"apiKey","in":"cookie","name":"session","description":"Session cookie obtained from `POST /api/auth/login`.","scopes":[],"schemeName":"sessionCookie"},"schema":{"title":"session","type":"string","description":"Session cookie obtained from `POST /api/auth/login`.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"sessionCookie","name":"session"}],"title":"sessionCookie"}]},"originalFileLocation":"openapi.json"},"subdomain":"demandiq","siteName":"Demand IQ Docs","title":"Get email template performance - Demand IQ Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T19:16:28.944Z","originalFileLocation":"api-reference/engagement/get-email-template-performance.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=\"Returns sent, delivered, opened, and started counts for each version of your email template copy, so you can compare subject lines, preview text, body copy, and CTA labels. Each presentation counts once, under the template version of its first email to a recipient outside Demand IQ and your organization\u0026#x27;s own users, using that email\u0026#x27;s own delivery and open outcomes. Manual sends from the Send dialog count. An open of a later reminder doesn\u0026#x27;t count toward any version. AI Presentations leaves out sends only to Demand IQ staff (@demand-iq.com) addresses, sends only to your organization\u0026#x27;s own users, deleted presentations, and automatic opens. Delivered and opened counts come only from events for recipients outside Demand IQ. Pass deckId to get one template\u0026#x27;s version list (DeckTemplateList). It includes every version the template has had, with all-time counts, from the moment the version is saved. Versions you removed are left out. The template\u0026#x27;s active version is always listed first, even before its first send. since and until are ignored when you pass deckId. A deckId that doesn\u0026#x27;t belong to your organization returns an empty versions list rather than 404. Omit deckId for the organization-wide view (TemplatePerformance). Provide since and until together to bound when the first send happened, or omit both for the last 30 days ending now. Returns 404 when email template performance isn\u0026#x27;t enabled for your organization.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Demand IQ Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/demandiq/54pBlYBD7mNg2sEI/_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/demandiq/54pBlYBD7mNg2sEI/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/demandiq/54pBlYBD7mNg2sEI/_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/demandiq/54pBlYBD7mNg2sEI/_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/demandiq/54pBlYBD7mNg2sEI/_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/demandiq/54pBlYBD7mNg2sEI/_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/demandiq/54pBlYBD7mNg2sEI/_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/demandiq/54pBlYBD7mNg2sEI/_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/demandiq/54pBlYBD7mNg2sEI/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get email template performance - Demand IQ Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns sent, delivered, opened, and started counts for each version of your email template copy, so you can compare subject lines, preview text, body copy, and CTA labels. Each presentation counts once, under the template version of its first email to a recipient outside Demand IQ and your organization\u0026#x27;s own users, using that email\u0026#x27;s own delivery and open outcomes. Manual sends from the Send dialog count. An open of a later reminder doesn\u0026#x27;t count toward any version. AI Presentations leaves out sends only to Demand IQ staff (@demand-iq.com) addresses, sends only to your organization\u0026#x27;s own users, deleted presentations, and automatic opens. Delivered and opened counts come only from events for recipients outside Demand IQ. Pass deckId to get one template\u0026#x27;s version list (DeckTemplateList). It includes every version the template has had, with all-time counts, from the moment the version is saved. Versions you removed are left out. The template\u0026#x27;s active version is always listed first, even before its first send. since and until are ignored when you pass deckId. A deckId that doesn\u0026#x27;t belong to your organization returns an empty versions list rather than 404. Omit deckId for the organization-wide view (TemplatePerformance). Provide since and until together to bound when the first send happened, or omit both for the last 30 days ending now. Returns 404 when email template performance isn\u0026#x27;t enabled for your organization.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Demand IQ Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.demand-iq.com/api-reference/engagement/get-email-template-performance\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://demandiq.mintlify.site/_mintlify/api/og/v2?division=Engagement\u0026amp;title=Get+email+template+performance\u0026amp;description=Returns+sent%2C+delivered%2C+opened%2C+and+started+counts+for+each+version+of+your+email+template+copy%2C+so+you+can+compare+subject+lines%2C+preview+text%2C+body+copy%2C+and\u0026amp;theme=6cb71c7b4cbe4450b6bff4c3\u0026amp;signature=0fa98686bfc77ce37f4fa8b75bab972d8eedcfa186cc72967181c26a1f71e322\">\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=\"Get email template performance - Demand IQ Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns sent, delivered, opened, and started counts for each version of your email template copy, so you can compare subject lines, preview text, body copy, and CTA labels. Each presentation counts once, under the template version of its first email to a recipient outside Demand IQ and your organization\u0026#x27;s own users, using that email\u0026#x27;s own delivery and open outcomes. Manual sends from the Send dialog count. An open of a later reminder doesn\u0026#x27;t count toward any version. AI Presentations leaves out sends only to Demand IQ staff (@demand-iq.com) addresses, sends only to your organization\u0026#x27;s own users, deleted presentations, and automatic opens. Delivered and opened counts come only from events for recipients outside Demand IQ. Pass deckId to get one template\u0026#x27;s version list (DeckTemplateList). It includes every version the template has had, with all-time counts, from the moment the version is saved. Versions you removed are left out. The template\u0026#x27;s active version is always listed first, even before its first send. since and until are ignored when you pass deckId. A deckId that doesn\u0026#x27;t belong to your organization returns an empty versions list rather than 404. Omit deckId for the organization-wide view (TemplatePerformance). Provide since and until together to bound when the first send happened, or omit both for the last 30 days ending now. Returns 404 when email template performance isn\u0026#x27;t enabled for your organization.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://demandiq.mintlify.site/_mintlify/api/og/v2?division=Engagement\u0026amp;title=Get+email+template+performance\u0026amp;description=Returns+sent%2C+delivered%2C+opened%2C+and+started+counts+for+each+version+of+your+email+template+copy%2C+so+you+can+compare+subject+lines%2C+preview+text%2C+body+copy%2C+and\u0026amp;theme=6cb71c7b4cbe4450b6bff4c3\u0026amp;signature=0fa98686bfc77ce37f4fa8b75bab972d8eedcfa186cc72967181c26a1f71e322\">\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/demandiq/54pBlYBD7mNg2sEI/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Demand IQ Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#15ABE6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.demand-iq.com/api-reference/engagement/get-email-template-performance\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/engagement/get-email-template-performance.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.demand-iq.com/#organization\",\"name\":\"Demand IQ Docs\",\"url\":\"https://developer.demand-iq.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/demandiq/uEOIlnRlShq78CaU/logo/light.svg?fit=max\u0026auto=format\u0026n=uEOIlnRlShq78CaU\u0026q=85\u0026s=6b20bece67526eefd70ff64cc194f726\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.demand-iq.com#website\",\"name\":\"Demand IQ Docs\",\"url\":\"https://developer.demand-iq.com\",\"publisher\":{\"@id\":\"https://developer.demand-iq.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.demand-iq.com/api-reference/engagement/get-email-template-performance#webpage\",\"url\":\"https://developer.demand-iq.com/api-reference/engagement/get-email-template-performance\",\"name\":\"Get email template performance\",\"description\":\"Returns sent, delivered, opened, and started counts for each version of your email template copy, so you can compare subject lines, preview text, body copy, and CTA labels. Each presentation counts once, under the template version of its first email to a recipient outside Demand IQ and your organization's own users, using that email's own delivery and open outcomes. Manual sends from the Send dialog count. An open of a later reminder doesn't count toward any version. AI Presentations leaves out sends only to Demand IQ staff (@demand-iq.com) addresses, sends only to your organization's own users, deleted presentations, and automatic opens. Delivered and opened counts come only from events for recipients outside Demand IQ. Pass deckId to get one template's version list (DeckTemplateList). It includes every version the template has had, with all-time counts, from the moment the version is saved. Versions you removed are left out. The template's active version is always listed first, even before its first send. since and until are ignored when you pass deckId. A deckId that doesn't belong to your organization returns an empty versions list rather than 404. Omit deckId for the organization-wide view (TemplatePerformance). Provide since and until together to bound when the first send happened, or omit both for the last 30 days ending now. Returns 404 when email template performance isn't enabled for your organization.\",\"dateModified\":\"2026-11-02T19:16:28.944Z\",\"isPartOf\":{\"@id\":\"https://developer.demand-iq.com#website\"},\"breadcrumb\":{\"@id\":\"https://developer.demand-iq.com/api-reference/engagement/get-email-template-performance#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.demand-iq.com/api-reference/engagement/get-email-template-performance#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://developer.demand-iq.com/api-reference/activity/list-recent-activity\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Engagement\",\"item\":\"https://developer.demand-iq.com/api-reference/engagement/get-engagement-summary\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get email template performance\",\"item\":\"https://developer.demand-iq.com/api-reference/engagement/get-email-template-performance\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developer.demand-iq.com/api-reference/engagement/get-email-template-performance#apireference\",\"headline\":\"Get email template performance\",\"name\":\"Get email template performance\",\"description\":\"Returns sent, delivered, opened, and started counts for each version of your email template copy, so you can compare subject lines, preview text, body copy, and CTA labels. Each presentation counts once, under the template version of its first email to a recipient outside Demand IQ and your organization's own users, using that email's own delivery and open outcomes. Manual sends from the Send dialog count. An open of a later reminder doesn't count toward any version. AI Presentations leaves out sends only to Demand IQ staff (@demand-iq.com) addresses, sends only to your organization's own users, deleted presentations, and automatic opens. Delivered and opened counts come only from events for recipients outside Demand IQ. Pass deckId to get one template's version list (DeckTemplateList). It includes every version the template has had, with all-time counts, from the moment the version is saved. Versions you removed are left out. The template's active version is always listed first, even before its first send. since and until are ignored when you pass deckId. A deckId that doesn't belong to your organization returns an empty versions list rather than 404. Omit deckId for the organization-wide view (TemplatePerformance). Provide since and until together to bound when the first send happened, or omit both for the last 30 days ending now. Returns 404 when email template performance isn't enabled for your organization.\",\"url\":\"https://developer.demand-iq.com/api-reference/engagement/get-email-template-performance\",\"mainEntityOfPage\":{\"@id\":\"https://developer.demand-iq.com/api-reference/engagement/get-email-template-performance#webpage\"},\"dateModified\":\"2026-11-02T19:16:28.944Z\",\"publisher\":{\"@id\":\"https://developer.demand-iq.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.demand-iq.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Demand IQ Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Demand IQ Docs","nav":{"global":null,"tabs":[{"tab":"Lead integrations","pages":[{"title":"Lead integrations","href":"/integrations/connecting-your-api"}]},{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":"/ai-presentations/introduction"}]},{"tab":"API Reference","icon":"code","groups":[{"group":"Endpoints","pages":[{"group":"Activity","expanded":false,"pages":[{"title":"List recent activity","deprecated":null,"version":null,"openapi":"/openapi.json get /api/activity","href":"/api-reference/activity/list-recent-activity"}]},{"group":"Engagement","expanded":false,"pages":[{"title":"Get engagement summary","deprecated":null,"version":null,"openapi":"/openapi.json get /api/engagement/summary","href":"/api-reference/engagement/get-engagement-summary"},{"title":"List homeowner questions","description":"Returns every question homeowners asked in your presentations during the requested window, grouped by ISO week (UTC). Each question includes its template, slide, modality, outcome, question and answer text, and the knowledge sources involved.\n\nAI Presentations classifies each question with one outcome, checked in this order:\n\n- `degraded`: AI Presentations couldn't answer because of a service failure. This isn't a content gap.\n- `deflected`: the FAQs, slides, and knowledge base had no answer.\n- `low_confidence`: AI Presentations answered with low confidence.\n- `answered`: every other question.\n\nThe response includes counts per week and for the whole window, plus an `unansweredRate`: deflected questions divided by asked questions minus degraded ones.\n\nThe window applies to when each question was asked, so back-to-back windows list each question exactly once. The counts match `questionsAsked` from `GET /api/engagement/summary` only when every presentation in the window was also created inside it, because the summary counts questions on presentations created in the window.\n\nQuestions from browsers signed in to AI Presentations and from the template editor preview are left out. Question and answer text is removed after 90 days. Those questions keep their outcome and count, and show `text.status` as `redacted`.\n\nProvide `since` and `until` together for a custom window, or omit both for the last 30 days ending now. If the window contains more than 5,000 questions, AI Presentations returns `422`. Narrow the window and retry.\n\nPass `deckId` to limit the list to one template. A `deckId` that doesn't belong to your organization returns an empty list rather than `404`.","deprecated":null,"version":null,"openapi":"/openapi.json get /api/engagement/questions","href":"/api-reference/engagement/list-homeowner-questions"},{"title":"Get email template performance","deprecated":null,"version":null,"openapi":"/openapi.json get /api/delivery/template-performance","href":"/api-reference/engagement/get-email-template-performance"},{"title":"Remove an earlier email template version","description":"Removes a version from one template's version list for good. The version's sends are kept in your organization-wide counts, but the template never lists or activates it again. Saving identical copy later creates a new version with zero counts.\n\nPass `untracked` as `versionId` to remove the row for sends made before AI Presentations recorded template versions. Removing the Demand IQ default copy affects only this template.\n\nYou can't remove the template's active version. Doing so returns `409`. Returns `404` when email template performance isn't enabled for your organization, or the template or version isn't on the list, including a template that belongs to another organization.","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/delivery/template-performance/{versionId}","href":"/api-reference/engagement/remove-an-earlier-email-template-version"},{"title":"Activate an earlier email template version","deprecated":null,"version":null,"openapi":"/openapi.json post /api/delivery/template-performance/{versionId}/activate","href":"/api-reference/engagement/activate-an-earlier-email-template-version"}]},{"group":"Decks","expanded":false,"pages":[{"title":"List decks","deprecated":null,"version":null,"openapi":"/openapi.json get /api/decks","href":"/api-reference/decks/list-decks"},{"title":"Create a deck","deprecated":null,"version":null,"openapi":"/openapi.json post /api/decks","href":"/api-reference/decks/create-a-deck"},{"title":"Import a presentation as a deck","deprecated":null,"version":null,"openapi":"/openapi.json post /api/decks/import","href":"/api-reference/decks/import-a-presentation-as-a-deck"},{"title":"Get a deck","deprecated":null,"version":null,"openapi":"/openapi.json get /api/decks/{deckId}","href":"/api-reference/decks/get-a-deck"},{"title":"Update a deck","deprecated":null,"version":null,"openapi":"/openapi.json put /api/decks/{deckId}","href":"/api-reference/decks/update-a-deck"},{"title":"Delete a deck","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/decks/{deckId}","href":"/api-reference/decks/delete-a-deck"},{"title":"Get intro page config","deprecated":null,"version":null,"openapi":"/openapi.json get /api/decks/{deckId}/intro","href":"/api-reference/decks/get-intro-page-config"},{"title":"Upsert intro page config","deprecated":null,"version":null,"openapi":"/openapi.json put /api/decks/{deckId}/intro","href":"/api-reference/decks/upsert-intro-page-config"},{"title":"Delete intro page config","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/decks/{deckId}/intro","href":"/api-reference/decks/delete-intro-page-config"}]},{"group":"Generation","expanded":false,"pages":[{"title":"Poll generation status for every deck","deprecated":null,"version":null,"openapi":"/openapi.json get /api/decks/generation-status","href":"/api-reference/generation/poll-generation-status-for-every-deck"},{"title":"Start AI generation from images","deprecated":null,"version":null,"openapi":"/openapi.json post /api/decks/{deckId}/generate","href":"/api-reference/generation/start-ai-generation-from-images"},{"title":"Poll generation status","deprecated":null,"version":null,"openapi":"/openapi.json get /api/decks/{deckId}/generate/status","href":"/api-reference/generation/poll-generation-status"},{"title":"Analyze a slide image and generate content","deprecated":null,"version":null,"openapi":"/openapi.json post /api/slides/analyze-and-generate","href":"/api-reference/generation/analyze-a-slide-image-and-generate-content"},{"title":"Generate preview audio","deprecated":null,"version":null,"openapi":"/openapi.json post /api/decks/{deckId}/generate-preview","href":"/api-reference/generation/generate-preview-audio"},{"title":"Check preview audio status","deprecated":null,"version":null,"openapi":"/openapi.json get /api/decks/{deckId}/preview-status","href":"/api-reference/generation/check-preview-audio-status"}]},{"group":"Slides","expanded":false,"pages":[{"title":"List slides","deprecated":null,"version":null,"openapi":"/openapi.json get /api/decks/{deckId}/slides","href":"/api-reference/slides/list-slides"},{"title":"Create a slide","deprecated":null,"version":null,"openapi":"/openapi.json post /api/decks/{deckId}/slides","href":"/api-reference/slides/create-a-slide"},{"title":"Reorder slides","deprecated":null,"version":null,"openapi":"/openapi.json put /api/decks/{deckId}/slides/reorder","href":"/api-reference/slides/reorder-slides"},{"title":"Update a slide","deprecated":null,"version":null,"openapi":"/openapi.json put /api/slides/{slideId}","href":"/api-reference/slides/update-a-slide"},{"title":"Delete a slide","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/slides/{slideId}","href":"/api-reference/slides/delete-a-slide"},{"title":"Get product pricing data","deprecated":null,"version":null,"openapi":"/openapi.json get /api/slides/{slideId}/product-data","href":"/api-reference/slides/get-product-pricing-data"},{"title":"Upsert product pricing data","deprecated":null,"version":null,"openapi":"/openapi.json put /api/slides/{slideId}/product-data","href":"/api-reference/slides/upsert-product-pricing-data"},{"title":"Remove product pricing data","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/slides/{slideId}/product-data","href":"/api-reference/slides/remove-product-pricing-data"}]},{"group":"FAQs","expanded":false,"pages":[{"title":"List FAQs","deprecated":null,"version":null,"openapi":"/openapi.json get /api/decks/{deckId}/faqs","href":"/api-reference/faqs/list-faqs"},{"title":"Create a FAQ","deprecated":null,"version":null,"openapi":"/openapi.json post /api/decks/{deckId}/faqs","href":"/api-reference/faqs/create-a-faq"},{"title":"Update a FAQ","deprecated":null,"version":null,"openapi":"/openapi.json put /api/faqs/{faqId}","href":"/api-reference/faqs/update-a-faq"},{"title":"Delete a FAQ","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/faqs/{faqId}","href":"/api-reference/faqs/delete-a-faq"}]},{"group":"Branding","expanded":false,"pages":[{"title":"Get branding","deprecated":null,"version":null,"openapi":"/openapi.json get /api/decks/{deckId}/branding","href":"/api-reference/branding/get-branding"},{"title":"Upsert branding","deprecated":null,"version":null,"openapi":"/openapi.json put /api/decks/{deckId}/branding","href":"/api-reference/branding/upsert-branding"}]},{"group":"Q\u0026A","expanded":false,"pages":[{"title":"Get Q\u0026A settings","deprecated":null,"version":null,"openapi":"/openapi.json get /api/decks/{deckId}/qa-settings","href":"/api-reference/q\u0026a/get-q\u0026a-settings"},{"title":"Update Q\u0026A settings","deprecated":null,"version":null,"openapi":"/openapi.json put /api/decks/{deckId}/qa-settings","href":"/api-reference/q\u0026a/update-q\u0026a-settings"},{"title":"Answer a question","deprecated":null,"version":null,"openapi":"/openapi.json post /api/qa","href":"/api-reference/q\u0026a/answer-a-question"},{"title":"Stream the spoken audio for an answer","deprecated":null,"version":null,"openapi":"/openapi.json get /api/qa/audio","href":"/api-reference/q\u0026a/stream-the-spoken-audio-for-an-answer"},{"title":"Classify viewer intent after Q\u0026A","deprecated":null,"version":null,"openapi":"/openapi.json post /api/intent/continue","href":"/api-reference/q\u0026a/classify-viewer-intent-after-q\u0026a"}]},{"group":"Presentations","expanded":false,"pages":[{"title":"List presentations","deprecated":null,"version":null,"openapi":"/openapi.json get /api/decks/{deckId}/presentations","href":"/api-reference/presentations/list-presentations"},{"title":"Create a presentation","deprecated":null,"version":null,"openapi":"/openapi.json post /api/decks/{deckId}/presentations","href":"/api-reference/presentations/create-a-presentation"},{"title":"Update a presentation","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/presentations/{presentationId}","href":"/api-reference/presentations/update-a-presentation"},{"title":"Delete a presentation","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/presentations/{presentationId}","href":"/api-reference/presentations/delete-a-presentation"},{"title":"Get presentation status","deprecated":null,"version":null,"openapi":"/openapi.json get /api/presentations/{presentationId}/status","href":"/api-reference/presentations/get-presentation-status"},{"title":"Start a presentation","deprecated":null,"version":null,"openapi":"/openapi.json post /api/presentations/{presentationId}/start","href":"/api-reference/presentations/start-a-presentation"},{"title":"Get presentation slides and Q\u0026A settings","deprecated":null,"version":null,"openapi":"/openapi.json get /api/presentations/{presentationId}/content","href":"/api-reference/presentations/get-presentation-slides-and-q\u0026a-settings"},{"title":"Get product selections","deprecated":null,"version":null,"openapi":"/openapi.json get /api/presentations/{presentationId}/product-selection","href":"/api-reference/presentations/get-product-selections"},{"title":"Save a product selection","deprecated":null,"version":null,"openapi":"/openapi.json put /api/presentations/{presentationId}/product-selection","href":"/api-reference/presentations/save-a-product-selection"},{"title":"Record a presentation event","deprecated":null,"version":null,"openapi":"/openapi.json post /api/presentations/{presentationId}/events","href":"/api-reference/presentations/record-a-presentation-event"},{"title":"Refresh an events token","deprecated":null,"version":null,"openapi":"/openapi.json post /api/presentations/{presentationId}/events-token","href":"/api-reference/presentations/refresh-an-events-token"},{"title":"Send a follow-up email for an ingested presentation","deprecated":null,"version":null,"openapi":"/openapi.json post /api/presentations/send","href":"/api-reference/presentations/send-a-follow-up-email-for-an-ingested-presentation"}]},{"group":"Narration","expanded":false,"pages":[{"title":"Synthesize narration for one slide","deprecated":null,"version":null,"openapi":"/openapi.json post /api/narration/single","href":"/api-reference/narration/synthesize-narration-for-one-slide"},{"title":"Synthesize narration for multiple slides","deprecated":null,"version":null,"openapi":"/openapi.json post /api/narration/batch","href":"/api-reference/narration/synthesize-narration-for-multiple-slides"},{"title":"Synthesize resume narration","deprecated":null,"version":null,"openapi":"/openapi.json post /api/narration/resume","href":"/api-reference/narration/synthesize-resume-narration"},{"title":"Synthesize narration for a slide","deprecated":null,"version":null,"openapi":"/openapi.json post /api/narration","href":"/api-reference/narration/synthesize-narration-for-a-slide"},{"title":"Synthesize Q\u0026A prompt audio","deprecated":null,"version":null,"openapi":"/openapi.json post /api/narration/qa-audio","href":"/api-reference/narration/synthesize-q\u0026a-prompt-audio"},{"title":"Generate a Q\u0026A resume prompt","deprecated":null,"version":null,"openapi":"/openapi.json post /api/narration/generate-prompt","href":"/api-reference/narration/generate-a-q\u0026a-resume-prompt"}]},{"group":"Images","expanded":false,"pages":[{"title":"List images","deprecated":null,"version":null,"openapi":"/openapi.json get /api/images","href":"/api-reference/images/list-images"},{"title":"Upload an image","deprecated":null,"version":null,"openapi":"/openapi.json post /api/images/upload","href":"/api-reference/images/upload-an-image"},{"title":"Delete an image","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/images/{imageId}","href":"/api-reference/images/delete-an-image"}]},{"group":"Voices","expanded":false,"pages":[{"title":"List available voices","deprecated":null,"version":null,"openapi":"/openapi.json get /api/voices/list","href":"/api-reference/voices/list-available-voices"}]},{"group":"Utility","expanded":false,"pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"/openapi.json get /api/health","href":"/api-reference/utility/health-check"},{"title":"Validate an address","deprecated":null,"version":null,"openapi":"/openapi.json post /api/address/validate","href":"/api-reference/utility/validate-an-address"}]},{"group":"Authentication","expanded":false,"pages":[{"title":"Log in","deprecated":null,"version":null,"openapi":"/openapi.json post /api/auth/login","href":"/api-reference/authentication/log-in"},{"title":"Log out","deprecated":null,"version":null,"openapi":"/openapi.json post /api/auth/logout","href":"/api-reference/authentication/log-out"},{"title":"Get current user","deprecated":null,"version":null,"openapi":"/openapi.json get /api/auth/me","href":"/api-reference/authentication/get-current-user"},{"title":"Portal SSO via auth code exchange","deprecated":null,"version":null,"openapi":"/openapi.json get /api/auth/sso","href":"/api-reference/authentication/portal-sso-via-auth-code-exchange"},{"title":"Portal SSO token-bearer exchange","deprecated":null,"version":null,"openapi":"/openapi.json post /api/auth/sso/exchange","href":"/api-reference/authentication/portal-sso-token-bearer-exchange"},{"title":"CORS preflight for the SSO exchange","deprecated":null,"version":null,"openapi":"/openapi.json options /api/auth/sso/exchange","href":"/api-reference/authentication/cors-preflight-for-the-sso-exchange"}]},{"group":"Company","expanded":false,"pages":[{"title":"Get company contact info","deprecated":null,"version":null,"openapi":"/openapi.json get /api/company/contact","href":"/api-reference/company/get-company-contact-info"},{"title":"Update company contact info","deprecated":null,"version":null,"openapi":"/openapi.json put /api/company/contact","href":"/api-reference/company/update-company-contact-info"},{"title":"Mark the welcome wizard as seen","deprecated":null,"version":null,"openapi":"/openapi.json post /api/company/welcome-seen","href":"/api-reference/company/mark-the-welcome-wizard-as-seen"},{"title":"Get knowledge base profile","deprecated":null,"version":null,"openapi":"/openapi.json get /api/company/kb/profile","href":"/api-reference/company/get-knowledge-base-profile"},{"title":"Update knowledge base profile","deprecated":null,"version":null,"openapi":"/openapi.json put /api/company/kb/profile","href":"/api-reference/company/update-knowledge-base-profile"},{"title":"List knowledge base documents","deprecated":null,"version":null,"openapi":"/openapi.json get /api/company/kb/documents","href":"/api-reference/company/list-knowledge-base-documents"},{"title":"Initiate document upload","deprecated":null,"version":null,"openapi":"/openapi.json post /api/company/kb/documents/upload-init","href":"/api-reference/company/initiate-document-upload"},{"title":"Complete document upload","deprecated":null,"version":null,"openapi":"/openapi.json post /api/company/kb/documents/complete","href":"/api-reference/company/complete-document-upload"},{"title":"Get a knowledge base document","deprecated":null,"version":null,"openapi":"/openapi.json get /api/company/kb/documents/{documentId}","href":"/api-reference/company/get-a-knowledge-base-document"},{"title":"Delete a knowledge base document","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/company/kb/documents/{documentId}","href":"/api-reference/company/delete-a-knowledge-base-document"}]},{"group":"Contracts","expanded":false,"pages":[{"title":"Import a contract document","deprecated":null,"version":null,"openapi":"/openapi.json post /api/contracts/import","href":"/api-reference/contracts/import-a-contract-document"},{"title":"List action configs","deprecated":null,"version":null,"openapi":"/openapi.json get /api/decks/{deckId}/action-configs","href":"/api-reference/contracts/list-action-configs"},{"title":"Create an action config","deprecated":null,"version":null,"openapi":"/openapi.json post /api/decks/{deckId}/action-configs","href":"/api-reference/contracts/create-an-action-config"},{"title":"Get an action config","deprecated":null,"version":null,"openapi":"/openapi.json get /api/decks/{deckId}/action-configs/{configId}","href":"/api-reference/contracts/get-an-action-config"},{"title":"Update an action config","deprecated":null,"version":null,"openapi":"/openapi.json put /api/decks/{deckId}/action-configs/{configId}","href":"/api-reference/contracts/update-an-action-config"},{"title":"Delete an action config","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/decks/{deckId}/action-configs/{configId}","href":"/api-reference/contracts/delete-an-action-config"},{"title":"Get contract for signing","deprecated":null,"version":null,"openapi":"/openapi.json get /api/presentations/{presentationId}/sign-contract","href":"/api-reference/contracts/get-contract-for-signing"},{"title":"Sign a contract","deprecated":null,"version":null,"openapi":"/openapi.json post /api/presentations/{presentationId}/sign-contract","href":"/api-reference/contracts/sign-a-contract"}]},{"group":"Notifications","expanded":false,"pages":[{"title":"List notification subscriptions","deprecated":null,"version":null,"openapi":"/openapi.json get /api/notifications/subscriptions","href":"/api-reference/notifications/list-notification-subscriptions"},{"title":"Create a notification subscription","deprecated":null,"version":null,"openapi":"/openapi.json post /api/notifications/subscriptions","href":"/api-reference/notifications/create-a-notification-subscription"},{"title":"Get a notification subscription","deprecated":null,"version":null,"openapi":"/openapi.json get /api/notifications/subscriptions/{subscriptionId}","href":"/api-reference/notifications/get-a-notification-subscription"},{"title":"Update a notification subscription","deprecated":null,"version":null,"openapi":"/openapi.json put /api/notifications/subscriptions/{subscriptionId}","href":"/api-reference/notifications/update-a-notification-subscription"},{"title":"Delete a notification subscription","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/notifications/subscriptions/{subscriptionId}","href":"/api-reference/notifications/delete-a-notification-subscription"},{"title":"List event log","deprecated":null,"version":null,"openapi":"/openapi.json get /api/notifications/events","href":"/api-reference/notifications/list-event-log"}]},{"group":"Fonts","expanded":false,"pages":[{"title":"List available fonts","deprecated":null,"version":null,"openapi":"/openapi.json get /api/fonts","href":"/api-reference/fonts/list-available-fonts"}]},{"group":"Appointments","expanded":false,"pages":[{"title":"Get available appointment slots","deprecated":null,"version":null,"openapi":"/openapi.json get /api/presentations/{presentationId}/appointment","href":"/api-reference/appointments/get-available-appointment-slots"},{"title":"Book an appointment","deprecated":null,"version":null,"openapi":"/openapi.json post /api/presentations/{presentationId}/appointment","href":"/api-reference/appointments/book-an-appointment"}]},{"group":"Roof Measurements","expanded":false,"pages":[{"title":"Request roof measurements","deprecated":null,"version":null,"openapi":"/openapi.json post /api/roof-measurements","href":"/api-reference/roof-measurements/request-roof-measurements"},{"title":"Get roof measurement status","deprecated":null,"version":null,"openapi":"/openapi.json get /api/roof-measurements/{requestId}/status","href":"/api-reference/roof-measurements/get-roof-measurement-status"},{"title":"Cancel a roof measurement request","deprecated":null,"version":null,"openapi":"/openapi.json post /api/roof-measurements/{requestId}/cancel","href":"/api-reference/roof-measurements/cancel-a-roof-measurement-request"}]},{"group":"Actions","expanded":false,"pages":[{"title":"Detect a voice or text command","deprecated":null,"version":null,"openapi":"/openapi.json post /api/actions","href":"/api-reference/actions/detect-a-voice-or-text-command"}]},{"group":"Onboarding","expanded":false,"pages":[{"title":"Record a presentations onboarding completion or dismissal","deprecated":null,"version":null,"openapi":"/openapi.json post /api/onboarding/tour","href":"/api-reference/onboarding/record-a-presentations-onboarding-completion-or-dismissal"}]}]}]}]},"basePath":"","title":"Get email template performance - Demand IQ Docs","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}