{"openapi":"3.1.0","info":{"title":"Szamlazz REST Proxy","version":"1.0.0","description":"A modern REST proxy over the Számla Agent SDK (`uptools/szamla-agent-sdk` v2.12.3) for\nszamlazz.hu — invoices, receipts, proformas, delivery notes and NAV taxpayer lookups.\n\n### Authentication\n\nEvery business endpoint requires the szamlazz.hu Agent key, supplied either as the\n`X-Szamlazz-Agent-Key` header (preferred) or as `Authorization: Bearer <key>`. Two routes are\nintentionally public: `GET /health` (liveness) and `GET /openapi.json` (this document).\n\n### Response envelope\n\nSuccessful responses (except `GET /openapi.json`, which returns this document verbatim) use\nthe envelope `{ \"success\": true, \"data\": { ... } }`. Failures use\n`{ \"success\": false, \"error\": { \"code\", \"message\", \"httpStatus\", \"details\" } }`, where `code`\nis one of:\n- `MISSING_AGENT_KEY` (401) — no Agent key was supplied.\n- `VALIDATION_ERROR` (422) — the request body/query failed local JSON Schema validation.\n- `SZAMLAZZ_<code>` (422) — szamlazz.hu rejected the request as a business error (e.g. an\n  \"Agent hiba\" reply); `<code>` is the numeric error code szamlazz.hu returned.\n- `SZAMLAZZ_SDK_ERROR` (502) — a transport-level failure talking to szamlazz.hu that could not\n  be classified as a business error.\n- `NOT_FOUND` (404) / `METHOD_NOT_ALLOWED` (405) — routing errors for unknown paths/methods.\n- `INTERNAL_ERROR` (500) — an unclassified server-side failure.\n\nEndpoints that look up an existing document (`GET .../{number}`, `GET .../{number}/pdf`,\n`GET /taxpayers/{taxNumber}`) report a missing or failed lookup the same way any other\nszamlazz.hu business error is reported: `422` with a `SZAMLAZZ_<code>` code, uniformly with\nthe write endpoints.\n"},"servers":[{"url":"/szamlazz-hu/v1","description":"The proxy's single versioned base path."}],"security":[{"AgentKey":[]}],"tags":[{"name":"Health","description":"Liveness probe."},{"name":"Invoices","description":"Create, look up, pay, reverse and export invoices."},{"name":"Receipts","description":"Create, look up, reverse and email receipts."},{"name":"Proformas","description":"Create and delete proforma invoices."},{"name":"DeliveryNotes","description":"Create delivery notes."},{"name":"TaxPayers","description":"Look up a Hungarian taxpayer's NAV registration data."},{"name":"Meta","description":"Machine-readable API metadata."}],"paths":{"/health":{"get":{"operationId":"getHealth","tags":["Health"],"summary":"Liveness check.","security":[],"responses":{"200":{"$ref":"#/components/responses/HealthSuccess"}}}},"/openapi.json":{"get":{"operationId":"getOpenApiSpec","tags":["Meta"],"summary":"This OpenAPI 3.1 document, as JSON.","security":[],"responses":{"200":{"$ref":"#/components/responses/OpenApiDocument"}}}},"/invoices":{"post":{"operationId":"createInvoice","tags":["Invoices"],"summary":"Create a normal invoice.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCreate"}}}},"responses":{"200":{"$ref":"#/components/responses/InvoiceSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/invoices/prepayment":{"post":{"operationId":"createPrepaymentInvoice","tags":["Invoices"],"summary":"Create a prepayment (deposit) invoice.","description":"Uses the same request shape as `POST /invoices`.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCreate"}}}},"responses":{"200":{"$ref":"#/components/responses/InvoiceSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/invoices/final":{"post":{"operationId":"createFinalInvoice","tags":["Invoices"],"summary":"Create a final invoice (settling a prior prepayment invoice).","description":"Uses the same request shape as `POST /invoices`.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCreate"}}}},"responses":{"200":{"$ref":"#/components/responses/InvoiceSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/invoices/corrective":{"post":{"operationId":"createCorrectiveInvoice","tags":["Invoices"],"summary":"Create a corrective invoice against a previously issued invoice.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCorrective"}}}},"responses":{"200":{"$ref":"#/components/responses/InvoiceSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/invoices/reverse":{"post":{"operationId":"reverseInvoice","tags":["Invoices"],"summary":"Issue a reversal (storno) invoice.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceReverse"}}}},"responses":{"200":{"$ref":"#/components/responses/InvoiceSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/invoices/exists":{"get":{"operationId":"invoiceExists","tags":["Invoices"],"summary":"Check whether an invoice with a given external ID already exists.","parameters":[{"$ref":"#/components/parameters/ExternalIdQuery"}],"responses":{"200":{"$ref":"#/components/responses/ExistsSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/invoices/{number}/pdf":{"get":{"operationId":"getInvoicePdf","tags":["Invoices"],"summary":"Fetch an invoice's PDF.","description":"Send `Accept: application/pdf` to receive the raw PDF binary; any other (or absent) Accept header returns the JSON envelope with the PDF as a base64 string.","parameters":[{"$ref":"#/components/parameters/NumberPath"},{"$ref":"#/components/parameters/ByQuery"},{"$ref":"#/components/parameters/AcceptPdfHeader"}],"responses":{"200":{"$ref":"#/components/responses/PdfSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/invoices/{number}/payment":{"post":{"operationId":"payInvoice","tags":["Invoices"],"summary":"Record a payment (credit note) against an invoice.","parameters":[{"$ref":"#/components/parameters/NumberPath"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePayment"}}}},"responses":{"200":{"$ref":"#/components/responses/InvoiceSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/invoices/{number}":{"get":{"operationId":"getInvoice","tags":["Invoices"],"summary":"Look up an invoice's raw data.","parameters":[{"$ref":"#/components/parameters/NumberPath"},{"$ref":"#/components/parameters/ByQuery"}],"responses":{"200":{"$ref":"#/components/responses/RawLookupSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/receipts":{"post":{"operationId":"createReceipt","tags":["Receipts"],"summary":"Create a receipt.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptCreate"}}}},"responses":{"200":{"$ref":"#/components/responses/ReceiptSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/receipts/reverse":{"post":{"operationId":"reverseReceipt","tags":["Receipts"],"summary":"Reverse (storno) a receipt.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptReverse"}}}},"responses":{"200":{"$ref":"#/components/responses/ReceiptSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/receipts/{number}/pdf":{"get":{"operationId":"getReceiptPdf","tags":["Receipts"],"summary":"Fetch a receipt's PDF.","description":"Send `Accept: application/pdf` to receive the raw PDF binary; any other (or absent) Accept header returns the JSON envelope with the PDF as a base64 string.","parameters":[{"$ref":"#/components/parameters/NumberPath"},{"$ref":"#/components/parameters/AcceptPdfHeader"}],"responses":{"200":{"$ref":"#/components/responses/PdfSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/receipts/{number}/send":{"post":{"operationId":"sendReceipt","tags":["Receipts"],"summary":"Email a previously issued receipt to the buyer.","parameters":[{"$ref":"#/components/parameters/NumberPath"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptSend"}}}},"responses":{"200":{"$ref":"#/components/responses/ReceiptSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/receipts/{number}":{"get":{"operationId":"getReceipt","tags":["Receipts"],"summary":"Look up a receipt's raw data.","parameters":[{"$ref":"#/components/parameters/NumberPath"}],"responses":{"200":{"$ref":"#/components/responses/RawLookupSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/proformas":{"post":{"operationId":"createProforma","tags":["Proformas"],"summary":"Create a proforma invoice.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProformaCreate"}}}},"responses":{"200":{"$ref":"#/components/responses/InvoiceSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/proformas/{number}":{"delete":{"operationId":"deleteProforma","tags":["Proformas"],"summary":"Delete a proforma invoice.","parameters":[{"$ref":"#/components/parameters/NumberPath"}],"responses":{"200":{"$ref":"#/components/responses/ProformaDeleteSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/delivery-notes":{"post":{"operationId":"createDeliveryNote","tags":["DeliveryNotes"],"summary":"Create a delivery note.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryNoteCreate"}}}},"responses":{"200":{"$ref":"#/components/responses/InvoiceSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}},"/taxpayers/{taxNumber}":{"get":{"operationId":"getTaxPayer","tags":["TaxPayers"],"summary":"Look up a Hungarian taxpayer's NAV registration data.","parameters":[{"$ref":"#/components/parameters/TaxNumberPath"}],"responses":{"200":{"$ref":"#/components/responses/TaxPayerSuccess"},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"502":{"$ref":"#/components/responses/SdkError"}}}}},"components":{"securitySchemes":{"AgentKey":{"type":"apiKey","in":"header","name":"X-Szamlazz-Agent-Key","description":"The szamlazz.hu Agent key. Alternatively, send it as `Authorization: Bearer <key>`. Required on every route except `GET /health` and `GET /openapi.json`."}},"parameters":{"NumberPath":{"name":"number","in":"path","required":true,"description":"The document number identifying the target invoice, receipt, or proforma (interpretation depends on the route it's used on).","schema":{"type":"string"}},"TaxNumberPath":{"name":"taxNumber","in":"path","required":true,"description":"Hungarian tax number to look up in NAV's registry.","schema":{"type":"string"}},"ByQuery":{"name":"by","in":"query","required":false,"description":"Which kind of identifier `number` represents.","schema":{"type":"string","enum":["documentNumber","orderNumber","externalId"],"default":"documentNumber"}},"ExternalIdQuery":{"name":"externalId","in":"query","required":true,"description":"The external ID to check for existence.","schema":{"type":"string","minLength":1}},"AcceptPdfHeader":{"name":"Accept","in":"header","required":false,"description":"Set to `application/pdf` to receive the raw PDF binary. Any other value (or omitting this header) returns the JSON envelope with a base64-encoded `pdf` field.","schema":{"type":"string","enum":["application/json","application/pdf"],"default":"application/json"}}},"responses":{"HealthSuccess":{"description":"The service is up.","content":{"application/json":{"schema":{"type":"object","required":["success","data"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/HealthResult"}}},"examples":{"ok":{"value":{"success":true,"data":{"status":"ok"}}}}}}},"OpenApiDocument":{"description":"This OpenAPI 3.1 document, verbatim (not wrapped in the success/error envelope).","content":{"application/json":{"schema":{"type":"object","description":"An OpenAPI 3.1 document.","additionalProperties":true}}}},"InvoiceSuccess":{"description":"The invoice operation succeeded.","content":{"application/json":{"schema":{"type":"object","required":["success","data"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/InvoiceResult"}}}}}},"ReceiptSuccess":{"description":"The receipt operation succeeded.","content":{"application/json":{"schema":{"type":"object","required":["success","data"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/ReceiptResult"}}}}}},"ProformaDeleteSuccess":{"description":"The proforma was deleted.","content":{"application/json":{"schema":{"type":"object","required":["success","data"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/ProformaDeleteResult"}}}}}},"ExistsSuccess":{"description":"Existence check result.","content":{"application/json":{"schema":{"type":"object","required":["success","data"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/ExistsResult"}}}}}},"TaxPayerSuccess":{"description":"Taxpayer lookup succeeded.","content":{"application/json":{"schema":{"type":"object","required":["success","data"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/TaxPayerResult"}}}}}},"RawLookupSuccess":{"description":"Document lookup succeeded.","content":{"application/json":{"schema":{"type":"object","required":["success","data"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/RawLookupResult"}}}}}},"PdfSuccess":{"description":"The PDF, either as a base64 string inside the JSON envelope (default, or `Accept: application/json`) or as a raw binary (`Accept: application/pdf`).","content":{"application/json":{"schema":{"type":"object","required":["success","data"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/PdfResult"}}}},"application/pdf":{"schema":{"type":"string","contentMediaType":"application/pdf","format":"binary"}}}},"Unauthorized":{"description":"The `X-Szamlazz-Agent-Key` header (or `Authorization: Bearer`) was missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"missingKey":{"value":{"success":false,"error":{"code":"MISSING_AGENT_KEY","message":"Provide the szamlazz.hu Agent key via the X-Szamlazz-Agent-Key header or Authorization: Bearer.","httpStatus":401,"details":[]}}}}}}},"ValidationError":{"description":"The request failed local JSON Schema validation (`error.code` is `VALIDATION_ERROR`), or szamlazz.hu rejected it as a business error (`error.code` is `SZAMLAZZ_<code>`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"validationError":{"value":{"success":false,"error":{"code":"VALIDATION_ERROR","message":"Request body failed validation.","httpStatus":422,"details":{"errors":[]}}}},"businessError":{"value":{"success":false,"error":{"code":"SZAMLAZZ_3","message":"Sikertelen bejelentkezés.","httpStatus":422,"details":[]}}}}}}},"SdkError":{"description":"An upstream transport failure talking to szamlazz.hu that could not be classified as a business error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"sdkError":{"value":{"success":false,"error":{"code":"SZAMLAZZ_SDK_ERROR","message":"Sikertelen kapcsolódás","httpStatus":502,"details":[]}}}}}}}},"schemas":{"ErrorEnvelope":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message","httpStatus","details"],"properties":{"code":{"type":"string","examples":["VALIDATION_ERROR","SZAMLAZZ_3","SZAMLAZZ_SDK_ERROR","MISSING_AGENT_KEY","NOT_FOUND","METHOD_NOT_ALLOWED","INTERNAL_ERROR"]},"message":{"type":"string"},"httpStatus":{"type":"integer"},"details":{"type":"object","additionalProperties":true}}}}},"Buyer":{"type":"object","required":["name","zipCode","city","address"],"properties":{"name":{"type":"string","minLength":1},"zipCode":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"address":{"type":"string","minLength":1},"email":{"type":"string"},"sendEmail":{"type":"boolean"},"taxNumber":{"type":"string"},"taxNumberEU":{"type":"string"},"phone":{"type":"string"},"comment":{"type":"string"}}},"BuyerOptional":{"description":"Same shape as Buyer, but with none of its fields required (used by ReceiptCreate).","type":"object","properties":{"name":{"type":"string"},"zipCode":{"type":"string"},"city":{"type":"string"},"address":{"type":"string"},"email":{"type":"string"},"sendEmail":{"type":"boolean"},"taxNumber":{"type":"string"},"taxNumberEU":{"type":"string"},"phone":{"type":"string"},"comment":{"type":"string"}}},"BuyerEmailOnly":{"description":"A minimal buyer reference carrying only an email (used by reverse operations).","type":"object","properties":{"email":{"type":"string"}}},"BuyerEmailRequired":{"description":"A buyer reference with a required email (used by ReceiptSend).","type":"object","required":["email"],"properties":{"email":{"type":"string","minLength":1}}},"Seller":{"type":"object","properties":{"bank":{"type":"string"},"bankAccount":{"type":"string"},"emailReplyTo":{"type":"string"},"emailSubject":{"type":"string"},"emailContent":{"type":"string"},"signatoryName":{"type":"string"}}},"SellerEmailOnly":{"description":"A reduced seller override carrying only email-notification fields (used by reverse/send operations).","type":"object","properties":{"emailReplyTo":{"type":"string"},"emailSubject":{"type":"string"},"emailContent":{"type":"string"}}},"InvoiceHeader":{"type":"object","properties":{"paymentMethod":{"type":"string"},"currency":{"type":"string"},"language":{"type":"string"},"issueDate":{"type":"string","format":"date"},"fulfillment":{"type":"string","format":"date"},"paymentDue":{"type":"string","format":"date"},"comment":{"type":"string"},"invoiceTemplate":{"type":"string"},"prefix":{"type":"string"}}},"InvoiceReverseHeader":{"description":"The reduced header accepted by InvoiceReverse (no payment/currency/prefix fields).","type":"object","properties":{"issueDate":{"type":"string","format":"date"},"fulfillment":{"type":"string","format":"date"},"comment":{"type":"string"},"invoiceTemplate":{"type":"string"}}},"ReceiptHeader":{"type":"object","required":["prefix"],"properties":{"receiptNumber":{"type":"string"},"paymentMethod":{"type":"string"},"currency":{"type":"string"},"prefix":{"type":"string","minLength":1},"comment":{"type":"string"}}},"InvoiceItem":{"type":"object","required":["name","netUnitPrice","netPrice","vatAmount","grossAmount"],"properties":{"name":{"type":"string","minLength":1},"netUnitPrice":{"type":"number"},"quantity":{"type":"number"},"quantityUnit":{"type":"string"},"vat":{"type":["string","number"],"description":"A VAT rate/percentage, or a VAT-exemption code string (e.g. \"AAM\", \"TAM\")."},"netPrice":{"type":"number"},"vatAmount":{"type":"number"},"grossAmount":{"type":"number"},"comment":{"type":"string"}}},"Waybill":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["mpl","ppp","sprinter","transoflex","generic"]},"destination":{"type":"string"},"barcode":{"type":"string"},"comment":{"type":"string"},"carrier":{"type":"string"},"buyerCode":{"type":"string"},"weight":{"type":"string"},"service":{"type":"string"},"insuredValue":{"type":"number"},"barcodePrefix":{"type":"string"},"barcodePostfix":{"type":"string"},"id":{"type":"string"},"senderId":{"type":"string"},"shipmentZip":{"type":"string"},"packetNumber":{"type":"integer"},"shippingTime":{"type":"string"},"shippingId":{"type":"string"},"countryCode":{"type":"string"},"zip":{"type":"string"}}},"CreditNote":{"type":"object","required":["date","amount"],"properties":{"date":{"type":"string","format":"date"},"amount":{"type":"number"},"paymentMethod":{"type":"string"},"description":{"type":"string"}}},"InvoiceCreate":{"type":"object","additionalProperties":true,"required":["buyer","items"],"properties":{"invoiceType":{"type":"string","enum":["paper","electronic"]},"downloadPdf":{"type":"boolean"},"externalId":{"type":"string","minLength":1},"orderNumber":{"type":"string"},"header":{"$ref":"#/components/schemas/InvoiceHeader"},"seller":{"$ref":"#/components/schemas/Seller"},"buyer":{"$ref":"#/components/schemas/Buyer"},"waybill":{"$ref":"#/components/schemas/Waybill"},"items":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/InvoiceItem"}}}},"InvoiceCorrective":{"type":"object","additionalProperties":true,"required":["buyer","items"],"properties":{"invoiceType":{"type":"string","enum":["paper","electronic"]},"downloadPdf":{"type":"boolean"},"externalId":{"type":"string","minLength":1},"orderNumber":{"type":"string"},"correctedInvoiceNumber":{"type":"string","minLength":1},"header":{"$ref":"#/components/schemas/InvoiceHeader"},"seller":{"$ref":"#/components/schemas/Seller"},"buyer":{"$ref":"#/components/schemas/Buyer"},"items":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/InvoiceItem"}}}},"InvoiceReverse":{"type":"object","additionalProperties":true,"required":["invoiceNumber"],"properties":{"invoiceNumber":{"type":"string","minLength":1,"description":"invoiceNumber is required; it identifies the invoice to reverse."},"invoiceType":{"type":"string","enum":["paper","electronic"]},"header":{"$ref":"#/components/schemas/InvoiceReverseHeader"},"seller":{"$ref":"#/components/schemas/SellerEmailOnly"},"buyer":{"$ref":"#/components/schemas/BuyerEmailOnly"}}},"InvoicePayment":{"type":"object","additionalProperties":true,"required":["invoiceNumber","creditNotes"],"properties":{"invoiceNumber":{"type":"string","minLength":1,"description":"Populated automatically from the `{number}` path parameter before validation — any value sent in the body is overwritten, so it may be omitted by callers. Listed here (and required, per the underlying JSON Schema) purely for schema fidelity."},"additive":{"type":"boolean"},"creditNotes":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/CreditNote"}}}},"ReceiptCreate":{"type":"object","additionalProperties":true,"required":["header","items"],"properties":{"orderNumber":{"type":"string"},"header":{"$ref":"#/components/schemas/ReceiptHeader"},"seller":{"$ref":"#/components/schemas/Seller"},"buyer":{"$ref":"#/components/schemas/BuyerOptional"},"items":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/InvoiceItem"}}}},"ReceiptReverse":{"type":"object","additionalProperties":true,"required":["receiptNumber"],"properties":{"receiptNumber":{"type":"string","minLength":1},"seller":{"$ref":"#/components/schemas/SellerEmailOnly"},"buyer":{"$ref":"#/components/schemas/BuyerEmailOnly"}}},"ReceiptSend":{"type":"object","additionalProperties":true,"required":["receiptNumber","buyer"],"properties":{"receiptNumber":{"type":"string","minLength":1,"description":"Populated automatically from the `{number}` path parameter before validation — any value sent in the body is overwritten, so it may be omitted by callers. Listed here (and required, per the underlying JSON Schema) purely for schema fidelity."},"buyer":{"$ref":"#/components/schemas/BuyerEmailRequired"},"seller":{"$ref":"#/components/schemas/SellerEmailOnly"}}},"ProformaCreate":{"type":"object","additionalProperties":true,"required":["buyer","items"],"properties":{"orderNumber":{"type":"string"},"header":{"$ref":"#/components/schemas/InvoiceHeader"},"seller":{"$ref":"#/components/schemas/Seller"},"buyer":{"$ref":"#/components/schemas/Buyer"},"items":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/InvoiceItem"}}}},"DeliveryNoteCreate":{"type":"object","additionalProperties":true,"required":["buyer","items"],"properties":{"orderNumber":{"type":"string"},"header":{"$ref":"#/components/schemas/InvoiceHeader"},"seller":{"$ref":"#/components/schemas/Seller"},"buyer":{"$ref":"#/components/schemas/Buyer"},"items":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/InvoiceItem"}}}},"HealthResult":{"type":"object","required":["status"],"properties":{"status":{"type":"string","const":"ok"}}},"InvoiceResult":{"type":"object","properties":{"documentNumber":{"type":["string","null"]},"invoiceIdentifier":{"type":["string","null"]},"netPrice":{"type":["number","null"]},"grossAmount":{"type":["number","null"]},"outstandingAmount":{"type":["number","null"]},"userAccountUrl":{"type":["string","null"]},"pdf":{"type":["string","null"],"description":"Base64-encoded PDF, present when `downloadPdf` was requested."}}},"ReceiptResult":{"type":"object","properties":{"documentNumber":{"type":["string","null"]},"receiptNumber":{"type":["string","null"]},"orderNumber":{"type":["string","null"]},"pdf":{"type":["string","null"]},"amounts":{"type":["object","array","null"],"description":"Raw amounts breakdown as returned by the szamlazz.hu SDK; shape may vary."},"items":{"type":["object","array","null"],"description":"Raw item list as returned by the szamlazz.hu SDK; shape may vary."}}},"ProformaDeleteResult":{"type":"object","properties":{"documentNumber":{"type":"string"},"proformaNumber":{"type":"string"}}},"ExistsResult":{"type":"object","required":["exists"],"properties":{"exists":{"type":"boolean"}}},"TaxPayerResult":{"type":"object","properties":{"taxNumber":{"type":"string"},"raw":{"type":"string","description":"The raw NAV taxpayer XML response body, unparsed."}}},"RawLookupResult":{"type":"object","properties":{"documentNumber":{"type":"string"},"raw":{"description":"The raw parsed data for the document, as returned by the szamlazz.hu SDK; shape varies by document type."}}},"PdfResult":{"type":"object","properties":{"documentNumber":{"type":"string"},"pdf":{"type":["string","null"],"description":"Base64-encoded PDF content, or null if unavailable."}}}}}}