{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Vero","colors":{"primary":"#2563eb","light":"#60a5fa","dark":"#1d4ed8"},"logo":{"light":"https://mintcdn.com/vero-80b6ce5c/jZPtr27d-GTKy4KX/logo/light.svg?fit=max\u0026auto=format\u0026n=jZPtr27d-GTKy4KX\u0026q=85\u0026s=8b0b13cb9f09f8767d43b303e172ec5d","dark":"https://mintcdn.com/vero-80b6ce5c/0AajCUWzY3EmdjRJ/logo/dark.svg?fit=max\u0026auto=format\u0026n=0AajCUWzY3EmdjRJ\u0026q=85\u0026s=0f4f0591a7f808f368505975fef738dd"},"favicon":"https://mintcdn.com/vero-80b6ce5c/wiFzh7cLF5Xxlt2v/favicon.svg?fit=max\u0026auto=format\u0026n=wiFzh7cLF5Xxlt2v\u0026q=85\u0026s=0f3e53a8d350ca9877cf99c54a8e4377","api":{"playground":{}},"navbar":{"links":[]},"footer":{"socials":{"github":"https://github.com/Vero-Receipts","linkedin":"https://www.linkedin.com/in/tommy-cotter"}},"integrations":{"ga4":{"measurementId":"G-NZ8WQ62Z7K"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Official Site","icon":"globe","href":"https://merchants.veroreceipts.com?utm_source=docs"},{"anchor":"Web App","icon":"arrow-up-right-from-square","href":"https://app.veroreceipts.com/auth/login?returnTo=%2Fmerchant-dashboard"},{"anchor":"GitHub","icon":"github","href":"https://github.com/Vero-Receipts"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vero-80b6ce5c","hasAudioNarration":false,"actualSubdomain":"vero-80b6ce5c","customDomains":["docs.veromerchants.com"],"gitSource":{"type":"github","owner":"vero-receipts","repo":"vero-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad3c3bc56ffba016ff6c73a","collectionId":"b740b1bc-0bed-40c8-9df9-b84803dfdf00","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad3c3bc56ffba016ff6c73a"},"entitlements":{},"buildId":"6ad3c3bc56ffba016ff6c73a","clientVersion":"0.0.3969","searchFilterCounts":[{"language":"default","tag":"Digital Receipts","count":16},{"language":"default","tag":"Merchants","count":8},{"language":"default","tag":"POS Integrations","count":8},{"language":"default","tag":"Getting Started","count":5},{"language":"default","tag":"Documentation","count":5},{"language":"default","tag":"For Each Party","count":4},{"language":"default","tag":"MCP Server","count":4},{"language":"default","tag":"Vero MCP Server","count":4},{"language":"default","tag":"API Reference","count":3},{"language":"default","tag":"Products","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/receipts/encrypt","slug":"/api-reference/receipts/encrypt","pageMetadata":{"title":"Encrypt Receipt","openapi":"post /api/v1/receipts/encrypt","description":"Encrypt a digital receipt for a specific recipient using hybrid encryption:\n- AES-256-GCM for the receipt data (symmetric)\n- RSA-OAEP-SHA256 for key wrapping (asymmetric)\n\nIf the recipient is not onboarded, the receipt will be encrypted with\nthe escrow key instead (indicated by `isEscrowed: true` in the response).\n","href":"/api-reference/receipts/encrypt"},"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 li: \"li\",\n p: \"p\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Encrypt a digital receipt for a specific recipient using hybrid encryption:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"AES-256-GCM for the receipt data (symmetric)\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"RSA-OAEP-SHA256 for key wrapping (asymmetric)\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"If the recipient is not onboarded, the receipt will be encrypted with\\nthe escrow key instead (indicated by \", _jsx(_components.code, {\n children: \"isEscrowed: true\"\n }), \" in the response).\"]\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":"Encrypt Receipt","openapi":"post /api/v1/receipts/encrypt","description":"Encrypt a digital receipt for a specific recipient using hybrid encryption:\n- AES-256-GCM for the receipt data (symmetric)\n- RSA-OAEP-SHA256 for key wrapping (asymmetric)\n\nIf the recipient is not onboarded, the receipt will be encrypted with\nthe escrow key instead (indicated by `isEscrowed: true` in the response).\n","href":"/api-reference/receipts/encrypt"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Receipts"],"summary":"Encrypt receipt","description":"Encrypt a digital receipt for a specific recipient using hybrid encryption:\n- AES-256-GCM for the receipt data (symmetric)\n- RSA-OAEP-SHA256 for key wrapping (asymmetric)\n\nIf the recipient is not onboarded, the receipt will be encrypted with\nthe escrow key instead (indicated by `isEscrowed: true` in the response).\n","operationId":"encryptReceipt","x-hidden":true,"requestBody":"21170ed0-3c35-4ae1-8b88-a4538768a682","responses":{"200":"ad457403-9e6d-4cfd-919f-7f873d204eec","400":"5c316335-0bbf-4c46-ac74-9f8fbc6be65f","500":"db25e51a-7259-478f-b812-ec232527a16b"},"method":"post","type":"path","servers":["e68969d9-5e6d-4e9b-9357-770594ca2a96","efae2936-6fcc-4d1c-9c1e-0a79a349b415","4b58dfde-7d0e-443d-a0eb-6fef52788609"],"security":[],"path":"/api/v1/receipts/encrypt","baseUrlOptions":["https://api.digitalreceiptprotocol.org","https://staging-api.digitalreceiptprotocol.org","http://localhost:3000"],"title":"Encrypt receipt","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Flattened receipt structure with recipient identifier","required":["recipientHashedPan","version","receiptId","merchantId","merchantName","transactionId","transactionDate","amount","currency"],"properties":{"version":{"type":"string","default":"1.0","isRequired":true,"uniqueKey":"version","typeLabel":"string"},"receiptId":{"type":"string","default":"550e8400-e29b-41d4-a716-446655440003","isRequired":true,"uniqueKey":"receiptId","typeLabel":"string"},"merchantId":{"type":"string","default":"550e8400-e29b-41d4-a716-446655440004","isRequired":true,"uniqueKey":"merchantId","typeLabel":"string"},"merchantName":{"type":"string","default":"KitchenMart","isRequired":true,"uniqueKey":"merchantName","typeLabel":"string"},"transactionId":{"type":"string","default":"550e8400-e29b-41d4-a716-446655440005","isRequired":true,"uniqueKey":"transactionId","typeLabel":"string"},"transactionDate":{"type":"string","format":"date-time","default":"2025-12-18T10:30:00Z","isRequired":true,"uniqueKey":"transactionDate","typeLabel":"string\u003cdate-time>"},"currency":{"type":"string","default":"USD","isRequired":true,"uniqueKey":"currency","typeLabel":"string"},"recipientHashedPan":{"type":"string","description":"Hashed PAN of the recipient","example":"5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8","isRequired":true,"uniqueKey":"recipientHashedPan","typeLabel":"string"},"merchantStreet":{"type":"string","default":"456 Commerce Ave","uniqueKey":"merchantStreet","typeLabel":"string"},"merchantCity":{"type":"string","default":"San Francisco","uniqueKey":"merchantCity","typeLabel":"string"},"merchantState":{"type":"string","default":"CA","uniqueKey":"merchantState","typeLabel":"string"},"merchantPostalCode":{"type":"string","default":"94103","uniqueKey":"merchantPostalCode","typeLabel":"string"},"merchantCountry":{"type":"string","default":"US","uniqueKey":"merchantCountry","typeLabel":"string"},"merchantTaxId":{"type":"string","default":"98-7654321","uniqueKey":"merchantTaxId","typeLabel":"string"},"merchantContactEmail":{"type":"string","default":"support@kitchenmart.com","uniqueKey":"merchantContactEmail","typeLabel":"string"},"transactionTimezone":{"type":"string","default":"America/Los_Angeles","uniqueKey":"transactionTimezone","typeLabel":"string"},"paymentMethod":{"type":"string","default":"card","uniqueKey":"paymentMethod","typeLabel":"string"},"cardLast4":{"type":"string","default":"4242","uniqueKey":"cardLast4","typeLabel":"string"},"cardBrand":{"type":"string","default":"visa","uniqueKey":"cardBrand","typeLabel":"string"},"subtotal":{"type":"integer","default":2000,"uniqueKey":"subtotal","typeLabel":"integer"},"taxAmount":{"type":"integer","default":0,"uniqueKey":"taxAmount","typeLabel":"integer"},"totalAmount":{"type":"integer","default":2000,"uniqueKey":"totalAmount","typeLabel":"integer"},"items":{"type":"array","items":{"type":"object","required":["lineItemId","name","quantity","unitPrice","totalPrice"],"properties":{"lineItemId":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440006","isRequired":true,"uniqueKey":"\\items.items.[INDEX].lineItemId","typeLabel":"string\u003cuuid>"},"name":{"type":"string","example":"Widget Pro","isRequired":true,"uniqueKey":"\\items.items.[INDEX].name","typeLabel":"string"},"quantity":{"type":"number","example":2,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].quantity","typeLabel":"number"},"unitPrice":{"type":"integer","description":"Price in smallest currency unit (cents)","example":1999,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].unitPrice","typeLabel":"integer"},"totalPrice":{"type":"integer","description":"Total price in smallest currency unit (cents)","example":3998,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].totalPrice","typeLabel":"integer"},"sku":{"oneOf":[{"type":"string","example":"SKU-001","uniqueKey":"\\items.items.[INDEX].sku.oneOf.0","typeLabel":"string"},{"type":"null","example":"SKU-001","uniqueKey":"\\items.items.[INDEX].sku.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].sku","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","example":"Premium widget with advanced features","uniqueKey":"\\items.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","example":"Premium widget with advanced features","uniqueKey":"\\items.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].description","typeLabel":"string | null"},"category":{"oneOf":[{"type":"string","example":"Electronics","uniqueKey":"\\items.items.[INDEX].category.oneOf.0","typeLabel":"string"},{"type":"null","example":"Electronics","uniqueKey":"\\items.items.[INDEX].category.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].category","typeLabel":"string | null"},"discounts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Holiday Sale","uniqueKey":"\\items.items.[INDEX].discounts.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","enum":["percentage","fixed"],"example":"percentage","uniqueKey":"\\items.items.[INDEX].discounts.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"value":{"type":"number","description":"Percentage (0-100) or fixed amount in cents","example":10,"uniqueKey":"\\items.items.[INDEX].discounts.items.[INDEX].value","typeLabel":"number"},"amount":{"type":"integer","description":"Discount amount in cents","example":400,"uniqueKey":"\\items.items.[INDEX].discounts.items.[INDEX].amount","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].discounts.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items.items.[INDEX].discounts","typeLabel":"object[]"},"taxes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Sales Tax","uniqueKey":"\\items.items.[INDEX].taxes.items.[INDEX].name","typeLabel":"string"},"rate":{"type":"number","description":"Tax rate as decimal (0.08 = 8%)","example":0.08,"uniqueKey":"\\items.items.[INDEX].taxes.items.[INDEX].rate","typeLabel":"number"},"amount":{"type":"integer","description":"Tax amount in cents","example":288,"uniqueKey":"\\items.items.[INDEX].taxes.items.[INDEX].amount","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].taxes.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items.items.[INDEX].taxes","typeLabel":"object[]"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items","typeLabel":"object[]"},"mockItems":{"type":"boolean","description":"If true and items are empty, generates mock line items","default":true,"uniqueKey":"mockItems","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"example":{"version":"1.0","receiptId":"rcpt_abc123def456","merchantId":"merch_kitchenmart_001","merchantName":"KitchenMart","merchantStreet":"456 Commerce Ave","merchantCity":"San Francisco","merchantState":"CA","merchantPostalCode":"94103","merchantCountry":"US","merchantTaxId":"98-7654321","merchantContactEmail":"support@kitchenmart.com","transactionId":"txn_550e8400e29b41d4a716","transactionDate":"2025-12-18T10:30:00Z","transactionTimezone":"America/Los_Angeles","paymentMethod":"card","cardLast4":"4242","cardBrand":"visa","currency":"USD","subtotal":10997,"taxAmount":962,"totalAmount":11959,"items":[{"lineItemId":"item_001","name":"Stainless Steel Mixing Bowl Set","quantity":1,"unitPrice":2999,"totalPrice":2999,"category":"Kitchen Essentials","taxes":[{"name":"Sales Tax","rate":0.0875,"amount":262}]},{"lineItemId":"item_002","name":"Non-Stick Frying Pan","quantity":2,"unitPrice":3999,"totalPrice":7998,"category":"Cookware","taxes":[{"name":"Sales Tax","rate":0.0875,"amount":700}]}],"mockItems":false,"recipientHashedPan":"5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8"},"examples":{"Example":{"title":"Example","value":{"version":"1.0","receiptId":"rcpt_abc123def456","merchantId":"merch_kitchenmart_001","merchantName":"KitchenMart","merchantStreet":"456 Commerce Ave","merchantCity":"San Francisco","merchantState":"CA","merchantPostalCode":"94103","merchantCountry":"US","merchantTaxId":"98-7654321","merchantContactEmail":"support@kitchenmart.com","transactionId":"txn_550e8400e29b41d4a716","transactionDate":"2025-12-18T10:30:00Z","transactionTimezone":"America/Los_Angeles","paymentMethod":"card","cardLast4":"4242","cardBrand":"visa","currency":"USD","subtotal":10997,"taxAmount":962,"totalAmount":11959,"items":[{"lineItemId":"item_001","name":"Stainless Steel Mixing Bowl Set","quantity":1,"unitPrice":2999,"totalPrice":2999,"category":"Kitchen Essentials","taxes":[{"name":"Sales Tax","rate":0.0875,"amount":262}]},{"lineItemId":"item_002","name":"Non-Stick Frying Pan","quantity":2,"unitPrice":3999,"totalPrice":7998,"category":"Cookware","taxes":[{"name":"Sales Tax","rate":0.0875,"amount":700}]}],"mockItems":false,"recipientHashedPan":"5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"ad457403-9e6d-4cfd-919f-7f873d204eec":{"description":"Receipt encrypted successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","example":true,"uniqueKey":"success","typeLabel":"boolean"},"data":{"type":"object","properties":{"version":{"type":"string","example":"1.0","uniqueKey":"data.version","typeLabel":"string"},"receiptId":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440003","uniqueKey":"data.receiptId","typeLabel":"string\u003cuuid>"},"keyId":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"data.keyId","typeLabel":"string\u003cuuid>"},"keyBundle":{"type":"object","properties":{"encryptedAesKey":{"type":"string","description":"Base64-encoded RSA-encrypted AES key","example":"encrypted_aes_key_base64...","uniqueKey":"data.keyBundle.encryptedAesKey","typeLabel":"string"},"keyId":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"data.keyBundle.keyId","typeLabel":"string\u003cuuid>"},"algorithm":{"type":"string","enum":["RSA-OAEP-256"],"example":"RSA-OAEP-256","uniqueKey":"data.keyBundle.algorithm","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.keyBundle","typeLabel":"object"},"ciphertext":{"type":"string","description":"Base64-encoded AES-GCM encrypted receipt","example":"encrypted_receipt_ciphertext_base64...","uniqueKey":"data.ciphertext","typeLabel":"string"},"iv":{"type":"string","description":"Base64-encoded initialization vector","example":"initialization_vector_base64...","uniqueKey":"data.iv","typeLabel":"string"},"authTag":{"type":"string","description":"Base64-encoded GCM authentication tag","example":"auth_tag_base64...","uniqueKey":"data.authTag","typeLabel":"string"},"merchantId":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440004","uniqueKey":"data.merchantId","typeLabel":"string\u003cuuid>"},"transactionId":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440005","uniqueKey":"data.transactionId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","format":"date-time","example":"2025-12-15T12:35:00Z","uniqueKey":"data.createdAt","typeLabel":"string\u003cdate-time>"},"expiresAt":{"oneOf":[{"type":"string","format":"date-time","example":"2025-12-16T12:35:00Z","uniqueKey":"data.expiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","example":"2025-12-16T12:35:00Z","uniqueKey":"data.expiresAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.expiresAt","typeLabel":"string\u003cdate-time> | null"},"isEscrowed":{"type":"boolean","description":"True if encrypted with escrow key (user not onboarded)","example":false,"uniqueKey":"data.isEscrowed","typeLabel":"boolean"},"escrowKeyId":{"oneOf":[{"type":"string","format":"uuid","description":"Escrow key ID if isEscrowed is true","example":null,"uniqueKey":"data.escrowKeyId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Escrow key ID if isEscrowed is true","example":null,"uniqueKey":"data.escrowKeyId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.escrowKeyId","typeLabel":"string\u003cuuid> | null"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":true,"data":{"version":"1.0","receiptId":"rcpt_abc123def456","keyId":"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d","keyBundle":{"encryptedAesKey":"base64_encrypted_aes_key_here...","keyId":"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d","algorithm":"RSA-OAEP-256"},"ciphertext":"base64_encrypted_receipt_data_here...","iv":"base64_initialization_vector...","authTag":"base64_authentication_tag...","merchantId":"merch_kitchenmart_001","transactionId":"txn_550e8400e29b41d4a716","createdAt":"2025-12-18T10:30:00Z","isEscrowed":false}},"examples":{"Example":{"title":"Example","value":{"success":true,"data":{"version":"1.0","receiptId":"rcpt_abc123def456","keyId":"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d","keyBundle":{"encryptedAesKey":"base64_encrypted_aes_key_here...","keyId":"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d","algorithm":"RSA-OAEP-256"},"ciphertext":"base64_encrypted_receipt_data_here...","iv":"base64_initialization_vector...","authTag":"base64_authentication_tag...","merchantId":"merch_kitchenmart_001","transactionId":"txn_550e8400e29b41d4a716","createdAt":"2025-12-18T10:30:00Z","isEscrowed":false}}}},"exampleType":"examples"}},"exampleType":"examples"},"5c316335-0bbf-4c46-ac74-9f8fbc6be65f":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","example":false,"uniqueKey":"success","typeLabel":"boolean"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Additional error details","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"db25e51a-7259-478f-b812-ec232527a16b":{"description":"Encryption failed","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","example":false,"uniqueKey":"success","typeLabel":"boolean"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Additional error details","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":{"code":"ENCRYPTION_ERROR","message":"Failed to encrypt receipt"}},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"ENCRYPTION_ERROR","message":"Failed to encrypt receipt"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{},"servers":{"e68969d9-5e6d-4e9b-9357-770594ca2a96":{"url":"https://api.digitalreceiptprotocol.org","description":"Production server"},"efae2936-6fcc-4d1c-9c1e-0a79a349b415":{"url":"https://staging-api.digitalreceiptprotocol.org","description":"Staging server"},"4b58dfde-7d0e-443d-a0eb-6fef52788609":{"url":"http://localhost:3000","description":"Local development server"}}},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"vero-80b6ce5c","siteName":"Vero","title":"Encrypt Receipt - Vero","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-26T23:30:09.800Z","originalFileLocation":"api-reference/receipts/encrypt.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=\"Encrypt a digital receipt for a specific recipient using hybrid encryption: - AES-256-GCM for the receipt data (symmetric) - RSA-OAEP-SHA256 for key wrapping (asymmetric) If the recipient is not onboarded, the receipt will be encrypted with the escrow key instead (indicated by isEscrowed: true in the response).\">\u003cmeta data-mint-head name=\"application-name\" content=\"Vero\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vero-80b6ce5c/8aIp0gy-rBSWPdVJ/_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/vero-80b6ce5c/8aIp0gy-rBSWPdVJ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vero-80b6ce5c/8aIp0gy-rBSWPdVJ/_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/vero-80b6ce5c/8aIp0gy-rBSWPdVJ/_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/vero-80b6ce5c/8aIp0gy-rBSWPdVJ/_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/vero-80b6ce5c/8aIp0gy-rBSWPdVJ/_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/vero-80b6ce5c/8aIp0gy-rBSWPdVJ/_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/vero-80b6ce5c/8aIp0gy-rBSWPdVJ/_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/vero-80b6ce5c/8aIp0gy-rBSWPdVJ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Encrypt Receipt - Vero\">\u003cmeta data-mint-head property=\"og:description\" content=\"Encrypt a digital receipt for a specific recipient using hybrid encryption: - AES-256-GCM for the receipt data (symmetric) - RSA-OAEP-SHA256 for key wrapping (asymmetric) If the recipient is not onboarded, the receipt will be encrypted with the escrow key instead (indicated by isEscrowed: true in the response).\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vero\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.veromerchants.com/api-reference/receipts/encrypt\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://vero-80b6ce5c.mintlify.app/_mintlify/api/og/v2?division=Receipt+Encryption+%28Merchant%29\u0026amp;title=Encrypt+Receipt\u0026amp;description=Encrypt+a+digital+receipt+for+a+specific+recipient+using+hybrid+encryption%3A%0A-+AES-256-GCM+for+the+receipt+data+%28symmetric%29%0A-+RSA-OAEP-SHA256+for+key+wrapping+%28a\u0026amp;theme=1756d69e8595389cd102123b\u0026amp;signature=186bdb757fb84d965c80389b56a2943a4e16c5dd41f7d868f0c9eba1c2ba04de\">\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=\"Encrypt Receipt - Vero\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Encrypt a digital receipt for a specific recipient using hybrid encryption: - AES-256-GCM for the receipt data (symmetric) - RSA-OAEP-SHA256 for key wrapping (asymmetric) If the recipient is not onboarded, the receipt will be encrypted with the escrow key instead (indicated by isEscrowed: true in the response).\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://vero-80b6ce5c.mintlify.app/_mintlify/api/og/v2?division=Receipt+Encryption+%28Merchant%29\u0026amp;title=Encrypt+Receipt\u0026amp;description=Encrypt+a+digital+receipt+for+a+specific+recipient+using+hybrid+encryption%3A%0A-+AES-256-GCM+for+the+receipt+data+%28symmetric%29%0A-+RSA-OAEP-SHA256+for+key+wrapping+%28a\u0026amp;theme=1756d69e8595389cd102123b\u0026amp;signature=186bdb757fb84d965c80389b56a2943a4e16c5dd41f7d868f0c9eba1c2ba04de\">\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/vero-80b6ce5c/8aIp0gy-rBSWPdVJ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vero\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2563eb\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.veromerchants.com/api-reference/receipts/encrypt\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/receipts/encrypt.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.veromerchants.com/#organization\",\"name\":\"Vero\",\"url\":\"https://docs.veromerchants.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/vero-80b6ce5c/jZPtr27d-GTKy4KX/logo/light.svg?fit=max\u0026auto=format\u0026n=jZPtr27d-GTKy4KX\u0026q=85\u0026s=8b0b13cb9f09f8767d43b303e172ec5d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.veromerchants.com#website\",\"name\":\"Vero\",\"url\":\"https://docs.veromerchants.com\",\"publisher\":{\"@id\":\"https://docs.veromerchants.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.veromerchants.com/api-reference/receipts/encrypt#webpage\",\"url\":\"https://docs.veromerchants.com/api-reference/receipts/encrypt\",\"name\":\"Encrypt Receipt\",\"description\":\"Encrypt a digital receipt for a specific recipient using hybrid encryption: - AES-256-GCM for the receipt data (symmetric) - RSA-OAEP-SHA256 for key wrapping (asymmetric) If the recipient is not onboarded, the receipt will be encrypted with the escrow key instead (indicated by isEscrowed: true in the response).\",\"dateModified\":\"2026-01-26T23:30:09.800Z\",\"isPartOf\":{\"@id\":\"https://docs.veromerchants.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.veromerchants.com/api-reference/receipts/encrypt#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.veromerchants.com/api-reference/receipts/encrypt#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Vero\",\"item\":\"https://docs.veromerchants.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Encrypt Receipt\",\"item\":\"https://docs.veromerchants.com/api-reference/receipts/encrypt\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.veromerchants.com/api-reference/receipts/encrypt#apireference\",\"headline\":\"Encrypt Receipt\",\"name\":\"Encrypt Receipt\",\"description\":\"Encrypt a digital receipt for a specific recipient using hybrid encryption: - AES-256-GCM for the receipt data (symmetric) - RSA-OAEP-SHA256 for key wrapping (asymmetric) If the recipient is not onboarded, the receipt will be encrypted with the escrow key instead (indicated by isEscrowed: true in the response).\",\"url\":\"https://docs.veromerchants.com/api-reference/receipts/encrypt\",\"mainEntityOfPage\":{\"@id\":\"https://docs.veromerchants.com/api-reference/receipts/encrypt#webpage\"},\"dateModified\":\"2026-01-26T23:30:09.800Z\",\"publisher\":{\"@id\":\"https://docs.veromerchants.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.veromerchants.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vero\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Vero","nav":{"global":{"anchors":[{"anchor":"Official Site","icon":"globe","href":"https://merchants.veroreceipts.com?utm_source=docs"},{"anchor":"Web App","icon":"arrow-up-right-from-square","href":"https://app.veroreceipts.com/auth/login?returnTo=%2Fmerchant-dashboard"},{"anchor":"GitHub","icon":"github","href":"https://github.com/Vero-Receipts"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"Merchants","pages":[{"title":"Merchants","href":"/pos-plugins/overview"}]},{"tab":"MCP Server","pages":[{"title":"MCP Server","href":"/mcp-server/overview"}]},{"tab":"Digital Receipts","groups":[{"group":"Getting Started","pages":[{"title":"Digital Receipts","icon":"receipt","href":"/digital-receipts/overview"},{"title":"How It Works","href":"/digital-receipts/how-it-works"},{"title":"Quick Start Guide","href":"/digital-receipts/quickstart"}]},{"group":"For Each Party","pages":[{"title":"End Users","icon":"user","href":"/essentials/end-user"},{"title":"Card Issuers","icon":"building-columns","href":"/essentials/card-issuers"},{"title":"Merchants","icon":"shopping-cart","href":"/essentials/merchants"},{"title":"POS Systems","icon":"cash-register","href":"/essentials/pos-systems"}]},{"group":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"},{"title":"Technical Flow","href":"/api-reference/technical-flow"},{"title":"Sequence Diagram","href":"/api-reference/sequence-diagram"}]},{"group":"User Onboarding (Card Issuer)","pages":[{"title":"Generate Key Pair","openapi":"post /api/v1/onboarding/generate-keys","href":"/api-reference/onboarding/generate-keys"},{"title":"Register User","openapi":"post /api/v1/onboarding/register","href":"/api-reference/onboarding/register"}]},{"group":"Payment (Merchant, Gateway)","pages":[{"title":"Create Payment","openapi":"post /api/v1/payments/{gateway}/create","href":"/api-reference/payments/create"}]},{"group":"Receipt Decryption (Card Issuer)","pages":[{"title":"Grant Decrypt Access","openapi":"post /api/v1/keys/grant-access","href":"/api-reference/keys/grant-access"},{"title":"Decrypt Receipt","openapi":"post /api/v1/payments/decrypt","description":"Decrypt a receipt by looking up the payment transaction on the gateway (Stripe/Square).\nRequires a valid access token and the user's private key.\n","href":"/api-reference/payments/decrypt"}]},{"group":"Receipt Encryption (Merchant)","pages":[{"title":"Encrypt Receipt","openapi":"post /api/v1/receipts/encrypt","href":"/api-reference/receipts/encrypt"}]},{"group":"Health","pages":[]},{"group":"Onboarding","pages":[]},{"group":"Keys","pages":[]},{"group":"Receipts","pages":[]},{"group":"Payments","pages":[]},{"group":"Transactions","pages":[]}]}]},"title":"Encrypt Receipt - Vero","buildId":"dpl_G8u2B2Ji9qJYF9umedjv293TxycS","deploymentId":"dpl_G8u2B2Ji9qJYF9umedjv293TxycS","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-S3ptrr-V.js","utils-CUxEJy9u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DavhVrxy.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B1sOUY6E.js","snippetPresets-C-RLYOrF.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Duz18EdI.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DPsbCc6D.js","shallow-B1dlhlOw.js","getApiPlaygroundDisplay-DvOu-BhE.js","CodeSnippet-By8wd64X.js","CodeSnippets-BxVv6TjI.js","Page-BGh0lBck.js","getPastedJson-DOAt9xJn.js","icon-BYg-qtQ2.js","MethodPill-Dtah8ZSz.js","DuplicateIcon-guWfDmh1.js","createIcon-pTGhj_hk.js","DynamicMarkdown-DpsHMHVL.js","SectionHeading-BbutQCjq.js","axios-vUo_bRtp.js","Markdown-DZ-stgDu.js","clsx-Dfme4k4V.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CPNs0ebX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-3JVAA-i3.js"]}