{"items":[{"type":"link","label":"Receipt Service API","link":"/apis/receipts-service","routeSlug":"/apis/receipts-service","content":{"contentType":"overview","meta":{"name":"Receipt Service API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"receipts-service.json","url":"/_bundle/apis/receipts-service.json?download"},{"kind":"download","label":"receipts-service.yaml","url":"/_bundle/apis/receipts-service.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"externallink","title":"License","titleTranslationKey":"info.license","label":"Proprietary","url":"https://www.nps.com/license"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Receipt Service API (1.0.0)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Receipt Service generates and delivers branded payment receipts."},"children":[]}]}]}]}],"sectionId":"/apis/receipts-service"}],"sectionId":"/apis/receipts-service"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/key-concepts"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Concepts"},"children":[]}]}]}]}],"sectionId":"/apis/receipts-service/section/key-concepts"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"section/two-receipt-types"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Two Receipt Types"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invoice-Based"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Payment applied to one or more invoices"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payment-Only"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Standalone payment (e.g., one-time service fee) with no invoices"},"children":[]}]}]}]}]}],"sectionId":"/apis/receipts-service/section/two-receipt-types"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"section/receipt-generation"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Receipt Generation"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Branded with merchant configuration using Liquid templates"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delivered via email through OSI Push Notification Service"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"MVP: HTML rendering on-demand (PDF generation and S3 storage are post-MVP)"},"children":[]}]}]}]}]}],"sectionId":"/apis/receipts-service/section/receipt-generation"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/error-handling"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error Handling"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All API responses use HTTP status 200. Success and failure are expressed in the NPS response envelope."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"responseCode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A100"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" indicates success; the payload is in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"object"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field when present."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"responseCode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" values "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"E4xx"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (and "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"E500"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") indicate errors; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"responseMessage"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" carries details."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"E422"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ("},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"VALIDATION_ERROR"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") is returned for standard request validation failures."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Additional application error codes include "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"E400_VALIDATION"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (request validation failure, for example malformed "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"entityId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"E403_ACCESS"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (caller lacks permission for the requested resource), and "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"E403_TENANT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (entity ID is outside the caller's hierarchy)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Exception to HTTP 200 convention:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Requests with a syntactically invalid "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"entityId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (non-numeric or negative) receive HTTP 400 with a minimal JSON body ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"responseCode: \"E400_VALIDATION\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") before reaching the application layer. This is enforced by the tenant isolation interceptor and does not use the standard NPS envelope."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Null field omission:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Success and error responses use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"@JsonInclude(NON_NULL)"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Fields with null values (including "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"object"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on void successes and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"responseDetails"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when absent) are omitted from the JSON response rather than serialized as explicit "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"sectionId":"/apis/receipts-service/section/error-handling"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/authentication-note"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authentication Note"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OpenAPI security schemes in this specification reference OAuth2 for documentation tooling compatibility."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"In deployed environments, all service-to-service authentication uses S2S JWT (signed JWTs from the hierarchy key tree)."},"children":[]}]}]}]}],"sectionId":"/apis/receipts-service/section/authentication-note"}]}]}},{"type":"link","label":"Key Concepts","link":"/apis/receipts-service/section/key-concepts","routeSlug":"/apis/receipts-service/section/key-concepts","content":null},{"type":"link","label":"Two Receipt Types","link":"/apis/receipts-service/section/two-receipt-types","routeSlug":"/apis/receipts-service/section/two-receipt-types","content":null},{"type":"link","label":"Receipt Generation","link":"/apis/receipts-service/section/receipt-generation","routeSlug":"/apis/receipts-service/section/receipt-generation","content":null},{"type":"link","label":"Error Handling","link":"/apis/receipts-service/section/error-handling","routeSlug":"/apis/receipts-service/section/error-handling","content":null},{"type":"link","label":"Authentication Note","link":"/apis/receipts-service/section/authentication-note","routeSlug":"/apis/receipts-service/section/authentication-note","content":null},{"type":"group","label":"Payment receipts","link":"/apis/receipts-service/receipts","routeSlug":"/apis/receipts-service/receipts","items":[{"label":"List Receipts","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/receipts/listreceipts","routeSlug":"/apis/receipts-service/receipts/listreceipts","metadata":{"seo":{"title":"List Receipts","description":"List all receipts for the authenticated merchant"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listReceipts","name":"List Receipts","isWebhook":false,"pointer":"/paths/~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Receipts","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"List all receipts for the authenticated merchant"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"entityId","in":"query","schemaId":"schema_0","description":"Merchant/tenant identifier for tenant isolation","required":true},{"name":"personId","in":"query","schemaId":"schema_1"},{"name":"status","in":"query","schemaId":"schema_2"},{"name":"createdAtFrom","in":"query","schemaId":"schema_3"},{"name":"createdAtTo","in":"query","schemaId":"schema_3"},{"name":"page","in":"query","schemaId":"schema_4","description":"Page number (1-indexed)","example":1},{"name":"pageSize","in":"query","schemaId":"schema_5","description":"Number of items per page","example":50}],"pointer":"/paths/~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[{"name":"entityId","in":"query","required":true,"schemaId":"schema_0"},{"name":"personId","in":"query","schemaId":"schema_1"},{"name":"status","in":"query","schemaId":"components/schemas/ReceiptStatus"},{"name":"createdAtFrom","in":"query","schemaId":"schema_3"},{"name":"createdAtTo","in":"query","schemaId":"schema_3"},{"name":"page","in":"query","example":1,"schemaId":"schema_4"},{"name":"pageSize","in":"query","example":50,"schemaId":"schema_5"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/","href":"receipts/listreceipts","openApiOperationId":"listReceipts","summary":"List Receipts"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceiptList"}},"schemaId":"components/schemas/NpsWrappedReceiptList"}],"pointer":"/paths/~1/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NpsWrappedReceiptList","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceiptList"}}}],"examples":[]}]}]}]},"httpPath":"/"},{"label":"Create Receipt","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/receipts/createreceipt","routeSlug":"/apis/receipts-service/receipts/createreceipt","metadata":{"seo":{"title":"Create Receipt","description":"Create a new receipt for a payment."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createReceipt","name":"Create Receipt","isWebhook":false,"pointer":"/paths/~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Receipt","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a new receipt for a payment."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Called by:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invoice Service after payment application"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payment Widget for payment-only flows"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invoice-Based Receipt:"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Include "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invoices"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array with invoice details."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payment-Only Receipt:"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Omit "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invoices"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array or pass empty array."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Idempotency-Key","in":"header","schemaId":"schema_1"}],"pointer":"/paths/~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateReceiptRequest","exampleIds":["paths/~1/post/requestBody/content/application~1json/examples/invoiceBased","paths/~1/post/requestBody/content/application~1json/examples/paymentOnly"]}},"schemaId":"components/schemas/CreateReceiptRequest","exampleIds":["paths/~1/post/requestBody/content/application~1json/examples/invoiceBased","paths/~1/post/requestBody/content/application~1json/examples/paymentOnly"],"pointer":"/paths/~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Idempotency-Key","in":"header","schemaId":"schema_1"}],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateReceiptRequest","exampleIds":["paths/~1/post/requestBody/content/application~1json/examples/invoiceBased","paths/~1/post/requestBody/content/application~1json/examples/paymentOnly"]}},"responseCodes":["200"],"pointer":"/","href":"receipts/createreceipt","openApiOperationId":"createReceipt","summary":"Create Receipt"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/CreateReceiptRequest","exampleIds":["paths/~1/post/requestBody/content/application~1json/examples/invoiceBased","paths/~1/post/requestBody/content/application~1json/examples/paymentOnly"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateReceiptRequest","exampleIds":["paths/~1/post/requestBody/content/application~1json/examples/invoiceBased","paths/~1/post/requestBody/content/application~1json/examples/paymentOnly"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Receipt created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceipt"}},"schemaId":"components/schemas/NpsWrappedReceipt"}],"pointer":"/paths/~1/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NpsWrappedReceipt","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceipt"}}}],"examples":[]}]}]}]},"httpPath":"/"},{"label":"Get Receipt Details","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/receipts/getreceipt","routeSlug":"/apis/receipts-service/receipts/getreceipt","metadata":{"seo":{"title":"Get Receipt Details","description":"Retrieve details of a specific receipt"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReceipt","name":"Get Receipt Details","isWebhook":false,"pointer":"/paths/~1{receiptId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Receipt Details","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve details of a specific receipt"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"receiptId","in":"path","schemaId":"schema_1","required":true}],"pointer":"/paths/~1{receiptId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"entityId","in":"query","schemaId":"schema_0","description":"Merchant/tenant identifier for tenant isolation","required":true}],"pointer":"/paths/~1{receiptId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/{receiptId}","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[{"name":"receiptId","in":"path","required":true,"schemaId":"schema_1"}],"query":[{"name":"entityId","in":"query","required":true,"schemaId":"schema_0"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/{receiptId}","href":"receipts/getreceipt","openApiOperationId":"getReceipt","summary":"Get Receipt Details"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceipt"}},"schemaId":"components/schemas/NpsWrappedReceipt"}],"pointer":"/paths/~1{receiptId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NpsWrappedReceipt","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceipt"}}}],"examples":[]}]}]}]},"httpPath":"/{receiptId}"},{"label":"Get Receipt HTML","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/receipts/getreceipthtml","routeSlug":"/apis/receipts-service/receipts/getreceipthtml","metadata":{"seo":{"title":"Get Receipt HTML","description":"Generate and return the receipt as HTML for browser viewing."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReceiptHtml","name":"Get Receipt HTML","isWebhook":false,"pointer":"/paths/~1{receiptId}~1html/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Receipt HTML","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Generate and return the receipt as HTML for browser viewing.\n\nHTML is generated on-demand using the merchant's active Liquid receipt template\nwith branding (logo, colors, merchant name) applied. If no custom template is\nconfigured, the built-in system template is used.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"receiptId","in":"path","schemaId":"schema_1","required":true}],"pointer":"/paths/~1{receiptId}~1html/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"entityId","in":"query","schemaId":"schema_0","description":"Merchant/tenant identifier for tenant isolation","required":true}],"pointer":"/paths/~1{receiptId}~1html/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/{receiptId}/html","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[{"name":"receiptId","in":"path","required":true,"schemaId":"schema_1"}],"query":[{"name":"entityId","in":"query","required":true,"schemaId":"schema_0"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/{receiptId}/html","href":"receipts/getreceipthtml","openApiOperationId":"getReceiptHtml","summary":"Get Receipt HTML"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"HTML document","mediaType":"text/html","mediaTypes":["text/html"],"mediaTypeContent":{"text/html":{"schemaId":"schema_6"}},"schemaId":"schema_6"}],"pointer":"/paths/~1{receiptId}~1html/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_6","mediaTypes":["text/html"],"mediaTypeContent":{"text/html":{"schemaId":"schema_6"}}}],"examples":[]}]}]}]},"httpPath":"/{receiptId}/html"},{"label":"Resend Receipt","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/receipts/resendreceipt","routeSlug":"/apis/receipts-service/receipts/resendreceipt","metadata":{"seo":{"title":"Resend Receipt","description":"Resend a receipt notification to the original recipient, optionally with updated delivery options."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"resendReceipt","name":"Resend Receipt","isWebhook":false,"pointer":"/paths/~1{receiptId}~1resend/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Resend Receipt","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Resend a receipt notification to the original recipient, optionally with updated delivery options."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delivery channels:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Only "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EMAIL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is supported today. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"channels"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array accepts at most one value."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"receiptId","in":"path","schemaId":"schema_1","required":true}],"pointer":"/paths/~1{receiptId}~1resend/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_7"}},"schemaId":"schema_7","pointer":"/paths/~1{receiptId}~1resend/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/{receiptId}/resend","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[{"name":"receiptId","in":"path","required":true,"schemaId":"schema_1"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_7"}},"responseCodes":["200"],"pointer":"/{receiptId}/resend","href":"receipts/resendreceipt","openApiOperationId":"resendReceipt","summary":"Resend Receipt"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"schema_7","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_7"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Receipt resent successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceipt"}},"schemaId":"components/schemas/NpsWrappedReceipt"}],"pointer":"/paths/~1{receiptId}~1resend/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NpsWrappedReceipt","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceipt"}}}],"examples":[]}]}]}]},"httpPath":"/{receiptId}/resend"},{"label":"Get Receipt PDF (Post-MVP)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/receipts/getreceiptpdf","routeSlug":"/apis/receipts-service/receipts/getreceiptpdf","metadata":{"seo":{"title":"Get Receipt PDF (Post-MVP)","description":"Post-MVP. Download the receipt as a PDF document.PDF generation and S3 storage are not included in the MVP release."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReceiptPdf","name":"Get Receipt PDF (Post-MVP)","isWebhook":false,"pointer":"/paths/~1{receiptId}~1pdf/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Receipt PDF (Post-MVP)","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Post-MVP."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Download the receipt as a PDF document."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PDF generation and S3 storage are not included in the MVP release."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"receiptId","in":"path","schemaId":"schema_1","required":true}],"pointer":"/paths/~1{receiptId}~1pdf/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"entityId","in":"query","schemaId":"schema_0","description":"Merchant/tenant identifier for tenant isolation","required":true}],"pointer":"/paths/~1{receiptId}~1pdf/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/{receiptId}/pdf","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[{"name":"receiptId","in":"path","required":true,"schemaId":"schema_1"}],"query":[{"name":"entityId","in":"query","required":true,"schemaId":"schema_0"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/{receiptId}/pdf","href":"receipts/getreceiptpdf","openApiOperationId":"getReceiptPdf","summary":"Get Receipt PDF (Post-MVP)"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PDF document","mediaType":"application/pdf","mediaTypes":["application/pdf"],"mediaTypeContent":{"application/pdf":{"schemaId":"schema_8"}},"schemaId":"schema_8","headers":{"Content-Disposition":{"schema":{"type":"string"},"example":"attachment; filename=\"RCP-2026-00001.pdf\""}},"headerSchemaId":"schema_9"}],"pointer":"/paths/~1{receiptId}~1pdf/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_8","mediaTypes":["application/pdf"],"mediaTypeContent":{"application/pdf":{"schemaId":"schema_8"}}}],"examples":[]}]}]}]},"httpPath":"/{receiptId}/pdf"},{"label":"Create Receipt Delivery","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/receipts/createreceiptdelivery","routeSlug":"/apis/receipts-service/receipts/createreceiptdelivery","metadata":{"seo":{"title":"Create Receipt Delivery","description":"Send or resend a receipt to the original recipient or additional email addresses"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createReceiptDelivery","name":"Create Receipt Delivery","isWebhook":false,"pointer":"/paths/~1{receiptId}~1deliveries/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Receipt Delivery","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Send or resend a receipt to the original recipient or additional email addresses"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"receiptId","in":"path","schemaId":"schema_1","required":true}],"pointer":"/paths/~1{receiptId}~1deliveries/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_10"}},"schemaId":"schema_10","pointer":"/paths/~1{receiptId}~1deliveries/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/{receiptId}/deliveries","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[{"name":"receiptId","in":"path","required":true,"schemaId":"schema_1"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_10"}},"responseCodes":["200"],"pointer":"/{receiptId}/deliveries","href":"receipts/createreceiptdelivery","openApiOperationId":"createReceiptDelivery","summary":"Create Receipt Delivery"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"schema_10","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_10"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Delivery created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceiptDelivery"}},"schemaId":"components/schemas/NpsWrappedReceiptDelivery"}],"pointer":"/paths/~1{receiptId}~1deliveries/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NpsWrappedReceiptDelivery","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceiptDelivery"}}}],"examples":[]}]}]}]},"httpPath":"/{receiptId}/deliveries"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Receipt Created","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/receipts-service/receipts/webhookreceiptcreated","routeSlug":"/apis/receipts-service/receipts/webhookreceiptcreated","metadata":{"seo":{"title":"Receipt Created","description":"Fired when a receipt is successfully generated."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"webhookReceiptCreated","name":"Receipt Created","isWebhook":true,"pointer":"/paths/receiptCreated/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Receipt Created","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fired when a receipt is successfully generated."},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"isEvent":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptCreated/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptCreated/post/requestBody/content/application~1json/example"],"pointer":"/paths/receiptCreated/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"receiptCreated","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptCreated/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"receiptCreated","href":"receipts/webhookreceiptcreated","openApiOperationId":"webhookReceiptCreated","summary":"Receipt Created"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptCreated/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptCreated/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Webhook processed"}],"pointer":"/paths/receiptCreated/post/responses"}],"panels":[]}]},"httpPath":"receiptCreated"},{"label":"Receipt Sent","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/receipts-service/receipts/webhookreceiptsent","routeSlug":"/apis/receipts-service/receipts/webhookreceiptsent","metadata":{"seo":{"title":"Receipt Sent","description":"Fired when a receipt is delivered via configured channel."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"webhookReceiptSent","name":"Receipt Sent","isWebhook":true,"pointer":"/paths/receiptSent/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Receipt Sent","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fired when a receipt is delivered via configured channel."},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"isEvent":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptSent/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptSent/post/requestBody/content/application~1json/example"],"pointer":"/paths/receiptSent/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"receiptSent","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptSent/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"receiptSent","href":"receipts/webhookreceiptsent","openApiOperationId":"webhookReceiptSent","summary":"Receipt Sent"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptSent/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptSent/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Webhook processed"}],"pointer":"/paths/receiptSent/post/responses"}],"panels":[]}]},"httpPath":"receiptSent"},{"label":"Receipt Send Failed","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/receipts-service/receipts/webhookreceiptsendfailed","routeSlug":"/apis/receipts-service/receipts/webhookreceiptsendfailed","metadata":{"seo":{"title":"Receipt Send Failed","description":"Fired when receipt delivery fails."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"webhookReceiptSendFailed","name":"Receipt Send Failed","isWebhook":true,"pointer":"/paths/receiptSendFailed/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Receipt Send Failed","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fired when receipt delivery fails."},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"isEvent":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptSendFailed/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptSendFailed/post/requestBody/content/application~1json/example"],"pointer":"/paths/receiptSendFailed/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"receiptSendFailed","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptSendFailed/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"receiptSendFailed","href":"receipts/webhookreceiptsendfailed","openApiOperationId":"webhookReceiptSendFailed","summary":"Receipt Send Failed"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptSendFailed/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/receiptSendFailed/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Webhook processed"}],"pointer":"/paths/receiptSendFailed/post/responses"}],"panels":[]}]},"httpPath":"receiptSendFailed"}],"content":{"contentType":"group","meta":{"name":"Receipts"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Payment receipts","showPageActions":true},{"nodeType":"markdoc","content":"Generate and manage payment receipts"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/","summary":"List Receipts","prefix":{"name":"get","color":"get"},"badges":[],"link":"/receipts/listreceipts","deprecated":false},{"title":"/","summary":"Create Receipt","prefix":{"name":"post","color":"post"},"badges":[],"link":"/receipts/createreceipt","deprecated":false},{"title":"/{receiptId}","summary":"Get Receipt Details","prefix":{"name":"get","color":"get"},"badges":[],"link":"/receipts/getreceipt","deprecated":false},{"title":"/{receiptId}/html","summary":"Get Receipt HTML","prefix":{"name":"get","color":"get"},"badges":[],"link":"/receipts/getreceipthtml","deprecated":false},{"title":"/{receiptId}/resend","summary":"Resend Receipt","prefix":{"name":"post","color":"post"},"badges":[],"link":"/receipts/resendreceipt","deprecated":false},{"title":"/{receiptId}/pdf","summary":"Get Receipt PDF (Post-MVP)","prefix":{"name":"get","color":"get"},"badges":[],"link":"/receipts/getreceiptpdf","deprecated":false},{"title":"/{receiptId}/deliveries","summary":"Create Receipt Delivery","prefix":{"name":"post","color":"post"},"badges":[],"link":"/receipts/createreceiptdelivery","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"receiptCreated","summary":"Receipt Created","prefix":{"name":"post","color":"post"},"badges":[],"link":"/receipts/webhookreceiptcreated","deprecated":false},{"title":"receiptSent","summary":"Receipt Sent","prefix":{"name":"post","color":"post"},"badges":[],"link":"/receipts/webhookreceiptsent","deprecated":false},{"title":"receiptSendFailed","summary":"Receipt Send Failed","prefix":{"name":"post","color":"post"},"badges":[],"link":"/receipts/webhookreceiptsendfailed","deprecated":false}]}]}]}]}},{"type":"group","label":"Configuration","link":"/apis/receipts-service/configuration","routeSlug":"/apis/receipts-service/configuration","items":[{"label":"Get Receipt Configuration","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/configuration/getreceiptconfig","routeSlug":"/apis/receipts-service/configuration/getreceiptconfig","metadata":{"seo":{"title":"Get Receipt Configuration","description":"Retrieve the per-merchant receipt configuration stored locally by the Receipt Service."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReceiptConfig","name":"Get Receipt Configuration","isWebhook":false,"pointer":"/paths/~1config/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Receipt Configuration","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve the per-merchant receipt configuration stored locally by the Receipt Service.\n\nIncludes branding, template, receipt number format, send defaults,\nand push notification settings.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"entityId","in":"query","schemaId":"schema_0","description":"Merchant/tenant identifier for tenant isolation","required":true}],"pointer":"/paths/~1config/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/config","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[{"name":"entityId","in":"query","required":true,"schemaId":"schema_0"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/config","href":"configuration/getreceiptconfig","openApiOperationId":"getReceiptConfig","summary":"Get Receipt Configuration"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Configuration retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceiptConfig","exampleIds":["paths/~1config/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/NpsWrappedReceiptConfig","exampleIds":["paths/~1config/get/responses/200/content/application~1json/example"]}],"pointer":"/paths/~1config/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NpsWrappedReceiptConfig","exampleIds":["paths/~1config/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceiptConfig","exampleIds":["paths/~1config/get/responses/200/content/application~1json/example"]}}}],"examples":[]}]}]}]},"httpPath":"/config"},{"label":"Upsert Receipt Configuration","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/configuration/upsertreceiptconfig","routeSlug":"/apis/receipts-service/configuration/upsertreceiptconfig","metadata":{"seo":{"title":"Upsert Receipt Configuration","description":"Create or update the per-merchant receipt configuration."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"upsertReceiptConfig","name":"Upsert Receipt Configuration","isWebhook":false,"pointer":"/paths/~1config/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upsert Receipt Configuration","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create or update the per-merchant receipt configuration.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpsertReceiptConfigRequest"}},"schemaId":"components/schemas/UpsertReceiptConfigRequest","pointer":"/paths/~1config/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/config","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpsertReceiptConfigRequest"}},"responseCodes":["200"],"pointer":"/config","href":"configuration/upsertreceiptconfig","openApiOperationId":"upsertReceiptConfig","summary":"Upsert Receipt Configuration"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/UpsertReceiptConfigRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpsertReceiptConfigRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Configuration saved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceiptConfig"}},"schemaId":"components/schemas/NpsWrappedReceiptConfig"}],"pointer":"/paths/~1config/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NpsWrappedReceiptConfig","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedReceiptConfig"}}}],"examples":[]}]}]}]},"httpPath":"/config"}],"content":{"contentType":"group","meta":{"name":"Configuration"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Configuration","showPageActions":true},{"nodeType":"markdoc","content":"Per-merchant receipt configuration stored locally by the Receipt Service"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/config","summary":"Get Receipt Configuration","prefix":{"name":"get","color":"get"},"badges":[],"link":"/configuration/getreceiptconfig","deprecated":false},{"title":"/config","summary":"Upsert Receipt Configuration","prefix":{"name":"put","color":"put"},"badges":[],"link":"/configuration/upsertreceiptconfig","deprecated":false}]}]}]}]}},{"type":"group","label":"Templates","link":"/apis/receipts-service/templates","routeSlug":"/apis/receipts-service/templates","items":[{"label":"List Templates","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/templates/listtemplates","routeSlug":"/apis/receipts-service/templates/listtemplates","metadata":{"seo":{"title":"List Templates","description":"List available templates for the authenticated merchant. Returns both built-in system templates and merchant-uploaded custom templates."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listTemplates","name":"List Templates","isWebhook":false,"pointer":"/paths/~1templates/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Templates","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"List available templates for the authenticated merchant.\nReturns both built-in system templates and merchant-uploaded custom templates.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"entityId","in":"query","schemaId":"schema_0","description":"Merchant/tenant identifier for tenant isolation","required":true},{"name":"type","in":"query","schemaId":"schema_11","description":"Filter by template type"},{"name":"status","in":"query","schemaId":"schema_12","description":"Filter by template status"},{"name":"page","in":"query","schemaId":"schema_4","description":"Page number (1-indexed)","example":1},{"name":"pageSize","in":"query","schemaId":"schema_5","description":"Number of items per page","example":50}],"pointer":"/paths/~1templates/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/templates","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[{"name":"entityId","in":"query","required":true,"schemaId":"schema_0"},{"name":"type","in":"query","schemaId":"components/schemas/ReceiptTemplateType"},{"name":"status","in":"query","schemaId":"components/schemas/TemplateStatus"},{"name":"page","in":"query","example":1,"schemaId":"schema_4"},{"name":"pageSize","in":"query","example":50,"schemaId":"schema_5"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/templates","href":"templates/listtemplates","openApiOperationId":"listTemplates","summary":"List Templates"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Templates retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedTemplateList"}},"schemaId":"components/schemas/NpsWrappedTemplateList"}],"pointer":"/paths/~1templates/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NpsWrappedTemplateList","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedTemplateList"}}}],"examples":[]}]}]}]},"httpPath":"/templates"},{"label":"Create Template","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/templates/createtemplate","routeSlug":"/apis/receipts-service/templates/createtemplate","metadata":{"seo":{"title":"Create Template","description":"Upload a new custom Liquid template for receipt or email rendering. The template is created in DRAFT status and must be activated before use. Liquid syntax is validated on creation."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createTemplate","name":"Create Template","isWebhook":false,"pointer":"/paths/~1templates/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Template","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Upload a new custom Liquid template for receipt or email rendering.\nThe template is created in DRAFT status and must be activated before use.\nLiquid syntax is validated on creation.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateTemplateRequest"}},"schemaId":"components/schemas/CreateTemplateRequest","pointer":"/paths/~1templates/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/templates","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateTemplateRequest"}},"responseCodes":["200"],"pointer":"/templates","href":"templates/createtemplate","openApiOperationId":"createTemplate","summary":"Create Template"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/CreateTemplateRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateTemplateRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Template created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedTemplateResponse"}},"schemaId":"components/schemas/NpsWrappedTemplateResponse"}],"pointer":"/paths/~1templates/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NpsWrappedTemplateResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedTemplateResponse"}}}],"examples":[]}]}]}]},"httpPath":"/templates"},{"label":"Get Template","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/templates/gettemplate","routeSlug":"/apis/receipts-service/templates/gettemplate","metadata":{"seo":{"title":"Get Template","description":"Retrieve a single template by ID, including its full Liquid content."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTemplate","name":"Get Template","isWebhook":false,"pointer":"/paths/~1templates~1{templateId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Template","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve a single template by ID, including its full Liquid content."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"templateId","in":"path","schemaId":"schema_1","description":"Template identifier","required":true}],"pointer":"/paths/~1templates~1{templateId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"entityId","in":"query","schemaId":"schema_0","description":"Merchant/tenant identifier for tenant isolation","required":true}],"pointer":"/paths/~1templates~1{templateId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/templates/{templateId}","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[{"name":"templateId","in":"path","required":true,"schemaId":"schema_1"}],"query":[{"name":"entityId","in":"query","required":true,"schemaId":"schema_0"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/templates/{templateId}","href":"templates/gettemplate","openApiOperationId":"getTemplate","summary":"Get Template"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Template retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedTemplateResponse"}},"schemaId":"components/schemas/NpsWrappedTemplateResponse"}],"pointer":"/paths/~1templates~1{templateId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NpsWrappedTemplateResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedTemplateResponse"}}}],"examples":[]}]}]}]},"httpPath":"/templates/{templateId}"},{"label":"Update Template","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/templates/updatetemplate","routeSlug":"/apis/receipts-service/templates/updatetemplate","metadata":{"seo":{"title":"Update Template","description":"Update a custom template. System templates cannot be modified. Liquid syntax is re-validated on update. Increments the template version."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateTemplate","name":"Update Template","isWebhook":false,"pointer":"/paths/~1templates~1{templateId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Template","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update a custom template. System templates cannot be modified.\nLiquid syntax is re-validated on update. Increments the template version.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"templateId","in":"path","schemaId":"schema_1","description":"Template identifier","required":true}],"pointer":"/paths/~1templates~1{templateId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateTemplateRequest"}},"schemaId":"components/schemas/UpdateTemplateRequest","pointer":"/paths/~1templates~1{templateId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/templates/{templateId}","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[{"name":"templateId","in":"path","required":true,"schemaId":"schema_1"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpdateTemplateRequest"}},"responseCodes":["200"],"pointer":"/templates/{templateId}","href":"templates/updatetemplate","openApiOperationId":"updateTemplate","summary":"Update Template"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/UpdateTemplateRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateTemplateRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Template updated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedTemplateResponse"}},"schemaId":"components/schemas/NpsWrappedTemplateResponse"}],"pointer":"/paths/~1templates~1{templateId}/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NpsWrappedTemplateResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedTemplateResponse"}}}],"examples":[]}]}]}]},"httpPath":"/templates/{templateId}"},{"label":"Delete Template","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/templates/deletetemplate","routeSlug":"/apis/receipts-service/templates/deletetemplate","metadata":{"seo":{"title":"Delete Template","description":"Delete a custom template. System templates cannot be deleted. If the template is set as the active template in the merchant's configuration, the response uses responseCode E409 in the NPS error envelope."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteTemplate","name":"Delete Template","isWebhook":false,"pointer":"/paths/~1templates~1{templateId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Template","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete a custom template. System templates cannot be deleted.\nIf the template is set as the active template in the merchant's configuration,\nthe response uses responseCode E409 in the NPS error envelope.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"templateId","in":"path","schemaId":"schema_1","description":"Template identifier","required":true}],"pointer":"/paths/~1templates~1{templateId}/delete/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"entityId","in":"query","schemaId":"schema_0","description":"Merchant/tenant identifier for tenant isolation","required":true}],"pointer":"/paths/~1templates~1{templateId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/templates/{templateId}","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[{"name":"templateId","in":"path","required":true,"schemaId":"schema_1"}],"query":[{"name":"entityId","in":"query","required":true,"schemaId":"schema_0"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/templates/{templateId}","href":"templates/deletetemplate","openApiOperationId":"deleteTemplate","summary":"Delete Template"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Template deleted successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedTemplateDelete"}},"schemaId":"components/schemas/NpsWrappedTemplateDelete"}],"pointer":"/paths/~1templates~1{templateId}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NpsWrappedTemplateDelete","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedTemplateDelete"}}}],"examples":[]}]}]}]},"httpPath":"/templates/{templateId}"},{"label":"Validate Template","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/templates/validatetemplate","routeSlug":"/apis/receipts-service/templates/validatetemplate","metadata":{"seo":{"title":"Validate Template","description":"Validate Liquid template syntax without persisting. Returns validation results including any syntax errors and unrecognized variable references."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"validateTemplate","name":"Validate Template","isWebhook":false,"pointer":"/paths/~1templates~1validate/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Validate Template","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Validate Liquid template syntax without persisting.\nReturns validation results including any syntax errors and\nunrecognized variable references.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ValidateTemplateRequest"}},"schemaId":"components/schemas/ValidateTemplateRequest","pointer":"/paths/~1templates~1validate/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/templates/validate","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/ValidateTemplateRequest"}},"responseCodes":["200"],"pointer":"/templates/validate","href":"templates/validatetemplate","openApiOperationId":"validateTemplate","summary":"Validate Template"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/ValidateTemplateRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ValidateTemplateRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Validation completed","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedValidateTemplateResponse"}},"schemaId":"components/schemas/NpsWrappedValidateTemplateResponse"}],"pointer":"/paths/~1templates~1validate/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/NpsWrappedValidateTemplateResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NpsWrappedValidateTemplateResponse"}}}],"examples":[]}]}]}]},"httpPath":"/templates/validate"},{"label":"Preview Template","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/receipts-service/templates/previewtemplate","routeSlug":"/apis/receipts-service/templates/previewtemplate","metadata":{"seo":{"title":"Preview Template","description":"Render a template with sample data and return the resulting HTML. Useful for previewing how a template will look before activating it."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"previewTemplate","name":"Preview Template","isWebhook":false,"pointer":"/paths/~1templates~1{templateId}~1preview/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Preview Template","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Render a template with sample data and return the resulting HTML.\nUseful for previewing how a template will look before activating it.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"templateId","in":"path","schemaId":"schema_1","description":"Template identifier","required":true}],"pointer":"/paths/~1templates~1{templateId}~1preview/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PreviewTemplateRequest"}},"schemaId":"components/schemas/PreviewTemplateRequest","pointer":"/paths/~1templates~1{templateId}~1preview/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/templates/{templateId}/preview","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[{"name":"templateId","in":"path","required":true,"schemaId":"schema_1"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PreviewTemplateRequest"}},"responseCodes":["200"],"pointer":"/templates/{templateId}/preview","href":"templates/previewtemplate","openApiOperationId":"previewTemplate","summary":"Preview Template"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/PreviewTemplateRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PreviewTemplateRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Rendered HTML preview","mediaType":"text/html","mediaTypes":["text/html"],"mediaTypeContent":{"text/html":{"schemaId":"schema_6"}},"schemaId":"schema_6"}],"pointer":"/paths/~1templates~1{templateId}~1preview/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_6","mediaTypes":["text/html"],"mediaTypeContent":{"text/html":{"schemaId":"schema_6"}}}],"examples":[]}]}]}]},"httpPath":"/templates/{templateId}/preview"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Template Created","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/receipts-service/templates/webhooktemplatecreated","routeSlug":"/apis/receipts-service/templates/webhooktemplatecreated","metadata":{"seo":{"title":"Template Created","description":"Fired when a new custom Liquid template is created."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"webhookTemplateCreated","name":"Template Created","isWebhook":true,"pointer":"/paths/templateCreated/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Template Created","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fired when a new custom Liquid template is created."},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"isEvent":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateCreated/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateCreated/post/requestBody/content/application~1json/example"],"pointer":"/paths/templateCreated/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"templateCreated","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateCreated/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"templateCreated","href":"templates/webhooktemplatecreated","openApiOperationId":"webhookTemplateCreated","summary":"Template Created"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateCreated/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateCreated/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Webhook processed"}],"pointer":"/paths/templateCreated/post/responses"}],"panels":[]}]},"httpPath":"templateCreated"},{"label":"Template Updated","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/receipts-service/templates/webhooktemplateupdated","routeSlug":"/apis/receipts-service/templates/webhooktemplateupdated","metadata":{"seo":{"title":"Template Updated","description":"Fired when a custom template is updated."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"webhookTemplateUpdated","name":"Template Updated","isWebhook":true,"pointer":"/paths/templateUpdated/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Template Updated","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fired when a custom template is updated."},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"isEvent":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateUpdated/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateUpdated/post/requestBody/content/application~1json/example"],"pointer":"/paths/templateUpdated/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"templateUpdated","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateUpdated/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"templateUpdated","href":"templates/webhooktemplateupdated","openApiOperationId":"webhookTemplateUpdated","summary":"Template Updated"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateUpdated/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateUpdated/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Webhook processed"}],"pointer":"/paths/templateUpdated/post/responses"}],"panels":[]}]},"httpPath":"templateUpdated"},{"label":"Template Activated","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/receipts-service/templates/webhooktemplateactivated","routeSlug":"/apis/receipts-service/templates/webhooktemplateactivated","metadata":{"seo":{"title":"Template Activated","description":"Fired when a template status changes to ACTIVE."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"webhookTemplateActivated","name":"Template Activated","isWebhook":true,"pointer":"/paths/templateActivated/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Template Activated","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fired when a template status changes to ACTIVE."},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"isEvent":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateActivated/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateActivated/post/requestBody/content/application~1json/example"],"pointer":"/paths/templateActivated/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"templateActivated","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateActivated/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"templateActivated","href":"templates/webhooktemplateactivated","openApiOperationId":"webhookTemplateActivated","summary":"Template Activated"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateActivated/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateActivated/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Webhook processed"}],"pointer":"/paths/templateActivated/post/responses"}],"panels":[]}]},"httpPath":"templateActivated"},{"label":"Template Archived","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/receipts-service/templates/webhooktemplatearchived","routeSlug":"/apis/receipts-service/templates/webhooktemplatearchived","metadata":{"seo":{"title":"Template Archived","description":"Fired when a template status changes to ARCHIVED."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"webhookTemplateArchived","name":"Template Archived","isWebhook":true,"pointer":"/paths/templateArchived/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Template Archived","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fired when a template status changes to ARCHIVED."},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"isEvent":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateArchived/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateArchived/post/requestBody/content/application~1json/example"],"pointer":"/paths/templateArchived/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"templateArchived","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateArchived/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"templateArchived","href":"templates/webhooktemplatearchived","openApiOperationId":"webhookTemplateArchived","summary":"Template Archived"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateArchived/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateArchived/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Webhook processed"}],"pointer":"/paths/templateArchived/post/responses"}],"panels":[]}]},"httpPath":"templateArchived"},{"label":"Template Deleted","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/receipts-service/templates/webhooktemplatedeleted","routeSlug":"/apis/receipts-service/templates/webhooktemplatedeleted","metadata":{"seo":{"title":"Template Deleted","description":"Fired when a custom template is permanently deleted."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"webhookTemplateDeleted","name":"Template Deleted","isWebhook":true,"pointer":"/paths/templateDeleted/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Template Deleted","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fired when a custom template is permanently deleted."},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"isEvent":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateDeleted/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateDeleted/post/requestBody/content/application~1json/example"],"pointer":"/paths/templateDeleted/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"templateDeleted","servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateDeleted/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"templateDeleted","href":"templates/webhooktemplatedeleted","openApiOperationId":"webhookTemplateDeleted","summary":"Template Deleted"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/apis/receipts-service","description":"Mock server","isMockServer":true},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateDeleted/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PnsEvent","exampleIds":["paths/templateDeleted/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Webhook processed"}],"pointer":"/paths/templateDeleted/post/responses"}],"panels":[]}]},"httpPath":"templateDeleted"}],"content":{"contentType":"group","meta":{"name":"Templates"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Templates","showPageActions":true},{"nodeType":"markdoc","content":"Liquid template management for receipt and email rendering.\nMerchants can use built-in system templates (standard, detailed, compact) or upload\ncustom Liquid templates. Templates control the layout and content of rendered receipts\nand notification emails."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/templates","summary":"List Templates","prefix":{"name":"get","color":"get"},"badges":[],"link":"/templates/listtemplates","deprecated":false},{"title":"/templates","summary":"Create Template","prefix":{"name":"post","color":"post"},"badges":[],"link":"/templates/createtemplate","deprecated":false},{"title":"/templates/{templateId}","summary":"Get Template","prefix":{"name":"get","color":"get"},"badges":[],"link":"/templates/gettemplate","deprecated":false},{"title":"/templates/{templateId}","summary":"Update Template","prefix":{"name":"put","color":"put"},"badges":[],"link":"/templates/updatetemplate","deprecated":false},{"title":"/templates/{templateId}","summary":"Delete Template","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/templates/deletetemplate","deprecated":false},{"title":"/templates/validate","summary":"Validate Template","prefix":{"name":"post","color":"post"},"badges":[],"link":"/templates/validatetemplate","deprecated":false},{"title":"/templates/{templateId}/preview","summary":"Preview Template","prefix":{"name":"post","color":"post"},"badges":[],"link":"/templates/previewtemplate","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"templateCreated","summary":"Template Created","prefix":{"name":"post","color":"post"},"badges":[],"link":"/templates/webhooktemplatecreated","deprecated":false},{"title":"templateUpdated","summary":"Template Updated","prefix":{"name":"post","color":"post"},"badges":[],"link":"/templates/webhooktemplateupdated","deprecated":false},{"title":"templateActivated","summary":"Template Activated","prefix":{"name":"post","color":"post"},"badges":[],"link":"/templates/webhooktemplateactivated","deprecated":false},{"title":"templateArchived","summary":"Template Archived","prefix":{"name":"post","color":"post"},"badges":[],"link":"/templates/webhooktemplatearchived","deprecated":false},{"title":"templateDeleted","summary":"Template Deleted","prefix":{"name":"post","color":"post"},"badges":[],"link":"/templates/webhooktemplatedeleted","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/HealthComponent":{"id":"components/schemas/HealthComponent","kind":"json-schema","title":"HealthComponent","data":{"type":"object","properties":{"status":{"type":"string","enum":["UP","DOWN"]},"details":{"type":"object","additionalProperties":true}}}},"components/schemas/NpsResponse":{"id":"components/schemas/NpsResponse","kind":"json-schema","title":"NpsResponse","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Standard NPS success envelope. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"object"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" holds the operation-specific payload."},"children":[]}]}]}],"required":["responseCode","responseMessage","responseDetails","object"],"properties":{"responseCode":{"type":"string","example":"A100"},"responseMessage":{"type":"string","example":"Approved"},"responseDetails":{"type":"null"},"object":{"type":"null","description":"Business payload for this operation (null when no payload)"}}}},"components/schemas/NpsWrappedReceipt":{"id":"components/schemas/NpsWrappedReceipt","kind":"json-schema","title":"NpsWrappedReceipt","data":{"allOf":[{"$ref":"#/components/schemas/NpsResponse"},{"type":"object","properties":{"object":{"$ref":"#/components/schemas/Receipt"}}}]}},"components/schemas/NpsWrappedReceiptList":{"id":"components/schemas/NpsWrappedReceiptList","kind":"json-schema","title":"NpsWrappedReceiptList","data":{"allOf":[{"$ref":"#/components/schemas/NpsResponse"},{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ReceiptListResponse"}}}]}},"components/schemas/NpsWrappedReceiptConfig":{"id":"components/schemas/NpsWrappedReceiptConfig","kind":"json-schema","title":"NpsWrappedReceiptConfig","data":{"allOf":[{"$ref":"#/components/schemas/NpsResponse"},{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ReceiptConfigResponse"}}}]}},"components/schemas/ReceiptDeliveryResult":{"id":"components/schemas/ReceiptDeliveryResult","kind":"json-schema","title":"ReceiptDeliveryResult","data":{"type":"object","properties":{"sentTo":{"type":"array","items":{"type":"string","format":"email"}},"sentAt":{"type":"string","format":"date-time"}}}},"components/schemas/NpsWrappedReceiptDelivery":{"id":"components/schemas/NpsWrappedReceiptDelivery","kind":"json-schema","title":"NpsWrappedReceiptDelivery","data":{"allOf":[{"$ref":"#/components/schemas/NpsResponse"},{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ReceiptDeliveryResult"}}}]}},"components/schemas/NpsWrappedTemplateList":{"id":"components/schemas/NpsWrappedTemplateList","kind":"json-schema","title":"NpsWrappedTemplateList","data":{"allOf":[{"$ref":"#/components/schemas/NpsResponse"},{"type":"object","properties":{"object":{"$ref":"#/components/schemas/TemplateListResponse"}}}]}},"components/schemas/NpsWrappedTemplateResponse":{"id":"components/schemas/NpsWrappedTemplateResponse","kind":"json-schema","title":"NpsWrappedTemplateResponse","data":{"allOf":[{"$ref":"#/components/schemas/NpsResponse"},{"type":"object","properties":{"object":{"$ref":"#/components/schemas/TemplateResponse"}}}]}},"components/schemas/NpsWrappedValidateTemplateResponse":{"id":"components/schemas/NpsWrappedValidateTemplateResponse","kind":"json-schema","title":"NpsWrappedValidateTemplateResponse","data":{"allOf":[{"$ref":"#/components/schemas/NpsResponse"},{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ValidateTemplateResponse"}}}]}},"components/schemas/TemplateDeleteResult":{"id":"components/schemas/TemplateDeleteResult","kind":"json-schema","title":"TemplateDeleteResult","data":{"type":"object","required":["templateId","deleted"],"properties":{"templateId":{"type":"string","format":"uuid","description":"Identifier of the deleted template"},"deleted":{"type":"boolean","example":true}}}},"components/schemas/NpsWrappedTemplateDelete":{"id":"components/schemas/NpsWrappedTemplateDelete","kind":"json-schema","title":"NpsWrappedTemplateDelete","data":{"allOf":[{"$ref":"#/components/schemas/NpsResponse"},{"type":"object","properties":{"object":{"$ref":"#/components/schemas/TemplateDeleteResult"}}}]}},"components/schemas/PnsEvent":{"id":"components/schemas/PnsEvent","kind":"json-schema","title":"PnsEvent","data":{"type":"object","required":["eventType","sourceApplicationName","entityId","createDateTime","payload"],"properties":{"eventType":{"type":"string","description":"Human-readable event type"},"sourceApplicationName":{"type":"string","const":"receipt-service"},"entityId":{"type":"integer","format":"int64","description":"Merchant/tenant identifier for tenant isolation"},"createDateTime":{"type":"string","format":"date-time","description":"When the event was created (ISO 8601)"},"payload":{"type":"object","required":["notificationMessageId"],"properties":{"notificationMessageId":{"type":"string","format":"uuid","description":"Unique message identifier (idempotency key)"},"status":{"type":"string","description":"Status context for the event"},"additionalProperties":{"type":"object","description":"Event-specific data (e.g. receiptId, channel)","additionalProperties":true},"tags":{"type":"object","description":"Arbitrary tags for routing or filtering","additionalProperties":true}}}}}},"components/schemas/Pagination":{"id":"components/schemas/Pagination","kind":"json-schema","title":"Pagination","data":{"type":"object","required":["totalRecords","currentPage","totalPages"],"properties":{"totalRecords":{"type":"integer","description":"Total number of records across all pages","example":100},"currentPage":{"type":"integer","description":"Current page number (1-indexed)","example":1},"totalPages":{"type":"integer","description":"Total number of pages","example":10},"nextPage":{"type":["integer","null"],"description":"Next page number, null if on last page","example":2},"prevPage":{"type":["integer","null"],"description":"Previous page number, null if on first page","example":null}}}},"components/schemas/ReceiptStatus":{"id":"components/schemas/ReceiptStatus","kind":"json-schema","title":"ReceiptStatus","data":{"type":"string","enum":["CREATED","SENT","FAILED"]}},"components/schemas/PaymentMethodType":{"id":"components/schemas/PaymentMethodType","kind":"json-schema","title":"PaymentMethodType","data":{"type":"string","enum":["CARD","ACH","APPLE_PAY","PAYPAL"],"description":"Type of payment method for receipt display (includes PAYPAL for tracking)\n"}},"components/schemas/Receipt":{"id":"components/schemas/Receipt","kind":"json-schema","title":"Receipt","data":{"type":"object","required":["id","receiptNumber","entityId","status","payment","version","createdAt","updatedAt"],"properties":{"id":{"type":"string","format":"uuid"},"receiptNumber":{"type":"string","description":"Sequential receipt number"},"entityId":{"type":"integer","format":"int64","description":"Merchant/tenant identifier for tenant isolation"},"personId":{"type":"string","format":"uuid","description":"Person ID if linked to Profile Service"},"personName":{"type":"string","description":"Snapshot of person name"},"personEmail":{"type":"string","format":"email","description":"Snapshot of person email"},"status":{"$ref":"#/components/schemas/ReceiptStatus"},"payment":{"$ref":"#/components/schemas/ReceiptPayment"},"invoices":{"type":"array","items":{"$ref":"#/components/schemas/ReceiptInvoice"}},"sendAttempts":{"type":"array","description":"History of send/resend attempts for this receipt.","items":{"type":"object","properties":{"attemptedAt":{"type":"string","format":"date-time","description":"Timestamp of the send attempt"},"channel":{"type":"string","enum":["EMAIL"],"description":"Delivery channel used"},"status":{"type":"string","description":"Result status of the attempt"},"emailAddresses":{"type":"array","items":{"type":"string"},"description":"Email addresses the receipt was sent to"}}}},"description":{"type":"string","description":"Description for payment-only receipts"},"pdfUrl":{"type":"string","format":"uri","x-status":"planned","description":"Not yet implemented. Planned for future release.\nPost-MVP. URL to download PDF (signed, time-limited).\nNot populated in MVP; receipts are rendered as HTML on-demand.\n"},"consolidatedTags":{"allOf":[{"$ref":"#/components/schemas/ConsolidatedTagsObject"},{"description":"Consolidated tags carried from the invoice/payment that generated this receipt.\nImmutable snapshot for reporting and analytics.\n","readOnly":true}]},"sentAt":{"type":"string","format":"date-time"},"version":{"type":"integer","format":"int64","description":"Version number for optimistic locking"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}}},"components/schemas/ReceiptPayment":{"id":"components/schemas/ReceiptPayment","kind":"json-schema","title":"ReceiptPayment","data":{"type":"object","required":["paymentId","amount","paymentMethod","processedAt"],"properties":{"paymentId":{"type":"string"},"transactionId":{"type":"string"},"amount":{"type":"number","format":"decimal","description":"Amount in dollars"},"paymentMethod":{"$ref":"#/components/schemas/PaymentMethodType"},"lastFour":{"type":"string"},"processedAt":{"type":"string","format":"date-time"}}}},"components/schemas/ReceiptInvoice":{"id":"components/schemas/ReceiptInvoice","kind":"json-schema","title":"ReceiptInvoice","data":{"type":"object","required":["invoiceId","invoiceNumber","amountApplied"],"properties":{"invoiceId":{"type":"string","format":"uuid"},"invoiceNumber":{"type":"string","description":"Snapshot of invoice number"},"amountApplied":{"type":"number","format":"decimal","description":"Amount applied to this invoice in dollars"}}}},"components/schemas/CreateReceiptRequest":{"id":"components/schemas/CreateReceiptRequest","kind":"json-schema","title":"CreateReceiptRequest","data":{"type":"object","required":["entityId","payment"],"properties":{"entityId":{"type":"integer","format":"int64","description":"Merchant/tenant identifier for tenant isolation"},"personId":{"type":"string","format":"uuid","description":"Link to existing Person in Profile Service"},"person":{"type":"object","description":"Ad-hoc person info (for payment-only when no personId)","properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"}}},"payment":{"$ref":"#/components/schemas/ReceiptPayment"},"invoices":{"type":"array","items":{"type":"object","required":["invoiceId","invoiceNumber","amountApplied"],"properties":{"invoiceId":{"type":"string","format":"uuid"},"invoiceNumber":{"type":"string"},"amountApplied":{"type":"number","format":"decimal","description":"Amount applied to this invoice in dollars"}}}},"description":{"type":"string","description":"Description for payment-only receipts"},"sendOptions":{"type":"object","properties":{"send":{"type":"boolean","default":true},"additionalEmails":{"type":"array","items":{"type":"string","format":"email"}}}}}}},"components/schemas/ReceiptListResponse":{"id":"components/schemas/ReceiptListResponse","kind":"json-schema","title":"ReceiptListResponse","data":{"type":"object","required":["results","pagination"],"properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Receipt"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}},"components/schemas/ConsolidatedTagsObject":{"id":"components/schemas/ConsolidatedTagsObject","kind":"json-schema","title":"ConsolidatedTagsObject","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Immutable consolidated tags with source prefixes, carried from the invoice/payment."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Merges tags from all upstream sources (Profile, Billing, etc.) into a single snapshot."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tag keys must follow the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"source.entity.namespace.key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" format (four dot-separated segments). Keys with fewer segments are silently dropped during consolidation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Format:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"source.entity.namespace.key = value"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example prefixes:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"profile.billableEntity.*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Tags from BillableEntity"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"profile.account.*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Tags from Account"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"billing.rate.*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Tags from Rate"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"billing.subscription.*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Tags from Subscription"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"billing.charge.*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Tags from Charge"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"These tags are frozen and are never modified after receipt generation."},"children":[]}]}]}],"additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string","maxLength":256}}}},"example":{"profile":{"billableEntity":{"service":{"program":"standard"}}},"billing":{"charge":{"event":{"date":"2026-01-15"}}}}}},"components/schemas/ErrorResponse":{"id":"components/schemas/ErrorResponse","kind":"json-schema","title":"ErrorResponse","data":{"type":"object","required":["responseCode","responseMessage","responseDetails","object"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"NPS API error envelope."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Null field omission:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" With "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"@JsonInclude(NON_NULL)"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", null-valued fields (including "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"object"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"responseDetails"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when absent) are omitted rather than serialized as explicit "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"properties":{"responseCode":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"NPS error code (not HTTP status as string). Includes E422 (VALIDATION_ERROR) for request validation failures,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"plus "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"E400_VALIDATION"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"E403_ACCESS"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"E403_TENANT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" as described in the API introduction."},"children":[]}]}]}],"enum":["E400","E400_VALIDATION","E401","E403","E403_ACCESS","E403_TENANT","E404","E409","E422","E500"],"example":"E400"},"responseMessage":{"type":"string","description":"Human-readable error summary","example":"Invalid request parameters"},"responseDetails":{"type":["array","null"],"description":"Structured error details (field errors, codes, etc.)","items":{"type":"object","additionalProperties":true}},"object":{"type":"null","description":"Omitted when null in actual JSON responses (see null field omission note on this schema)."}},"example":{"responseCode":"E400","responseMessage":"Invalid request parameters","responseDetails":[]}}},"components/schemas/UpsertReceiptConfigRequest":{"id":"components/schemas/UpsertReceiptConfigRequest","kind":"json-schema","title":"UpsertReceiptConfigRequest","data":{"type":"object","required":["entityId","enabled","defaultCurrency"],"properties":{"entityId":{"type":"integer","format":"int64","description":"Merchant/tenant identifier for tenant isolation"},"enabled":{"type":"boolean","description":"Whether receipt generation is enabled for this merchant"},"defaultCurrency":{"type":"string","minLength":3,"maxLength":3,"description":"ISO 4217 currency code","default":"USD","example":"USD"},"branding":{"type":"object","properties":{"logoUrl":{"type":"string","format":"uri","description":"Merchant logo URL displayed on receipts"},"primaryColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","description":"Primary brand color hex code","example":"#003366"},"merchantName":{"type":"string","description":"Merchant display name on receipts"},"receiptTemplateId":{"type":"string","format":"uuid","description":"Active template ID for receipt rendering. References a template\nfrom the /templates endpoint. If omitted, the system default\ntemplate (standard) is used.\n"},"emailTemplateId":{"type":"string","format":"uuid","description":"Active template ID for receipt notification emails. References\na template from the /templates endpoint. If omitted, the system\ndefault email template is used.\n"}}},"receiptNumberFormat":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Receipt number format with placeholders:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"{YEAR} - 4-digit year, {MONTH} - 2-digit month,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"{SEQ} - sequential number, {PREFIX} - merchant prefix"},"children":[]}]}]}],"example":"RCP-{YEAR}{MONTH}-{SEQ}"},"receiptNumberPrefix":{"type":"string","maxLength":10,"description":"Merchant-specific prefix for receipt numbers","example":"RCP"},"minDigits":{"type":"integer","minimum":1,"maximum":10,"description":"Minimum digits for the sequential number (zero-padded)"},"autoSendOnPayment":{"type":"boolean","description":"Automatically send receipt after successful payment"},"defaultSendChannels":{"type":"array","items":{"type":"string","enum":["EMAIL","SMS"]},"description":"Default channels for sending receipts"}}}},"components/schemas/ReceiptConfigResponse":{"id":"components/schemas/ReceiptConfigResponse","kind":"json-schema","title":"ReceiptConfigResponse","data":{"type":"object","required":["defaultCurrency"],"properties":{"id":{"type":"string","format":"uuid"},"entityId":{"type":"integer","format":"int64","description":"Merchant/tenant identifier for tenant isolation"},"enabled":{"type":"boolean"},"defaultCurrency":{"type":"string","minLength":3,"maxLength":3,"description":"ISO 4217 currency code","default":"USD","example":"USD"},"branding":{"type":"object","properties":{"logoUrl":{"type":"string","format":"uri"},"primaryColor":{"type":"string"},"merchantName":{"type":"string"},"receiptTemplateId":{"type":"string","format":"uuid","description":"Active template for receipt rendering"},"emailTemplateId":{"type":"string","format":"uuid","description":"Active template for receipt notification emails"}}},"receiptNumberFormat":{"type":"string"},"receiptNumberPrefix":{"type":"string"},"minDigits":{"type":"integer"},"autoSendOnPayment":{"type":"boolean"},"defaultSendChannels":{"type":"array","items":{"type":"string","enum":["EMAIL","SMS"]}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}}},"components/schemas/ReceiptTemplateType":{"id":"components/schemas/ReceiptTemplateType","kind":"json-schema","title":"ReceiptTemplateType","data":{"type":"string","enum":["RECEIPT","RECEIPT_EMAIL"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RECEIPT - Template for the rendered receipt document (HTML)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RECEIPT_EMAIL - Template for the receipt notification email body."},"children":[]}]}]}]}},"components/schemas/TemplateStatus":{"id":"components/schemas/TemplateStatus","kind":"json-schema","title":"TemplateStatus","data":{"type":"string","enum":["DRAFT","ACTIVE","ARCHIVED"]}},"components/schemas/CreateTemplateRequest":{"id":"components/schemas/CreateTemplateRequest","kind":"json-schema","title":"CreateTemplateRequest","data":{"type":"object","required":["entityId","name","type","content"],"properties":{"entityId":{"type":"integer","format":"int64","description":"Merchant/tenant identifier for tenant isolation"},"name":{"type":"string","maxLength":255,"description":"Human-readable template name","example":"Custom branded receipt"},"type":{"$ref":"#/components/schemas/ReceiptTemplateType"},"content":{"type":"string","maxLength":65536,"description":"Liquid template markup"},"description":{"type":"string","maxLength":1000,"description":"Optional description of the template's purpose"}}}},"components/schemas/UpdateTemplateRequest":{"id":"components/schemas/UpdateTemplateRequest","kind":"json-schema","title":"UpdateTemplateRequest","data":{"type":"object","required":["entityId"],"properties":{"entityId":{"type":"integer","format":"int64","description":"Merchant/tenant identifier for tenant isolation"},"name":{"type":"string","maxLength":255},"content":{"type":"string","maxLength":65536,"description":"Liquid template markup"},"status":{"$ref":"#/components/schemas/TemplateStatus"},"description":{"type":"string","maxLength":1000}}}},"components/schemas/ValidateTemplateRequest":{"id":"components/schemas/ValidateTemplateRequest","kind":"json-schema","title":"ValidateTemplateRequest","data":{"type":"object","required":["entityId","content","type"],"properties":{"entityId":{"type":"integer","format":"int64","description":"Merchant/tenant identifier for tenant isolation"},"content":{"type":"string","maxLength":65536,"description":"Liquid template markup to validate"},"type":{"$ref":"#/components/schemas/ReceiptTemplateType"}}}},"components/schemas/ValidateTemplateResponse":{"id":"components/schemas/ValidateTemplateResponse","kind":"json-schema","title":"ValidateTemplateResponse","data":{"type":"object","required":["valid"],"properties":{"valid":{"type":"boolean","description":"Whether the template syntax is valid"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/TemplateValidationError"}},"warnings":{"type":"array","items":{"type":"string"},"description":"Non-fatal issues detected during validation (e.g. unrecognized root-level template variables)"}}}},"components/schemas/TemplateValidationError":{"id":"components/schemas/TemplateValidationError","kind":"json-schema","title":"TemplateValidationError","data":{"type":"object","properties":{"line":{"type":"integer","description":"Line number where the error occurred"},"column":{"type":"integer","description":"Column number where the error occurred"},"message":{"type":"string","description":"Human-readable error description"},"severity":{"type":"string","enum":["ERROR","WARNING"]}}}},"components/schemas/PreviewTemplateRequest":{"id":"components/schemas/PreviewTemplateRequest","kind":"json-schema","title":"PreviewTemplateRequest","data":{"type":"object","required":["entityId"],"properties":{"entityId":{"type":"integer","format":"int64","description":"Merchant/tenant identifier for tenant isolation"},"sampleData":{"type":"object","additionalProperties":true,"description":"Key-value data to populate the template variables.\nIf omitted, the service generates representative sample data\nbased on the template type.\n"}}}},"components/schemas/TemplateResponse":{"id":"components/schemas/TemplateResponse","kind":"json-schema","title":"TemplateResponse","data":{"type":"object","required":["id","entityId","name","type","engineType","content","version","status","isSystem","createdAt","updatedAt"],"properties":{"id":{"type":"string","format":"uuid"},"entityId":{"type":"integer","format":"int64","description":"Merchant/tenant identifier for tenant isolation"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/ReceiptTemplateType"},"engineType":{"type":"string","enum":["LIQUID"],"description":"Template engine used for rendering"},"content":{"type":"string","description":"Full Liquid template markup"},"version":{"type":"integer","minimum":1,"description":"Auto-incremented on each update"},"status":{"$ref":"#/components/schemas/TemplateStatus"},"isSystem":{"type":"boolean","description":"True for built-in system templates, false for merchant-uploaded"},"description":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string","description":"User or system identifier that created the template"}}}},"components/schemas/TemplateSummary":{"id":"components/schemas/TemplateSummary","kind":"json-schema","title":"TemplateSummary","data":{"type":"object","required":["id","name","type","engineType","version","status","isSystem","updatedAt"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/ReceiptTemplateType"},"engineType":{"type":"string","enum":["LIQUID"]},"version":{"type":"integer"},"status":{"$ref":"#/components/schemas/TemplateStatus"},"isSystem":{"type":"boolean"},"description":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"}}}},"components/schemas/TemplateListResponse":{"id":"components/schemas/TemplateListResponse","kind":"json-schema","title":"TemplateListResponse","data":{"type":"object","required":["results","pagination"],"properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/TemplateSummary"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}},"schema_0":{"kind":"json-schema","data":{"type":"integer","format":"int64"},"id":"schema_0"},"schema_1":{"kind":"json-schema","data":{"type":"string","format":"uuid"},"id":"schema_1"},"schema_2":{"kind":"json-schema","data":{"$ref":"#/components/schemas/ReceiptStatus"},"id":"schema_2"},"schema_3":{"kind":"json-schema","data":{"type":"string","format":"date-time"},"id":"schema_3"},"schema_4":{"kind":"json-schema","data":{"type":"integer","minimum":1,"default":1},"id":"schema_4"},"schema_5":{"kind":"json-schema","data":{"type":"integer","minimum":1,"maximum":200,"default":50},"id":"schema_5"},"schema_6":{"kind":"json-schema","data":{"type":"string"},"id":"schema_6"},"schema_7":{"kind":"json-schema","data":{"type":"object","required":["entityId"],"properties":{"entityId":{"type":"integer","format":"int64","description":"Merchant/tenant identifier for tenant isolation"},"emailAddresses":{"type":"array","items":{"type":"string","format":"email"}},"channels":{"type":"array","description":"Delivery channels for this resend. Accepts at most one value (matches server validation).\nOnly EMAIL is currently supported.\n","maxItems":1,"items":{"type":"string","enum":["EMAIL"],"description":"Delivery channel; only EMAIL is supported currently"}}}},"id":"schema_7"},"schema_8":{"kind":"json-schema","data":{"type":"string","format":"binary"},"id":"schema_8"},"schema_9":{"kind":"json-schema","data":{"type":"object","properties":{"Content-Disposition":{"type":"string","example":"attachment; filename=\"RCP-2026-00001.pdf\""}}},"id":"schema_9"},"schema_10":{"kind":"json-schema","data":{"type":"object","required":["entityId"],"properties":{"entityId":{"type":"integer","format":"int64","description":"Merchant/tenant identifier for tenant isolation"},"additionalEmails":{"type":"array","items":{"type":"string","format":"email"}}}},"id":"schema_10"},"schema_11":{"kind":"json-schema","data":{"$ref":"#/components/schemas/ReceiptTemplateType"},"id":"schema_11"},"schema_12":{"kind":"json-schema","data":{"$ref":"#/components/schemas/TemplateStatus"},"id":"schema_12"}},"exampleStore":{"paths/~1/post/requestBody/content/application~1json/examples/invoiceBased":{"value":{"personId":"550e8400-e29b-41d4-a716-446655440012","payment":{"paymentId":"pay_abc123","transactionId":"txn_xyz789","amount":250,"paymentMethod":"CARD","lastFour":"4242","processedAt":"2026-01-20T10:30:00Z"},"invoices":[{"invoiceId":"550e8400-e29b-41d4-a716-446655440060","invoiceNumber":"INV-2026-00001","amountApplied":250}],"sendOptions":{"send":true}},"key":"invoiceBased","summary":"Invoice-based receipt","id":"paths/~1/post/requestBody/content/application~1json/examples/invoiceBased"},"paths/~1/post/requestBody/content/application~1json/examples/paymentOnly":{"value":{"person":{"name":"John Doe","email":"john.doe@example.com"},"payment":{"paymentId":"pay_def456","transactionId":"txn_abc123","amount":50,"paymentMethod":"CARD","lastFour":"1234","processedAt":"2026-01-20T11:00:00Z"},"description":"Processing fee","sendOptions":{"send":true}},"key":"paymentOnly","summary":"Payment-only receipt","id":"paths/~1/post/requestBody/content/application~1json/examples/paymentOnly"},"paths/receiptCreated/post/requestBody/content/application~1json/example":{"value":{"eventType":"receipt.created","sourceApplicationName":"receipt-service","entityId":1350714789,"createDateTime":"2026-01-15T14:32:00.000Z","payload":{"notificationMessageId":"a1b2c3d4-5678-9012-abcd-ef0123456789","status":"Created","additionalProperties":{"receiptId":"550e8400-e29b-41d4-a716-446655440001","receiptNumber":"RCP-2026-00001","paymentId":"pay_001","amount":"450.00"},"tags":{}}},"id":"paths/receiptCreated/post/requestBody/content/application~1json/example"},"paths/receiptSent/post/requestBody/content/application~1json/example":{"value":{"eventType":"receipt.sent","sourceApplicationName":"receipt-service","entityId":1350714789,"createDateTime":"2026-01-15T14:33:00.000Z","payload":{"notificationMessageId":"b2c3d4e5-6789-0123-bcde-f01234567890","status":"Sent","additionalProperties":{"receiptId":"550e8400-e29b-41d4-a716-446655440001","channel":"EMAIL","recipient":"contact@example.com"},"tags":{}}},"id":"paths/receiptSent/post/requestBody/content/application~1json/example"},"paths/receiptSendFailed/post/requestBody/content/application~1json/example":{"value":{"eventType":"receipt.send_failed","sourceApplicationName":"receipt-service","entityId":1350714789,"createDateTime":"2026-01-15T14:33:05.000Z","payload":{"notificationMessageId":"c3d4e5f6-7890-1234-cdef-012345678901","status":"Send Failed","additionalProperties":{"receiptId":"550e8400-e29b-41d4-a716-446655440001","channel":"EMAIL","failureReason":"Invalid email address"},"tags":{}}},"id":"paths/receiptSendFailed/post/requestBody/content/application~1json/example"},"paths/~1config/get/responses/200/content/application~1json/example":{"value":{"responseCode":"A100","responseMessage":"Approved","object":{"id":"550e8400-e29b-41d4-a716-446655440099","entityId":6393980735,"enabled":true,"defaultCurrency":"USD","branding":{"logoUrl":"https://cdn.example.com/logo.png","primaryColor":"#003366","merchantName":"Acme Services"},"receiptNumberFormat":"RCP-{YEAR}{MONTH}-{SEQ}","receiptNumberPrefix":"RCP","minDigits":6,"autoSendOnPayment":true,"defaultSendChannels":["EMAIL"],"createdAt":"2026-01-15T10:00:00Z","updatedAt":"2026-02-20T14:30:00Z"}},"id":"paths/~1config/get/responses/200/content/application~1json/example"},"paths/templateCreated/post/requestBody/content/application~1json/example":{"value":{"eventType":"receipt.template.created","sourceApplicationName":"receipt-service","entityId":1350714789,"createDateTime":"2026-03-01T10:00:00.000Z","payload":{"notificationMessageId":"d1e2f3a4-5678-9012-abcd-ef0123456789","status":"Created","additionalProperties":{"templateId":"550e8400-e29b-41d4-a716-446655440020","templateName":"Custom branded receipt","templateType":"RECEIPT"},"tags":{}}},"id":"paths/templateCreated/post/requestBody/content/application~1json/example"},"paths/templateUpdated/post/requestBody/content/application~1json/example":{"value":{"eventType":"receipt.template.updated","sourceApplicationName":"receipt-service","entityId":1350714789,"createDateTime":"2026-03-01T11:00:00.000Z","payload":{"notificationMessageId":"e2f3a4b5-6789-0123-bcde-f01234567890","status":"Updated","additionalProperties":{"templateId":"550e8400-e29b-41d4-a716-446655440020","version":2},"tags":{}}},"id":"paths/templateUpdated/post/requestBody/content/application~1json/example"},"paths/templateActivated/post/requestBody/content/application~1json/example":{"value":{"eventType":"receipt.template.activated","sourceApplicationName":"receipt-service","entityId":1350714789,"createDateTime":"2026-03-01T12:00:00.000Z","payload":{"notificationMessageId":"f3a4b5c6-7890-1234-cdef-012345678901","status":"Activated","additionalProperties":{"templateId":"550e8400-e29b-41d4-a716-446655440020","templateType":"RECEIPT"},"tags":{}}},"id":"paths/templateActivated/post/requestBody/content/application~1json/example"},"paths/templateArchived/post/requestBody/content/application~1json/example":{"value":{"eventType":"receipt.template.archived","sourceApplicationName":"receipt-service","entityId":1350714789,"createDateTime":"2026-03-02T09:00:00.000Z","payload":{"notificationMessageId":"a4b5c6d7-8901-2345-defa-123456789012","status":"Archived","additionalProperties":{"templateId":"550e8400-e29b-41d4-a716-446655440020"},"tags":{}}},"id":"paths/templateArchived/post/requestBody/content/application~1json/example"},"paths/templateDeleted/post/requestBody/content/application~1json/example":{"value":{"eventType":"receipt.template.deleted","sourceApplicationName":"receipt-service","entityId":1350714789,"createDateTime":"2026-03-03T08:00:00.000Z","payload":{"notificationMessageId":"b5c6d7e8-9012-3456-efab-234567890123","status":"Deleted","additionalProperties":{"templateId":"550e8400-e29b-41d4-a716-446655440020"},"tags":{}}},"id":"paths/templateDeleted/post/requestBody/content/application~1json/example"}},"securitySchemeStore":{"OAuth2":{"id":"OAuth2","type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://auth.nps.com/oauth/authorize","tokenUrl":"https://auth.nps.com/oauth/token","scopes":{}}}}},"servers":[{"url":"/_mock/apis/receipts-service","isMockServer":true,"description":"Mock server"},{"url":"https://api.nelnetpay.com/receipts","description":"Production server"},{"url":"https://api.uat.nelnetpay.com/receipts","description":"Staging server"}],"specType":"openapi"},"options":{"hideSchemaTitles":true,"feedback":{"hide":true,"settings":{"label":""}},"mockServer":{"url":"/_mock/apis/receipts-service","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/apis/receipts-service.json?download"},{"url":"/_bundle/apis/receipts-service.yaml?download"}],"excludeFromSearch":false,"replayFeatures":{"graphql":false},"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Receipt Service API","description":"The Receipt Service generates and delivers branded payment receipts.\n\n## Key Concepts\n\n### Two Receipt Types\n- **Invoice-Based**: Payment applied to one or more invoices\n- **Payment-Only**: Standalone payment (e.g., one-time service fee) with no invoices\n\n### Receipt Generation\n- Branded with merchant configuration using Liquid templates\n- Delivered via email through OSI Push Notification Service\n- MVP: HTML rendering on-demand (PDF generation and S3 storage are post-MVP)\n\n## Error Handling\n\nAll API responses use HTTP status 200. Success and failure are expressed in the NPS response envelope.\n- `responseCode` **A100** indicates success; the payload is in the `object` field when present.\n- `responseCode` values **E4xx** (and **E500**) indicate errors; `responseMessage` carries details.\n- **E422** (**VALIDATION_ERROR**) is returned for standard request validation failures.\n\nAdditional application error codes include **E400_VALIDATION** (request validation failure, for example malformed `entityId`), **E403_ACCESS** (caller lacks permission for the requested resource), and **E403_TENANT** (entity ID is outside the caller's hierarchy).\n\n**Exception to HTTP 200 convention:** Requests with a syntactically invalid `entityId` (non-numeric or negative) receive HTTP 400 with a minimal JSON body (`responseCode: \"E400_VALIDATION\"`) before reaching the application layer. This is enforced by the tenant isolation interceptor and does not use the standard NPS envelope.\n\n**Null field omission:** Success and error responses use `@JsonInclude(NON_NULL)`. Fields with null values (including `object` on void successes and `responseDetails` when absent) are omitted from the JSON response rather than serialized as explicit `null`.\n\n## Authentication Note\n\nOpenAPI security schemes in this specification reference OAuth2 for documentation tooling compatibility.\nIn deployed environments, all service-to-service authentication uses S2S JWT (signed JWTs from the hierarchy key tree).\n"}},"baseSlug":"/apis/receipts-service","routesMapping":{}}