const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: JSON.stringify({ front_image_url: 'https://cdn.thanks.io/letter-backgrounds/bg0.png', message: 'Hey %FIRST_NAME%!,\n\nTHANK YOU for allowing us the opportunity to HELP you with your plan!', handwriting_style_id: 4, recipients: [ { name: 'Current Resident', address: '123 Main Street', city: 'Fake City', province: 'NY', postal_code: '55555', country: 'US', custom1: 'Example Custom 1', custom2: 'Example Custom 2', custom3: 'Example Custom 3', custom4: 'Example Custom 4' }, { name: 'Jane Doe', address: '456 Another St', city: 'Fake City', province: 'NY', postal_code: '55555', country: 'US' } ] })};fetch('https://api.thanks.io/api/v2/send/windowlessletter', options) .then(res => res.json()) .then(res => console.log(res)) .catch(err => console.error(err));
{ "total_estimated_recipients": 1, "authorization_total": 112, "leads_fee": 0, "mailing_list_ids_used": "", "additional_letter_pages_count": 0, "handwriting_color": "rgba(31,0,113,0.80)", "front_image": "https://cdn.thanks.io/letter-backgrounds/bg0.png", "message": "\n\n\n\n\n\n\n\nWhat is Lorem Ipsum? Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. Why do we use it? It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).", "append_or_current_resident": true, "type": "windowlessletter", "return_name": "Custom Return", "return_address": "1 Main Street", "return_address2": "Unit 1", "return_city": "Woodbridge", "return_province": "NJ", "return_postal_code": "07095", "message_template_id": null, "image_template_id": null, "method": "api", "sub_account_id": null, "font_size": "auto", "qrcode_url": null, "custom_background_url": null, "giftcard_brand": null, "giftcard_image": null, "giftcard_amount": null, "status": "reviewing", "addons": { "standardmail": "on" }, "style": 5, "user_id": 2, "updated_at": "2025-08-15 03:50:51", "created_at": "2025-08-15 03:50:51", "id": 42676, "display_status": "Reviewing", "display_trigger": "API", "display_type": "Windowless Letter", "giftcard_brand_longname": "", "sub_account": null, "recipients": [ { "name": "Current Resident", "address": "1 Main Street", "city": "Anytown", "province": "NY", "postal_code": "55555", "country": "US", "address2": "" } ]}
Direct Send Orders
Send Windowless Letter
Send a letter in a windowless envelope.
POST
/
send
/
windowlessletter
const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: JSON.stringify({ front_image_url: 'https://cdn.thanks.io/letter-backgrounds/bg0.png', message: 'Hey %FIRST_NAME%!,\n\nTHANK YOU for allowing us the opportunity to HELP you with your plan!', handwriting_style_id: 4, recipients: [ { name: 'Current Resident', address: '123 Main Street', city: 'Fake City', province: 'NY', postal_code: '55555', country: 'US', custom1: 'Example Custom 1', custom2: 'Example Custom 2', custom3: 'Example Custom 3', custom4: 'Example Custom 4' }, { name: 'Jane Doe', address: '456 Another St', city: 'Fake City', province: 'NY', postal_code: '55555', country: 'US' } ] })};fetch('https://api.thanks.io/api/v2/send/windowlessletter', options) .then(res => res.json()) .then(res => console.log(res)) .catch(err => console.error(err));
{ "total_estimated_recipients": 1, "authorization_total": 112, "leads_fee": 0, "mailing_list_ids_used": "", "additional_letter_pages_count": 0, "handwriting_color": "rgba(31,0,113,0.80)", "front_image": "https://cdn.thanks.io/letter-backgrounds/bg0.png", "message": "\n\n\n\n\n\n\n\nWhat is Lorem Ipsum? Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. Why do we use it? It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).", "append_or_current_resident": true, "type": "windowlessletter", "return_name": "Custom Return", "return_address": "1 Main Street", "return_address2": "Unit 1", "return_city": "Woodbridge", "return_province": "NJ", "return_postal_code": "07095", "message_template_id": null, "image_template_id": null, "method": "api", "sub_account_id": null, "font_size": "auto", "qrcode_url": null, "custom_background_url": null, "giftcard_brand": null, "giftcard_image": null, "giftcard_amount": null, "status": "reviewing", "addons": { "standardmail": "on" }, "style": 5, "user_id": 2, "updated_at": "2025-08-15 03:50:51", "created_at": "2025-08-15 03:50:51", "id": 42676, "display_status": "Reviewing", "display_trigger": "API", "display_type": "Windowless Letter", "giftcard_brand_longname": "", "sub_account": null, "recipients": [ { "name": "Current Resident", "address": "1 Main Street", "city": "Anytown", "province": "NY", "postal_code": "55555", "country": "US", "address2": "" } ]}
Set to true to return a preview instead of sending the mail piece. You can use this with any send call to inspect the output before submitting the order. On the Free and Business plans, preview images carry a DRAFT watermark; the mail you send never does. Professional and Enterprise previews have no watermark.
Use a radius search to find recipients near an address. Required if mailing_list_ids and recipients are not provided. Lookup fees are $0.05 per record.
Whether a recipient given an email but no street address has their postal address looked up from the email. Each address found is charged as an Email to Address lookup. Defaults to true. Set to false to skip the lookup: recipients without a street address are then left out of the order, which mails only the recipients that have one. Estimates never run the lookup and price such recipients as if found.
Postage class for this order. first_class mails First Class. standard mails Standard Mail (also known as Marketing Mail): lower cost for US addresses and slower to deliver, with no tracking status and no return-to-sender. Omit it to use your account's default, set with Standard Mail Mode under Settings > Mail Preferences. Standard Mail only changes the price of US addresses. Nonprofit accounts always mail at their nonprofit rate. standard needs a paid plan: free plan accounts always mail First Class, and standard from one is rejected with a 422.
Your own key/value data to store with the order. It is returned unchanged by the order endpoints and included in every webhook event for the order as order.metadata. Must be a JSON object rather than an array, and no larger than 8,192 bytes once encoded as JSON. thanks.io does not print or otherwise act on these values.
Recommended: send a saved creative instead of assembling image and message parameters per request. ID of a creative from your Creatives library (see List Creatives). The creative is sent exactly as saved: its image template, message template, handwriting and background all come from it. It cannot be combined with any parameter that changes those (image_template_id, message_template_id, front_image_url, message, the handwriting and custom background parameters, pdf_only_url, skip_creative_generation, or for gift cards giftcard_brand and giftcard_amount_in_cents); a request that does is rejected with a 422 naming them. Only qrcode_url and additional_pages_url can be added. The creative must belong to your account, be of the mailer type being sent (for postcards, the size being sent), and be complete (is_complete: true).
ID of image template to use for the background of the cover letter. If neither image_template_id nor front_image_url is specified, a blank background will be used.
URL to image to use for the background of the cover letter. If neither image_template_id nor front_image_url is specified, a blank background will be used.
URL to PDF file to use for entire mailer. If this is specified, no cover letter is generated. The recipient's address is printed on the envelope, so do not include it in your PDF; the full page is available for your content.
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"thanks.io Direct Mail Automation Toolkit","colors":{"primary":"#4c1180","light":"#8e56f3","dark":"#6822c7"},"logo":{"light":"https://mintcdn.com/thanksio/jRViseKcOKEicv0x/logo/light.svg?fit=max\u0026auto=format\u0026n=jRViseKcOKEicv0x\u0026q=85\u0026s=a63121814f9dc669a8d9dd480d2ed672","dark":"https://mintcdn.com/thanksio/jRViseKcOKEicv0x/logo/dark.svg?fit=max\u0026auto=format\u0026n=jRViseKcOKEicv0x\u0026q=85\u0026s=e0e960050738128dafc05dcb4aee7a69"},"favicon":"https://mintcdn.com/thanksio/jRViseKcOKEicv0x/favicon.svg?fit=max\u0026auto=format\u0026n=jRViseKcOKEicv0x\u0026q=85\u0026s=aecbb51507c67d60ae8911184b6d9fa0","api":{"playground":{"display":"interactive"},"examples":{"languages":["javascript","curl","python"]}},"appearance":{"default":"light","strict":true},"navbar":{"links":[{"icon":"headset","href":"https://calendly.com/thanks-io/","label":"Schedule API Consult"},{"icon":"gauge","href":"https://dashboard.thanks.io","label":"Dashboard"}],"primary":{"type":"button","label":"Create Free Account w/ $10 in Credits","href":"https://dashboard.thanks.io/register?signup_source=api_docs"}},"footer":{"socials":{"facebook":"https://www.facebook.com/groups/thanksio","github":"https://github.com/thanks-io","linkedin":"https://www.linkedin.com/company/11209125","youtube":"https://www.youtube.com/c/thanksio","x":"https://twitter.com/thanks_io_","instagram":"https://www.instagram.com/thanks.io"},"links":[{"header":"Resources","items":[{"label":"Help Docs","href":"https://help.thanks.io"},{"label":"Schedule API Consult","href":"https://calendly.com/thanks-io"},{"label":"Postman","href":"https://postman.thanks.io"}]},{"header":"Company","items":[{"label":"Website","href":"https://thanks.io"},{"label":"Contact","href":"mailto:support@thanks.io"}]}]},"integrations":{"posthog":{"apiKey":"phc_x9vVXcHH4npVKd6yxRGdCcSSLkfQ7hUYzDyhdhXrA6Uj","apiHost":"https://us.i.posthog.com"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"thanksio","hasAudioNarration":false,"actualSubdomain":"thanksio","customDomains":["docs.thanks.io"],"gitSource":{"type":"github","owner":"thanks-io","repo":"thanks.io-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{},"buildId":"6aeddc7a1c1ad53e5000ed82","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API Reference","count":73},{"language":"default","tag":"API Endpoints","count":61},{"language":"default","tag":"Design Gallery","count":46},{"language":"default","tag":"Inspirations","count":38},{"language":"default","tag":"Postcards","count":35},{"language":"default","tag":"Native Integrations","count":17},{"language":"default","tag":"Get Started","count":13},{"language":"default","tag":"Account","count":12},{"language":"default","tag":"Guides","count":11},{"language":"default","tag":"General Integrations","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/endpoint/send-mailer/send-windowless-letter","slug":"/api-reference/endpoint/send-mailer/send-windowless-letter","pageMetadata":{"openapi":"post /send/windowlessletter","title":"Send Windowless Letter","description":"Send a letter in a windowless envelope.","href":"/api-reference/endpoint/send-mailer/send-windowless-letter"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Send a letter in a windowless envelope.\"\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":{"openapi":"post /send/windowlessletter","title":"Send Windowless Letter","description":"Send a letter in a windowless envelope.","href":"/api-reference/endpoint/send-mailer/send-windowless-letter"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Send Mailer"],"summary":"Send Windowless Letter","description":"Send a letter in a windowless envelope.","requestBody":"967334d0-f72e-4b64-a5d3-1ec35a6da9e6","responses":{"200":"8909bb3c-73b2-4c2b-b40f-7a3fb6f50d60","400":"14448c5a-d6e5-43cb-a02d-835bb786df5d","403":"958abbb8-0522-4d81-aa49-e60fa72b0a84","500":"f8476e1e-d839-41ef-9ccd-e254e42320b5"},"method":"post","type":"path","servers":["707b46ab-cdbf-4d64-b507-a18ba0668278"],"security":["a8bec680-428c-4b45-8ecd-d3fba3e2f21a"],"path":"/send/windowlessletter","baseUrlOptions":["https://api.thanks.io/api/v2"],"title":"Send Windowless Letter","codeSamples":[],"requestExampleLanguages":["javascript","bash","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"preview":{"type":"boolean","description":"Set to true to return a preview instead of sending the mail piece. You can use this with any send call to inspect the output before submitting the order. On the Free and Business plans, preview images carry a DRAFT watermark; the mail you send never does. Professional and Enterprise previews have no watermark.","example":true,"uniqueKey":"preview","typeLabel":"boolean"},"mailing_list_ids":{"type":"array","description":"Mailing list IDs to send to. Required if `recipients` and `radius_search` are not provided.","items":{"type":"integer","uniqueKey":"mailing_list_ids.items.[INDEX]","typeLabel":"integer"},"example":[5166,514],"uniqueKey":"mailing_list_ids","typeLabel":"integer[]"},"recipients":{"type":"array","description":"Recipients to send to. Required if `mailing_list_ids` and `radius_search` are not provided.","items":{"oneOf":[{"type":"object","title":"Create Recipient by Address","description":"Create a recipient by providing address details","required":["mailing_list_id","address"],"properties":{"address":{"type":"string","example":"123 Main Street","isRequired":true,"uniqueKey":"recipients.items.[INDEX].oneOf.0.address","typeLabel":"string"},"name":{"type":"string","example":"Tobias Example","uniqueKey":"recipients.items.[INDEX].oneOf.0.name","typeLabel":"string"},"company":{"type":"string","example":"thanks.io","uniqueKey":"recipients.items.[INDEX].oneOf.0.company","typeLabel":"string"},"address2":{"type":"string","example":"Apartment 1","uniqueKey":"recipients.items.[INDEX].oneOf.0.address2","typeLabel":"string"},"city":{"type":"string","example":"Any Town","uniqueKey":"recipients.items.[INDEX].oneOf.0.city","typeLabel":"string"},"province":{"type":"string","description":"State or Province","example":"KS","uniqueKey":"recipients.items.[INDEX].oneOf.0.province","typeLabel":"string"},"postal_code":{"type":"string","example":"12345","uniqueKey":"recipients.items.[INDEX].oneOf.0.postal_code","typeLabel":"string"},"country":{"type":"string","example":"US","uniqueKey":"recipients.items.[INDEX].oneOf.0.country","typeLabel":"string"},"dob":{"type":"string","description":"Date of Birth in ISO 8601 format (YYYY-MM-DD) or null if not set. If provided as MM/DD/YYYY in requests, it will be converted to ISO 8601 format.","example":"1981-04-23","uniqueKey":"recipients.items.[INDEX].oneOf.0.dob","typeLabel":"string"},"anniversary":{"type":"string","description":"Can be used for house purchase anniversaries, move-in dates, or any recurring annual milestone. Anniversary date in ISO 8601 format (YYYY-MM-DD) or null if not set. If provided as MM/DD/YYYY in requests, it will be converted to ISO 8601 format.","example":"2025-07-21","uniqueKey":"recipients.items.[INDEX].oneOf.0.anniversary","typeLabel":"string"},"email":{"type":"string","example":"tobias@example.com","uniqueKey":"recipients.items.[INDEX].oneOf.0.email","typeLabel":"string"},"phone":{"type":"string","example":"+1 (555) 123-4567","uniqueKey":"recipients.items.[INDEX].oneOf.0.phone","typeLabel":"string"},"custom1":{"type":"string","description":"Custom field for additional information about the recipient","example":"Unique Info","uniqueKey":"recipients.items.[INDEX].oneOf.0.custom1","typeLabel":"string"},"custom2":{"type":"string","description":"Custom field for additional information about the recipient","example":"For example a product code or customer ID","uniqueKey":"recipients.items.[INDEX].oneOf.0.custom2","typeLabel":"string"},"custom3":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.0.custom3","typeLabel":"string"},"custom4":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.0.custom4","typeLabel":"string"},"custom5":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.0.custom5","typeLabel":"string"},"custom6":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.0.custom6","typeLabel":"string"},"custom7":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.0.custom7","typeLabel":"string"},"custom8":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.0.custom8","typeLabel":"string"},"custom9":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.0.custom9","typeLabel":"string"},"custom10":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.0.custom10","typeLabel":"string"},"absentee_address":{"type":"string","description":"The property (absentee) address for this recipient, such as a house an absentee owner owns, as opposed to where they get mail. Give either the whole address here, or the street line here with `absentee_city`, `absentee_province` and `absentee_postal_code`. When set, the `~ABSENTEE_STREET~`, `~ABSENTEE_FULL_ADDRESS~`, `~FULL_ADDRESS~` and `~STREET_VIEW~` image template variables, and `%ABSENTEE_STREET%` in messages, use this address instead of the mailing address. The mailer is still delivered to `address`. Include the city, state and ZIP so Street View finds the right property. It is stored and returned in its own `absentee_address` field, and also copied into `custom2` when that is empty, so templates that print `%CUSTOM2%` keep working; a `custom2` you send is never changed. The older convention of `custom1` = `absentee` with `custom2` = the property address is still accepted and copied into `absentee_address`.","example":"742 Evergreen Terrace","uniqueKey":"recipients.items.[INDEX].oneOf.0.absentee_address","typeLabel":"string"},"absentee_city":{"type":"string","description":"City of the absentee (property) address. Requires `absentee_address` in the same request.","example":"Springfield","uniqueKey":"recipients.items.[INDEX].oneOf.0.absentee_city","typeLabel":"string"},"absentee_province":{"type":"string","description":"State or province of the absentee (property) address. Requires `absentee_address` in the same request.","example":"IL","uniqueKey":"recipients.items.[INDEX].oneOf.0.absentee_province","typeLabel":"string"},"absentee_postal_code":{"type":"string","description":"ZIP or postal code of the absentee (property) address. Requires `absentee_address` in the same request.","example":"62704","uniqueKey":"recipients.items.[INDEX].oneOf.0.absentee_postal_code","typeLabel":"string"}},"uniqueKey":"recipients.items.[INDEX].oneOf.0","typeLabel":"Create Recipient by Address · object"},{"type":"object","title":"Create Recipient by Email","description":"Create a recipient by providing email address","required":["mailing_list_id","email"],"properties":{"email":{"type":"string","example":"tobias@example.com","isRequired":true,"uniqueKey":"recipients.items.[INDEX].oneOf.1.email","typeLabel":"string"},"name":{"type":"string","example":"Tobias Example","uniqueKey":"recipients.items.[INDEX].oneOf.1.name","typeLabel":"string"},"company":{"type":"string","example":"thanks.io","uniqueKey":"recipients.items.[INDEX].oneOf.1.company","typeLabel":"string"},"address":{"type":"string","example":"123 Main Street","uniqueKey":"recipients.items.[INDEX].oneOf.1.address","typeLabel":"string"},"address2":{"type":"string","example":"Apartment 1","uniqueKey":"recipients.items.[INDEX].oneOf.1.address2","typeLabel":"string"},"city":{"type":"string","example":"Any Town","uniqueKey":"recipients.items.[INDEX].oneOf.1.city","typeLabel":"string"},"province":{"type":"string","description":"State or Province","example":"KS","uniqueKey":"recipients.items.[INDEX].oneOf.1.province","typeLabel":"string"},"postal_code":{"type":"string","example":"12345","uniqueKey":"recipients.items.[INDEX].oneOf.1.postal_code","typeLabel":"string"},"country":{"type":"string","example":"US","uniqueKey":"recipients.items.[INDEX].oneOf.1.country","typeLabel":"string"},"dob":{"type":"string","description":"Date of Birth in ISO 8601 format (YYYY-MM-DD) or null if not set. If provided as MM/DD/YYYY in requests, it will be converted to ISO 8601 format.","example":"1981-04-23","uniqueKey":"recipients.items.[INDEX].oneOf.1.dob","typeLabel":"string"},"anniversary":{"type":"string","description":"Can be used for house purchase anniversaries, move-in dates, or any recurring annual milestone. Anniversary date in ISO 8601 format (YYYY-MM-DD) or null if not set. If provided as MM/DD/YYYY in requests, it will be converted to ISO 8601 format.","example":"2025-07-21","uniqueKey":"recipients.items.[INDEX].oneOf.1.anniversary","typeLabel":"string"},"phone":{"type":"string","example":"+1 (555) 123-4567","uniqueKey":"recipients.items.[INDEX].oneOf.1.phone","typeLabel":"string"},"custom1":{"type":"string","description":"Custom field for additional information about the recipient","example":"Unique Info","uniqueKey":"recipients.items.[INDEX].oneOf.1.custom1","typeLabel":"string"},"custom2":{"type":"string","description":"Custom field for additional information about the recipient","example":"For example a product code or customer ID","uniqueKey":"recipients.items.[INDEX].oneOf.1.custom2","typeLabel":"string"},"custom3":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.1.custom3","typeLabel":"string"},"custom4":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.1.custom4","typeLabel":"string"},"custom5":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.1.custom5","typeLabel":"string"},"custom6":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.1.custom6","typeLabel":"string"},"custom7":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.1.custom7","typeLabel":"string"},"custom8":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.1.custom8","typeLabel":"string"},"custom9":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.1.custom9","typeLabel":"string"},"custom10":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"recipients.items.[INDEX].oneOf.1.custom10","typeLabel":"string"},"absentee_address":{"type":"string","description":"The property (absentee) address for this recipient, such as a house an absentee owner owns, as opposed to where they get mail. Give either the whole address here, or the street line here with `absentee_city`, `absentee_province` and `absentee_postal_code`. When set, the `~ABSENTEE_STREET~`, `~ABSENTEE_FULL_ADDRESS~`, `~FULL_ADDRESS~` and `~STREET_VIEW~` image template variables, and `%ABSENTEE_STREET%` in messages, use this address instead of the mailing address. The mailer is still delivered to `address`. Include the city, state and ZIP so Street View finds the right property. It is stored and returned in its own `absentee_address` field, and also copied into `custom2` when that is empty, so templates that print `%CUSTOM2%` keep working; a `custom2` you send is never changed. The older convention of `custom1` = `absentee` with `custom2` = the property address is still accepted and copied into `absentee_address`.","example":"742 Evergreen Terrace","uniqueKey":"recipients.items.[INDEX].oneOf.1.absentee_address","typeLabel":"string"},"absentee_city":{"type":"string","description":"City of the absentee (property) address. Requires `absentee_address` in the same request.","example":"Springfield","uniqueKey":"recipients.items.[INDEX].oneOf.1.absentee_city","typeLabel":"string"},"absentee_province":{"type":"string","description":"State or province of the absentee (property) address. Requires `absentee_address` in the same request.","example":"IL","uniqueKey":"recipients.items.[INDEX].oneOf.1.absentee_province","typeLabel":"string"},"absentee_postal_code":{"type":"string","description":"ZIP or postal code of the absentee (property) address. Requires `absentee_address` in the same request.","example":"62704","uniqueKey":"recipients.items.[INDEX].oneOf.1.absentee_postal_code","typeLabel":"string"}},"uniqueKey":"recipients.items.[INDEX].oneOf.1","typeLabel":"Create Recipient by Email · object"}],"uniqueKey":"recipients.items.[INDEX]","typeLabel":"Create Recipient by Address · object | Create Recipient by Email · object"},"uniqueKey":"recipients","typeLabel":"(Create Recipient by Address · object | Create Recipient by Email · object)[]"},"radius_search":{"type":"object","description":"Use a radius search to find recipients near an address. Required if `mailing_list_ids` and `recipients` are not provided. Lookup fees are $0.05 per record.","properties":{"preview":{"type":"boolean","description":"Return a preview of the number of matching recipients and the estimated cost.","default":false,"uniqueKey":"radius_search.preview","typeLabel":"boolean"},"address":{"type":"string","example":"123 Main Street, Fake City, NY, 55555","description":"Full street address to use as the center point of the nearest-neighbor search.","uniqueKey":"radius_search.address","typeLabel":"string"},"record_count":{"type":"integer","description":"Number of nearby records to return.","minimum":1,"maximum":10000,"example":1,"uniqueKey":"radius_search.record_count","typeLabel":"integer"},"record_types":{"type":"string","description":"Record type to search for","enum":["all","likelytomove","likelytorefi","absenteeowner","highnetworth","majorityhomeequity","homefreeclear","underwater","kidsinhousehold","newhomeowner","firsttimehomebuyer","renters","retiring","retired","pool","onlybusinesses","newbusiness"],"default":"all","uniqueKey":"radius_search.record_types","typeLabel":"enum\u003cstring>"},"include_condos":{"type":"boolean","description":"Include condos in search.","default":false,"uniqueKey":"radius_search.include_condos","typeLabel":"boolean"},"append_data":{"type":"boolean","description":"Append phone and email to each record for an additional fee ($.20 per record).","default":false,"uniqueKey":"radius_search.append_data","typeLabel":"boolean"},"use_property_owner":{"type":"boolean","description":"Use the property owner's address when searching commercial records.","default":false,"uniqueKey":"radius_search.use_property_owner","typeLabel":"boolean"},"include_search_address":{"type":"boolean","description":"Set to true to include the search address in the generated mailing list.","uniqueKey":"radius_search.include_search_address","typeLabel":"boolean"}},"uniqueKey":"radius_search","typeLabel":"object"},"handwriting_style_id":{"type":"integer","description":"ID of handwriting style to use.","example":4,"uniqueKey":"handwriting_style_id","typeLabel":"integer"},"handwriting_color":{"type":"string","description":"Handwriting color to use. Options are preset named colors or specified as hex format, such as '#4287f5'","enum":["blue","black","green","purple","red"],"examples":["blue","#4287f5"],"uniqueKey":"handwriting_color","typeLabel":"enum\u003cstring>"},"handwriting_realism":{"type":"boolean","description":"Set to true to enable the realism effect for AI fonts.","example":true,"uniqueKey":"handwriting_realism","typeLabel":"boolean"},"sub_account":{"type":"integer","description":"Sub-account ID to use for this order.","example":7,"uniqueKey":"sub_account","typeLabel":"integer"},"notification_emails":{"type":"string","description":"Optional comma-separated list of email addresses to notify about order events such as QR scan notifications.","example":"ops@example.com,sales@example.com","uniqueKey":"notification_emails","typeLabel":"string"},"email_lookup":{"type":"boolean","description":"Whether a recipient given an `email` but no street address has their postal address looked up from the email. Each address found is charged as an Email to Address lookup. Defaults to `true`. Set to `false` to skip the lookup: recipients without a street address are then left out of the order, which mails only the recipients that have one. Estimates never run the lookup and price such recipients as if found.","default":true,"example":false,"uniqueKey":"email_lookup","typeLabel":"boolean"},"postage_class":{"type":"string","description":"Postage class for this order. `first_class` mails First Class. `standard` mails Standard Mail (also known as Marketing Mail): lower cost for US addresses and slower to deliver, with no tracking status and no return-to-sender. Omit it to use your account's default, set with Standard Mail Mode under Settings > Mail Preferences. Standard Mail only changes the price of US addresses. Nonprofit accounts always mail at their nonprofit rate. `standard` needs a paid plan: free plan accounts always mail First Class, and `standard` from one is rejected with a 422.","enum":["first_class","standard"],"example":"standard","uniqueKey":"postage_class","typeLabel":"enum\u003cstring>"},"return_name":{"type":"string","description":"Custom return name for the order.","example":"Custom Return","uniqueKey":"return_name","typeLabel":"string"},"return_address":{"type":"string","description":"Custom return address for the order.","example":"1 Main Street","uniqueKey":"return_address","typeLabel":"string"},"return_address2":{"type":"string","description":"Custom return address line 2 for the order.","example":"Unit 1","uniqueKey":"return_address2","typeLabel":"string"},"return_city":{"type":"string","description":"Custom return city for the order.","example":"Woodbridge","uniqueKey":"return_city","typeLabel":"string"},"return_state":{"type":"string","description":"Custom return state/province for the order.","example":"NJ","uniqueKey":"return_state","typeLabel":"string"},"return_postal_code":{"type":"string","description":"Custom return postal code for the order.","example":"07095","uniqueKey":"return_postal_code","typeLabel":"string"},"metadata":{"oneOf":[{"type":"object","description":"Your own key/value data to store with the order. It is returned unchanged by the order endpoints and included in every webhook event for the order as `order.metadata`. Must be a JSON object rather than an array, and no larger than 8,192 bytes once encoded as JSON. thanks.io does not print or otherwise act on these values.","additionalProperties":true,"example":{"crm_deal_id":"D-1042","campaign":"spring-winback","source":"hubspot"},"uniqueKey":"metadata.oneOf.0","typeLabel":"object"},{"type":"null","description":"Your own key/value data to store with the order. It is returned unchanged by the order endpoints and included in every webhook event for the order as `order.metadata`. Must be a JSON object rather than an array, and no larger than 8,192 bytes once encoded as JSON. thanks.io does not print or otherwise act on these values.","additionalProperties":true,"example":{"crm_deal_id":"D-1042","campaign":"spring-winback","source":"hubspot"},"uniqueKey":"metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata","typeLabel":"object | null"},"creative_id":{"type":"integer","description":"Recommended: send a saved creative instead of assembling image and message parameters per request. ID of a creative from your Creatives library (see List Creatives). The creative is sent exactly as saved: its image template, message template, handwriting and background all come from it. It cannot be combined with any parameter that changes those (image_template_id, message_template_id, front_image_url, message, the handwriting and custom background parameters, pdf_only_url, skip_creative_generation, or for gift cards giftcard_brand and giftcard_amount_in_cents); a request that does is rejected with a 422 naming them. Only qrcode_url and additional_pages_url can be added. The creative must belong to your account, be of the mailer type being sent (for postcards, the size being sent), and be complete (`is_complete: true`).","example":501,"uniqueKey":"creative_id","typeLabel":"integer"},"image_template_id":{"type":"integer","description":"ID of image template to use for the background of the cover letter. If neither image_template_id nor front_image_url is specified, a blank background will be used.","example":6,"uniqueKey":"image_template_id","typeLabel":"integer"},"front_image_url":{"type":"string","description":"URL to image to use for the background of the cover letter. If neither image_template_id nor front_image_url is specified, a blank background will be used.","example":"https://cdn.thanks.io/letter-backgrounds/bg0.png","uniqueKey":"front_image_url","typeLabel":"string"},"message":{"type":"string","description":"Handwritten message content used for cover letter.","example":"Hey %FIRST_NAME%!,\n\nTHANK YOU for allowing us the opportunity to HELP you with your plan!","uniqueKey":"message","typeLabel":"string"},"message_template_id":{"type":"integer","description":"ID of message template to use for cover letter.","example":12,"uniqueKey":"message_template_id","typeLabel":"integer"},"qrcode_url":{"type":"string","description":"URL to Autogenerate QR Code on cover letter.","example":"https://www.google.com","uniqueKey":"qrcode_url","typeLabel":"string"},"additional_pages_url":{"type":"string","description":"URL to additional pages to include with the cover letter.","example":"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf","uniqueKey":"additional_pages_url","typeLabel":"string"},"pdf_only_url":{"type":"string","description":"URL to PDF file to use for entire mailer. If this is specified, no cover letter is generated. The recipient's address is printed on the envelope, so do not include it in your PDF; the full page is available for your content.","example":"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf","uniqueKey":"pdf_only_url","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Image URL \u0026 Recipients":{"title":"Image URL \u0026 Recipients","description":"Example of sending a windowless letter using a custom front image URL, handwritten message, and an array of recipients with custom fields.","value":{"front_image_url":"https://cdn.thanks.io/letter-backgrounds/bg0.png","message":"Hey %FIRST_NAME%!,\n\nTHANK YOU for allowing us the opportunity to HELP you with your plan!","handwriting_style_id":4,"recipients":[{"name":"Current Resident","address":"123 Main Street","city":"Fake City","province":"NY","postal_code":"55555","country":"US","custom1":"Example Custom 1","custom2":"Example Custom 2","custom3":"Example Custom 3","custom4":"Example Custom 4"},{"name":"Jane Doe","address":"456 Another St","city":"Fake City","province":"NY","postal_code":"55555","country":"US"}]}},"PDF File Only":{"title":"PDF File Only","description":"Example of sending a windowless letter with a PDF file attachment, targeting specific mailing lists.","value":{"pdf_only_url":"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf","mailing_list_ids":[5166,514]}},"Templates \u0026 QR Code ":{"title":"Templates \u0026 QR Code ","description":"Example of sending a windowless letter using predefined image and message templates, targeting specific mailing lists, and including a QR code for recipient engagement.","value":{"image_template_id":6,"message_template_id":12,"qrcode_url":"https://www.google.com","mailing_list_ids":[5166,514],"additional_pages_url":"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"}},"Radius Search":{"title":"Radius Search","description":"Example of sending a windowless letter using radius search to automatically find and target recipients within a specific geographic area, with custom message and image URL.","value":{"front_image_url":"https://cdn.thanks.io/letter-backgrounds/bg0.png","message":"Hey %FIRST_NAME%!,\n\nTHANK YOU for allowing us the opportunity to HELP you with your plan!","radius_search":{"address":"123 Main Street, Fake City, NY, 55555","record_types":"likelytomove","record_count":10,"include_condos":false,"append_data":true}}},"Preview":{"title":"Preview","description":"Example of generating a preview of a windowless letter before actually sending it. Use the preview parameter to see how your letter will look without placing an actual order.","value":{"front_image_url":"https://cdn.thanks.io/letter-backgrounds/bg0.png","message":"Hey %FIRST_NAME%!,\n\nTHANK YOU for allowing us the opportunity to HELP you with your plan!","handwriting_style_id":4,"preview":true,"recipients":[{"name":"Current Resident","address":"123 Main Street","city":"Fake City","province":"NY","postal_code":"55555","country":"US","custom1":"Example Custom 1","custom2":"Example Custom 2","custom3":"Example Custom 3","custom4":"Example Custom 4"},{"name":"Jane Doe","address":"456 Another St","city":"Fake City","province":"NY","postal_code":"55555","country":"US"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"8909bb3c-73b2-4c2b-b40f-7a3fb6f50d60":{"description":"Send Mailer Success","content":{"application/json":{"schema":{"oneOf":[{"type":"object","title":"Send Mailer Order Submitted Response","description":"Response when an Order is successfully submitted to Send Mailer","properties":{"id":{"type":"integer","description":"Unique identifier for the order","example":42664,"uniqueKey":"oneOf.0.id","typeLabel":"integer"},"user_id":{"type":"integer","description":"User ID for the order","example":2,"uniqueKey":"oneOf.0.user_id","typeLabel":"integer"},"sub_account":{"oneOf":[{"type":"object","description":"Sub-account Info For Order. Can be null","properties":{"id":{"type":"integer","example":1,"uniqueKey":"oneOf.0.sub_account.oneOf.0.id","typeLabel":"integer"},"user_id":{"type":"integer","example":2,"uniqueKey":"oneOf.0.sub_account.oneOf.0.user_id","typeLabel":"integer"},"title":{"type":"string","example":"My Sub Account","uniqueKey":"oneOf.0.sub_account.oneOf.0.title","typeLabel":"string"},"return_name":{"type":"string","example":"John Smith","uniqueKey":"oneOf.0.sub_account.oneOf.0.return_name","typeLabel":"string"},"return_address":{"type":"string","example":"123 Smith Street","uniqueKey":"oneOf.0.sub_account.oneOf.0.return_address","typeLabel":"string"},"return_address2":{"type":"string","example":"Apartment 2","uniqueKey":"oneOf.0.sub_account.oneOf.0.return_address2","typeLabel":"string"},"return_city":{"type":"string","example":"Denver","uniqueKey":"oneOf.0.sub_account.oneOf.0.return_city","typeLabel":"string"},"return_state":{"type":"string","example":"CO","uniqueKey":"oneOf.0.sub_account.oneOf.0.return_state","typeLabel":"string"},"return_postal_code":{"type":"string","example":"12345","uniqueKey":"oneOf.0.sub_account.oneOf.0.return_postal_code","typeLabel":"string"}},"uniqueKey":"oneOf.0.sub_account.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"oneOf.0.sub_account.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.sub_account","typeLabel":"object | null"},"sub_account_id":{"oneOf":[{"type":"integer","description":"Sub account ID for the order","example":12345,"uniqueKey":"oneOf.0.sub_account_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Sub account ID for the order","example":12345,"uniqueKey":"oneOf.0.sub_account_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.sub_account_id","typeLabel":"integer | null"},"total_estimated_recipients":{"type":"integer","description":"Total estimated recipients for the order","example":1,"uniqueKey":"oneOf.0.total_estimated_recipients","typeLabel":"integer"},"authorization_total":{"type":"integer","description":"Total authorization amount for the order in cents","example":58,"uniqueKey":"oneOf.0.authorization_total","typeLabel":"integer"},"leads_fee":{"type":"integer","description":"Total leads fee for the order in cents","example":99,"uniqueKey":"oneOf.0.leads_fee","typeLabel":"integer"},"mailing_list_ids_used":{"type":"string","description":"Mailing lists used for the order. Can be null if recipients or radius search is used.","example":"3046,3020","uniqueKey":"oneOf.0.mailing_list_ids_used","typeLabel":"string"},"recipients":{"type":"array","description":"List of recipients for the order","items":{"type":"object","properties":{"name":{"type":"string","example":"Tobias Example","uniqueKey":"oneOf.0.recipients.items.[INDEX].name","typeLabel":"string"},"company":{"type":"string","example":"thanks.io","uniqueKey":"oneOf.0.recipients.items.[INDEX].company","typeLabel":"string"},"address":{"type":"string","example":"123 Main Street","uniqueKey":"oneOf.0.recipients.items.[INDEX].address","typeLabel":"string"},"address2":{"type":"string","example":"Apartment 1","uniqueKey":"oneOf.0.recipients.items.[INDEX].address2","typeLabel":"string"},"city":{"type":"string","example":"Any Town","uniqueKey":"oneOf.0.recipients.items.[INDEX].city","typeLabel":"string"},"province":{"type":"string","description":"State or Province","example":"KS","uniqueKey":"oneOf.0.recipients.items.[INDEX].province","typeLabel":"string"},"postal_code":{"type":"string","example":"12345","uniqueKey":"oneOf.0.recipients.items.[INDEX].postal_code","typeLabel":"string"},"country":{"type":"string","example":"US","uniqueKey":"oneOf.0.recipients.items.[INDEX].country","typeLabel":"string"},"dob":{"type":"string","description":"Date of Birth in ISO 8601 format (YYYY-MM-DD) or null if not set. If provided as MM/DD/YYYY in requests, it will be converted to ISO 8601 format.","example":"1981-04-23","uniqueKey":"oneOf.0.recipients.items.[INDEX].dob","typeLabel":"string"},"anniversary":{"type":"string","description":"Can be used for house purchase anniversaries, move-in dates, or any recurring annual milestone. Anniversary date in ISO 8601 format (YYYY-MM-DD) or null if not set. If provided as MM/DD/YYYY in requests, it will be converted to ISO 8601 format.","example":"2025-07-21","uniqueKey":"oneOf.0.recipients.items.[INDEX].anniversary","typeLabel":"string"},"email":{"type":"string","example":"tobias@example.com","uniqueKey":"oneOf.0.recipients.items.[INDEX].email","typeLabel":"string"},"phone":{"type":"string","example":"+1 (555) 123-4567","uniqueKey":"oneOf.0.recipients.items.[INDEX].phone","typeLabel":"string"},"custom1":{"type":"string","description":"Custom field for additional information about the recipient","example":"Unique Info","uniqueKey":"oneOf.0.recipients.items.[INDEX].custom1","typeLabel":"string"},"custom2":{"type":"string","description":"Custom field for additional information about the recipient","example":"For example a product code or customer ID","uniqueKey":"oneOf.0.recipients.items.[INDEX].custom2","typeLabel":"string"},"custom3":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"oneOf.0.recipients.items.[INDEX].custom3","typeLabel":"string"},"custom4":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"oneOf.0.recipients.items.[INDEX].custom4","typeLabel":"string"},"custom5":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"oneOf.0.recipients.items.[INDEX].custom5","typeLabel":"string"},"custom6":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"oneOf.0.recipients.items.[INDEX].custom6","typeLabel":"string"},"custom7":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"oneOf.0.recipients.items.[INDEX].custom7","typeLabel":"string"},"custom8":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"oneOf.0.recipients.items.[INDEX].custom8","typeLabel":"string"},"custom9":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"oneOf.0.recipients.items.[INDEX].custom9","typeLabel":"string"},"custom10":{"type":"string","description":"Custom field for additional information about the recipient","example":"Any Extra Info","uniqueKey":"oneOf.0.recipients.items.[INDEX].custom10","typeLabel":"string"},"absentee_address":{"oneOf":[{"type":"string","description":"The property (absentee) address the absentee image template and message variables use. Present only on recipients sent with an absentee address. Mail is delivered to `address`, not here.","example":"742 Evergreen Terrace, Springfield, IL 62704","uniqueKey":"oneOf.0.recipients.items.[INDEX].absentee_address.oneOf.0","typeLabel":"string"},{"type":"null","description":"The property (absentee) address the absentee image template and message variables use. Present only on recipients sent with an absentee address. Mail is delivered to `address`, not here.","example":"742 Evergreen Terrace, Springfield, IL 62704","uniqueKey":"oneOf.0.recipients.items.[INDEX].absentee_address.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.recipients.items.[INDEX].absentee_address","typeLabel":"string | null"}},"uniqueKey":"oneOf.0.recipients.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.recipients","typeLabel":"object[]"},"front_image":{"type":"string","description":"Front image URL for the order","example":"https://s3.amazonaws.com/cdn.thanks.io/user_image_library/1533645532.png","uniqueKey":"oneOf.0.front_image","typeLabel":"string"},"image_template_id":{"oneOf":[{"type":"integer","description":"Image template ID for the order","example":6,"uniqueKey":"oneOf.0.image_template_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Image template ID for the order","example":6,"uniqueKey":"oneOf.0.image_template_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.image_template_id","typeLabel":"integer | null"},"custom_background_url":{"oneOf":[{"type":"string","description":"Custom background URL for the order. Only valid for postcard backs and the interior background of notecards and giftcards.","example":"https://s3.amazonaws.com/content.thanks.io/templates/branding-builder-images/c09d39aadfc-3701d4467b8/4524cce0-78cb-11f0-b937-17570cbedaf4.png","uniqueKey":"oneOf.0.custom_background_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom background URL for the order. Only valid for postcard backs and the interior background of notecards and giftcards.","example":"https://s3.amazonaws.com/content.thanks.io/templates/branding-builder-images/c09d39aadfc-3701d4467b8/4524cce0-78cb-11f0-b937-17570cbedaf4.png","uniqueKey":"oneOf.0.custom_background_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.custom_background_url","typeLabel":"string | null"},"message":{"type":"string","description":"Message content for the order","example":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","uniqueKey":"oneOf.0.message","typeLabel":"string"},"message_template_id":{"oneOf":[{"type":"integer","description":"Message template ID for the order","example":12345,"uniqueKey":"oneOf.0.message_template_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Message template ID for the order","example":12345,"uniqueKey":"oneOf.0.message_template_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.message_template_id","typeLabel":"integer | null"},"handwriting_color":{"type":"string","description":"Handwriting color to use","example":"rgba(31,0,113,0.80)","uniqueKey":"oneOf.0.handwriting_color","typeLabel":"string"},"font_size":{"type":"string","description":"Font size for the order","enum":["auto","small","medium","large"],"example":"auto","uniqueKey":"oneOf.0.font_size","typeLabel":"enum\u003cstring>"},"style":{"type":"integer","description":"Handwriting style ID for the order","example":4,"uniqueKey":"oneOf.0.style","typeLabel":"integer"},"append_or_current_resident":{"type":"boolean","description":"Appended \"Or Current Resident\" for the order. This is helpful if you want to ensure delivery.","example":false,"uniqueKey":"oneOf.0.append_or_current_resident","typeLabel":"boolean"},"return_name":{"oneOf":[{"type":"string","description":"Return name for the order","example":"John Doe","uniqueKey":"oneOf.0.return_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Return name for the order","example":"John Doe","uniqueKey":"oneOf.0.return_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.return_name","typeLabel":"string | null"},"return_address":{"oneOf":[{"type":"string","description":"Return address line 1 for the order","example":"123 Main Street","uniqueKey":"oneOf.0.return_address.oneOf.0","typeLabel":"string"},{"type":"null","description":"Return address line 1 for the order","example":"123 Main Street","uniqueKey":"oneOf.0.return_address.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.return_address","typeLabel":"string | null"},"return_address2":{"oneOf":[{"type":"string","description":"Return address line 2 for the order","example":null,"uniqueKey":"oneOf.0.return_address2.oneOf.0","typeLabel":"string"},{"type":"null","description":"Return address line 2 for the order","example":null,"uniqueKey":"oneOf.0.return_address2.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.return_address2","typeLabel":"string | null"},"return_city":{"oneOf":[{"type":"string","description":"Return city for the order","example":"Anytown","uniqueKey":"oneOf.0.return_city.oneOf.0","typeLabel":"string"},{"type":"null","description":"Return city for the order","example":"Anytown","uniqueKey":"oneOf.0.return_city.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.return_city","typeLabel":"string | null"},"return_province":{"oneOf":[{"type":"string","description":"Return state/province for the order","example":"NY","uniqueKey":"oneOf.0.return_province.oneOf.0","typeLabel":"string"},{"type":"null","description":"Return state/province for the order","example":"NY","uniqueKey":"oneOf.0.return_province.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.return_province","typeLabel":"string | null"},"return_postal_code":{"oneOf":[{"type":"string","description":"Return postal code for the order","example":"12345","uniqueKey":"oneOf.0.return_postal_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Return postal code for the order","example":"12345","uniqueKey":"oneOf.0.return_postal_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.return_postal_code","typeLabel":"string | null"},"type":{"type":"string","description":"Type of the order","enum":["postcard","postcard6x9","postcard6x11","letter","notecard","giftcard","windowlessletter"],"example":"postcard","uniqueKey":"oneOf.0.type","typeLabel":"enum\u003cstring>"},"size":{"type":"string","description":"Size of the order (valid for postcards only)","enum":["4x6","6x9","6x11"],"example":"4x6","uniqueKey":"oneOf.0.size","typeLabel":"enum\u003cstring>"},"method":{"type":"string","description":"Method for the order","enum":["api","cardbuilder","drip","email","zapier"],"uniqueKey":"oneOf.0.method","typeLabel":"enum\u003cstring>"},"status":{"type":"string","description":"Status of the order","enum":["reviewing","processing","fulfilled","cancelled","printed","shipped","paused","delivered"],"uniqueKey":"oneOf.0.status","typeLabel":"enum\u003cstring>"},"display_status":{"type":"string","description":"Display status for the order","example":"Reviewing","uniqueKey":"oneOf.0.display_status","typeLabel":"string"},"display_trigger":{"type":"string","description":"Display trigger for the order","example":"API","uniqueKey":"oneOf.0.display_trigger","typeLabel":"string"},"display_type":{"type":"string","description":"Display type for the order","example":"Postcard-4x6","uniqueKey":"oneOf.0.display_type","typeLabel":"string"},"addons":{"oneOf":[{"type":"object","description":"Add-ons for the order","properties":{"standardmail":{"type":"string","description":"Standard mail add-on status","enum":["on","off"],"example":"on","uniqueKey":"oneOf.0.addons.oneOf.0.standardmail","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.addons.oneOf.0","typeLabel":"object"},{"type":"null","description":"Add-ons for the order","properties":{"standardmail":{"type":"string","description":"Standard mail add-on status","enum":["on","off"],"example":"on"}},"uniqueKey":"oneOf.0.addons.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.addons","typeLabel":"object | null"},"qrcode_url":{"oneOf":[{"type":"string","description":"QR code URL for the order","example":"https://www.google.com?name=~FULL_NAME~\u0026custom_field_1=~CUSTOM1~\u0026custom_field2=~CUSTOM2~","uniqueKey":"oneOf.0.qrcode_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"QR code URL for the order","example":"https://www.google.com?name=~FULL_NAME~\u0026custom_field_1=~CUSTOM1~\u0026custom_field2=~CUSTOM2~","uniqueKey":"oneOf.0.qrcode_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.qrcode_url","typeLabel":"string | null"},"giftcard_brand":{"oneOf":[{"type":"string","description":"Gift card brand for the order (valid for Giftcard orders only)","example":null,"uniqueKey":"oneOf.0.giftcard_brand.oneOf.0","typeLabel":"string"},{"type":"null","description":"Gift card brand for the order (valid for Giftcard orders only)","example":null,"uniqueKey":"oneOf.0.giftcard_brand.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.giftcard_brand","typeLabel":"string | null"},"giftcard_image":{"oneOf":[{"type":"string","description":"Gift card image URL for the order (valid for Giftcard orders only)","example":null,"uniqueKey":"oneOf.0.giftcard_image.oneOf.0","typeLabel":"string"},{"type":"null","description":"Gift card image URL for the order (valid for Giftcard orders only)","example":null,"uniqueKey":"oneOf.0.giftcard_image.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.giftcard_image","typeLabel":"string | null"},"giftcard_amount":{"oneOf":[{"type":"integer","description":"Gift card amount for the order in cents (valid for Giftcard orders only)","example":null,"uniqueKey":"oneOf.0.giftcard_amount.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Gift card amount for the order in cents (valid for Giftcard orders only)","example":null,"uniqueKey":"oneOf.0.giftcard_amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.giftcard_amount","typeLabel":"integer | null"},"giftcard_brand_longname":{"type":"string","description":"Gift card brand long name for the order (valid for Giftcard orders only)","example":"Amazon.com","uniqueKey":"oneOf.0.giftcard_brand_longname","typeLabel":"string"},"metadata":{"oneOf":[{"type":"object","description":"The metadata object submitted with the order, returned exactly as it was sent. Null when the order was created without metadata.","additionalProperties":true,"example":{"crm_deal_id":"D-1042","campaign":"spring-winback","source":"hubspot"},"uniqueKey":"oneOf.0.metadata.oneOf.0","typeLabel":"object"},{"type":"null","description":"The metadata object submitted with the order, returned exactly as it was sent. Null when the order was created without metadata.","additionalProperties":true,"example":{"crm_deal_id":"D-1042","campaign":"spring-winback","source":"hubspot"},"uniqueKey":"oneOf.0.metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.metadata","typeLabel":"object | null"},"updated_at":{"type":"string","format":"date-time","description":"Last updated timestamp for the order","example":"2025-08-14 16:42:44","uniqueKey":"oneOf.0.updated_at","typeLabel":"string\u003cdate-time>"},"created_at":{"type":"string","format":"date-time","description":"Creation timestamp for the order","example":"2025-08-14 16:42:44","uniqueKey":"oneOf.0.created_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"oneOf.0","typeLabel":"Send Mailer Order Submitted Response · object"},{"type":"object","title":"Send Mailer Preview Response","description":"Preview image URLs returned when `preview` is set to `true`.","properties":{"message":{"type":"string","example":"OK","description":"Response message","uniqueKey":"oneOf.1.message","typeLabel":"string"},"data":{"type":"object","description":"Preview data containing image URLs","properties":{"previews":{"type":"array","description":"Array of preview image URLs","items":{"type":"string","format":"uri","example":"https://s3.amazonaws.com/cdn.thanks.io/preview/12345.png","uniqueKey":"oneOf.1.data.previews.items.[INDEX]","typeLabel":"string\u003curi>"},"uniqueKey":"oneOf.1.data.previews","typeLabel":"string\u003curi>[]"}},"uniqueKey":"oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.1","typeLabel":"Send Mailer Preview Response · object"}],"uniqueKey":"","typeLabel":"Send Mailer Order Submitted Response · object | Send Mailer Preview Response · object"},"examples":{"Order Submitted Response":{"title":"Order Submitted Response","value":{"total_estimated_recipients":1,"authorization_total":112,"leads_fee":0,"mailing_list_ids_used":"","additional_letter_pages_count":0,"handwriting_color":"rgba(31,0,113,0.80)","front_image":"https://cdn.thanks.io/letter-backgrounds/bg0.png","message":"\n\n\n\n\n\n\n\nWhat is Lorem Ipsum? Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. Why do we use it? It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).","append_or_current_resident":true,"type":"windowlessletter","return_name":"Custom Return","return_address":"1 Main Street","return_address2":"Unit 1","return_city":"Woodbridge","return_province":"NJ","return_postal_code":"07095","message_template_id":null,"image_template_id":null,"method":"api","sub_account_id":null,"font_size":"auto","qrcode_url":null,"custom_background_url":null,"giftcard_brand":null,"giftcard_image":null,"giftcard_amount":null,"status":"reviewing","addons":{"standardmail":"on"},"style":5,"user_id":2,"updated_at":"2025-08-15 03:50:51","created_at":"2025-08-15 03:50:51","id":42676,"display_status":"Reviewing","display_trigger":"API","display_type":"Windowless Letter","giftcard_brand_longname":"","sub_account":null,"recipients":[{"name":"Current Resident","address":"1 Main Street","city":"Anytown","province":"NY","postal_code":"55555","country":"US","address2":""}]}},"Preview Response":{"title":"Preview Response","value":{"success":true,"code":200,"message":"OK","data":{"previews":["https://s3.amazonaws.com/content.thanks.io/sls-handwriting-engine/images/9f0bddc8-7dd1-7b1c-8d7e-d9f20084ec5d.png"]}}}},"exampleType":"examples"}},"exampleType":"examples"},"14448c5a-d6e5-43cb-a02d-835bb786df5d":{"description":"User error occurred","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Sub Account ID does not exist","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Sub Account ID does not exist"}}},"exampleType":"generated"}},"exampleType":"generated"},"958abbb8-0522-4d81-aa49-e60fa72b0a84":{"description":"Access token is missing or invalid","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Unauthorized","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Unauthorized"}}},"exampleType":"generated"}},"exampleType":"generated"},"f8476e1e-d839-41ef-9ccd-e254e42320b5":{"description":"An unknown error occurred","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Error Submitting Mailer","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Error Submitting Mailer"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"a8bec680-428c-4b45-8ecd-d3fba3e2f21a":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Bearer token authentication using your thanks.io API key","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"707b46ab-cdbf-4d64-b507-a18ba0668278":{"url":"https://api.thanks.io/api/v2","description":"The main API server for thanks.io"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Bearer token authentication using your thanks.io API key","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer token authentication using your thanks.io API key","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"thanksio","siteName":"thanks.io Direct Mail Automation Toolkit","title":"Send Windowless Letter - thanks.io Direct Mail Automation Toolkit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-22T15:49:11.294Z","originalFileLocation":"api-reference/endpoint/send-mailer/send-windowless-letter.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=\"Send a letter in a windowless envelope.\">\u003cmeta data-mint-head name=\"application-name\" content=\"thanks.io Direct Mail Automation Toolkit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/thanksio/4A9jZiRamFPkvvwd/_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/thanksio/4A9jZiRamFPkvvwd/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/thanksio/4A9jZiRamFPkvvwd/_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/thanksio/4A9jZiRamFPkvvwd/_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/thanksio/4A9jZiRamFPkvvwd/_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/thanksio/4A9jZiRamFPkvvwd/_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/thanksio/4A9jZiRamFPkvvwd/_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/thanksio/4A9jZiRamFPkvvwd/_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/thanksio/4A9jZiRamFPkvvwd/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Send Windowless Letter - thanks.io Direct Mail Automation Toolkit\">\u003cmeta data-mint-head property=\"og:description\" content=\"Send a letter in a windowless envelope.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"thanks.io Direct Mail Automation Toolkit\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.thanks.io/api-reference/endpoint/send-mailer/send-windowless-letter\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://thanksio.mintlify.site/_mintlify/api/og/v2?division=Direct+Send+Orders\u0026amp;title=Send+Windowless+Letter\u0026amp;description=Send+a+letter+in+a+windowless+envelope.\u0026amp;theme=1264b6494f3fd6a53e585726\u0026amp;signature=83c1503e572564d11db4b6cba7e028aa20b3fab1b49a22d9717a38969c8b125e\">\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=\"Send Windowless Letter - thanks.io Direct Mail Automation Toolkit\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Send a letter in a windowless envelope.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://thanksio.mintlify.site/_mintlify/api/og/v2?division=Direct+Send+Orders\u0026amp;title=Send+Windowless+Letter\u0026amp;description=Send+a+letter+in+a+windowless+envelope.\u0026amp;theme=1264b6494f3fd6a53e585726\u0026amp;signature=83c1503e572564d11db4b6cba7e028aa20b3fab1b49a22d9717a38969c8b125e\">\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/thanksio/4A9jZiRamFPkvvwd/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"thanks.io Direct Mail Automation Toolkit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4c1180\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.thanks.io/api-reference/endpoint/send-mailer/send-windowless-letter\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoint/send-mailer/send-windowless-letter.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.thanks.io/#organization\",\"name\":\"thanks.io Direct Mail Automation Toolkit\",\"url\":\"https://docs.thanks.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/thanksio/jRViseKcOKEicv0x/logo/light.svg?fit=max\u0026auto=format\u0026n=jRViseKcOKEicv0x\u0026q=85\u0026s=a63121814f9dc669a8d9dd480d2ed672\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.thanks.io#website\",\"name\":\"thanks.io Direct Mail Automation Toolkit\",\"url\":\"https://docs.thanks.io\",\"publisher\":{\"@id\":\"https://docs.thanks.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.thanks.io/api-reference/endpoint/send-mailer/send-windowless-letter#webpage\",\"url\":\"https://docs.thanks.io/api-reference/endpoint/send-mailer/send-windowless-letter\",\"name\":\"Send Windowless Letter\",\"description\":\"Send a letter in a windowless envelope.\",\"dateModified\":\"2026-01-22T15:49:11.294Z\",\"isPartOf\":{\"@id\":\"https://docs.thanks.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.thanks.io/api-reference/endpoint/send-mailer/send-windowless-letter#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.thanks.io/api-reference/endpoint/send-mailer/send-windowless-letter#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Endpoints\",\"item\":\"https://docs.thanks.io/api-reference/recipients-usage\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Direct Send Orders\",\"item\":\"https://docs.thanks.io/api-reference/send-mailer-usage\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Send Windowless Letter\",\"item\":\"https://docs.thanks.io/api-reference/endpoint/send-mailer/send-windowless-letter\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.thanks.io/api-reference/endpoint/send-mailer/send-windowless-letter#apireference\",\"headline\":\"Send Windowless Letter\",\"name\":\"Send Windowless Letter\",\"description\":\"Send a letter in a windowless envelope.\",\"url\":\"https://docs.thanks.io/api-reference/endpoint/send-mailer/send-windowless-letter\",\"mainEntityOfPage\":{\"@id\":\"https://docs.thanks.io/api-reference/endpoint/send-mailer/send-windowless-letter#webpage\"},\"dateModified\":\"2026-01-22T15:49:11.294Z\",\"publisher\":{\"@id\":\"https://docs.thanks.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.thanks.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"thanks.io Direct Mail Automation Toolkit\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"thanks.io Direct Mail Automation Toolkit\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/endpoint/send-mailer/send-windowless-letter.md","siteName":"thanks.io Direct Mail Automation Toolkit","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"Design Gallery","pages":[{"title":"Design Gallery","href":"/design-gallery/introduction"}]},{"tab":"API Reference","groups":[{"group":"Get Started","icon":"play","pages":[{"title":"REST API Overview","href":"/api-reference/introduction"},{"title":"API Testing Mode","mode":"wide","href":"/api-reference/api-mode"},{"title":"API Log","href":"/api-reference/audit-log"},{"title":"Rate Limits","mode":"wide","href":"/api-reference/rate-limits"},{"title":"OpenAPI Specification","href":"/api-reference/openapi-link"}]},{"group":"Authentication","icon":"lock","pages":[{"title":"Choosing an Authentication Method","href":"/authentication/choosing-auth-method"},{"title":"Bearer Token","href":"/authentication/bearer-token"},{"title":"OAuth","href":"/authentication/oauth"}]},{"group":"API Endpoints","icon":"code","pages":[{"group":"Recipients","icon":"user","pages":[{"title":"Usage","href":"/api-reference/recipients-usage"},{"openapi":"post /recipients","title":"Create Recipient","href":"/api-reference/endpoint/recipients/create-recipient"},{"openapi":"get /recipients/{recipientId}","title":"Recipient Details","href":"/api-reference/endpoint/recipients/get-details"},{"openapi":"put /recipients/{recipientId}","title":"Update Recipient","href":"/api-reference/endpoint/recipients/update-recipient"},{"openapi":"delete /recipients/{recipientId}","title":"Delete Recipient","href":"/api-reference/endpoint/recipients/delete-recipient"},{"openapi":"post /recipients-utils/create-multiple","title":"Create Multiple Recipients","href":"/api-reference/endpoint/recipients/create-multiple-recipients"},{"openapi":"post /recipients-utils/delete-by-address","title":"Delete Recipient By Address","href":"/api-reference/endpoint/recipients/delete-recipient-by-address"}]},{"group":"Mailing Lists","icon":"list","pages":[{"title":"Usage","href":"/api-reference/mailing-lists-usage"},{"openapi":"get /mailing-lists/","title":"List All","href":"/api-reference/endpoint/mailing-lists/list-all"},{"openapi":"post /mailing-lists/","title":"Create Mailing List","href":"/api-reference/endpoint/mailing-lists/create-mailing-list"},{"openapi":"get /mailing-lists/{mailingListId}","title":"Get Details","href":"/api-reference/endpoint/mailing-lists/get-details"},{"openapi":"delete /mailing-lists/{mailingListId}","title":"Delete Mailing List","href":"/api-reference/endpoint/mailing-lists/delete-mailing-list"},{"openapi":"get /mailing-lists-utils/recipients/{mailingListId}","title":"List Recipients","href":"/api-reference/endpoint/mailing-lists/list-recipients"},{"openapi":"post /mailing-lists-utils/count-radius-search","title":"Radius Search Count","href":"/api-reference/endpoint/mailing-lists/radius-search-count"},{"openapi":"post /mailing-lists-utils/buy-radius-search","title":"Radius Search","href":"/api-reference/endpoint/mailing-lists/radius-search"}]},{"group":"Direct Send Orders","icon":"envelope","pages":[{"title":"Usage","href":"/api-reference/send-mailer-usage"},{"openapi":"post /send/postcard","title":"Send Postcard","href":"/api-reference/endpoint/send-mailer/send-postcard"},{"openapi":"post /send/windowedletter","title":"Send Windowed Letter","description":"Send a letter in a windowed envelope.","href":"/api-reference/endpoint/send-mailer/send-windowed-letter"},{"openapi":"post /send/windowlessletter","title":"Send Windowless Letter","href":"/api-reference/endpoint/send-mailer/send-windowless-letter"},{"openapi":"post /send/notecard","title":"Send Notecard","description":"Send a folded 4.25x5.5 notecard in envelope.","href":"/api-reference/endpoint/send-mailer/send-notecard"},{"openapi":"post /send/giftcard","title":"Send Giftcard","href":"/api-reference/endpoint/send-mailer/send-giftcard"},{"openapi":"post /send/magnacard","title":"Send Magnacard","href":"/api-reference/endpoint/send-mailer/send-magnacard"}]},{"group":"Order Estimates","icon":"calculator","pages":[{"openapi":"post /estimate/postcard","title":"Estimate Postcard","href":"/api-reference/endpoint/estimate/estimate-postcard"},{"openapi":"post /estimate/windowedletter","title":"Estimate Windowed Letter","href":"/api-reference/endpoint/estimate/estimate-windowed-letter"},{"openapi":"post /estimate/windowlessletter","title":"Estimate Windowless Letter","href":"/api-reference/endpoint/estimate/estimate-windowless-letter"},{"openapi":"post /estimate/notecard","title":"Estimate Notecard","href":"/api-reference/endpoint/estimate/estimate-notecard"},{"openapi":"post /estimate/giftcard","title":"Estimate Giftcard","href":"/api-reference/endpoint/estimate/estimate-giftcard"},{"openapi":"post /estimate/magnacard","title":"Estimate Magnacard","href":"/api-reference/endpoint/estimate/estimate-magnacard"}]},{"group":"Creatives Library","icon":"palette","pages":[{"title":"Usage","href":"/api-reference/creatives-library-usage"},{"openapi":"get /creatives/","title":"List Creatives","href":"/api-reference/endpoint/creatives-library/list-all-creatives"},{"openapi":"get /creatives/{creativeId}","title":"Get Creative","href":"/api-reference/endpoint/creatives-library/get-creative"}]},{"group":"Message Templates","icon":"message","pages":[{"title":"Usage","href":"/api-reference/message-templates-usage"},{"openapi":"get /message-templates/","title":"List Message Templates","href":"/api-reference/endpoint/message-templates/list-all-message-templates"},{"openapi":"post /message-templates/","title":"Create Message Template","href":"/api-reference/endpoint/message-templates/create-message-template"},{"openapi":"get /message-templates/{messageTemplateId}","title":"Get Message Template","href":"/api-reference/endpoint/message-templates/get-message-template"},{"openapi":"patch /message-templates/{messageTemplateId}","title":"Update Message Template","href":"/api-reference/endpoint/message-templates/update-message-template"},{"openapi":"delete /message-templates/{messageTemplateId}","title":"Delete Message Template","href":"/api-reference/endpoint/message-templates/delete-message-template"}]},{"group":"Account","icon":"gear","pages":[{"openapi":"post /sub-accounts/","title":"Create Sub-Account","href":"/api-reference/endpoint/sub-accounts/create-sub-account"},{"openapi":"get /sub-accounts/{subAccountId}","title":"Show Sub-Account","href":"/api-reference/endpoint/sub-accounts/get-details"},{"openapi":"put /sub-accounts/{subAccountId}","title":"Update Sub-Account","href":"/api-reference/endpoint/sub-accounts/update-sub-account"},{"openapi":"delete /sub-accounts/{subAccountId}","title":"Delete Sub-Account","href":"/api-reference/endpoint/sub-accounts/delete-sub-account"},{"openapi":"get /sub-accounts/","title":"List Sub-Accounts","href":"/api-reference/endpoint/sub-accounts/list-all"},{"openapi":"get /image-templates/","title":"List Image Templates","href":"/api-reference/endpoint/image-templates/list-all-image-templates"},{"openapi":"get /orders/list","title":"List Orders","href":"/api-reference/endpoint/orders/list-orders"},{"openapi":"get /orders/{orderId}/track","title":"Track Order","href":"/api-reference/endpoint/orders/track-order"},{"openapi":"get /orders/{orderId}/items","title":"List Order Items","href":"/api-reference/endpoint/orders/list-order-items"},{"openapi":"put /orders/{orderId}/cancel","title":"Cancel Order","href":"/api-reference/endpoint/orders/cancel-order"},{"openapi":"post /orders/{orderId}/replay","title":"Replay Order","href":"/api-reference/endpoint/orders/replay-order"},{"openapi":"put /order-items/{orderItemId}/invalidate-giftcard","title":"Invalidate Gift Card","href":"/api-reference/endpoint/orders/invalidate-giftcard"}]},{"group":"Webhooks","icon":"list","pages":[{"openapi":"get /webhooks","title":"List Webhooks","href":"/api-reference/endpoint/webhooks/list-all"},{"openapi":"post /webhooks","title":"Create Webhook","href":"/api-reference/endpoint/webhooks/create-webhook"},{"openapi":"put /webhooks/{webhookId}","title":"Update Webhook","href":"/api-reference/endpoint/webhooks/update-webhook"},{"openapi":"delete /webhooks/{webhookId}","title":"Delete Webhook","href":"/api-reference/endpoint/webhooks/delete-webhook"}]},{"group":"Webhook Events","icon":"sparkles","pages":[{"openapi":"api-reference/openapi.json webhook orderItemStatusUpdate","title":"Order Item Status Change","href":"/api-reference/endpoint/webhook-events/order-item-status-change"},{"openapi":"api-reference/openapi.json webhook orderStatusUpdate","title":"Order Status Change","href":"/api-reference/endpoint/webhook-events/order-status-change"},{"openapi":"api-reference/openapi.json webhook orderItemDelivered","title":"Order Item Delivered","href":"/api-reference/endpoint/webhook-events/order-item-delivered"},{"openapi":"api-reference/openapi.json webhook qrCodeScanUpdate","title":"QR Code Scans","href":"/api-reference/endpoint/webhook-events/qr-code-scans"},{"openapi":"api-reference/openapi.json webhook scanBoardStatusUpdate","title":"Lead Board Stage Change","href":"/api-reference/endpoint/webhook-events/scan-board-stage-change"}]},{"group":"Utilities","icon":"wrench","pages":[{"openapi":"get /handwriting-styles","title":"List Handwriting Styles","href":"/api-reference/endpoint/handwriting-styles/list-styles"},{"openapi":"get /giftcard-brands-list","title":"List Gift Card Brands Flat","href":"/api-reference/endpoint/giftcards/list-brands-flat"},{"openapi":"get /giftcard-brands","title":"List Gift Card Brands","href":"/api-reference/endpoint/giftcards/list-brands"}]}]},{"group":"Examples","icon":"lightbulb","pages":[{"title":"Add Recipient to Campaign","icon":"address-card","tag":"Popular","href":"/workflows/campaign"},{"title":"PDF Letter Order","icon":"file-pdf","href":"/workflows/letter-pdf-order"},{"title":"Postcard Order","icon":"cards","href":"/workflows/postcard-order"},{"title":"Giftcard Order","icon":"gift","href":"/workflows/giftcard-order"}]}]},{"tab":"Native Integrations","pages":[{"title":"Native Integrations","href":"/native-integrations/introduction"}]},{"tab":"Webhooks ","pages":[{"title":"Webhooks ","href":"/webhooks/introduction"}]}]},"basePath":"","title":"Send Windowless Letter - thanks.io Direct Mail Automation Toolkit","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}