{"openapi":"3.1.0","info":{"title":"InvoiceSpec API","description":"Generate and validate e-invoice documents against the XRechnung, EN 16931, and ZUGFeRD (Factur-X) specifications. Every endpoint requires a Bearer API key (Authorization: Bearer isk_...). Generation endpoints accept a structured JSON invoice and return a standards-compliant XML (CII/UBL) or PDF/A-3 document; validation endpoints accept an uploaded document and return a JSON validation report. This document is generated from the live controllers and is intended for client generation and Postman/Insomnia import — the interactive API Reference at /docs/api-reference remains the primary reading experience.","contact":{"name":"InvoiceSpec","url":"https://invoicespec.dev"},"license":{"name":"Proprietary"},"version":"v1"},"servers":[{"url":"/","description":"InvoiceSpec engine"}],"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"e-invoice-controller","description":"Invoice generation and validation endpoints for the XRechnung, EN 16931, and ZUGFeRD specifications."}],"paths":{"/v1/invoice/zugferd":{"post":{"tags":["e-invoice-controller"],"summary":"Generate a ZUGFeRD PDF/A-3 document with embedded EN 16931 CII XML","description":"Generates a ZUGFeRD PDF/A-3 document with embedded EN 16931 CII XML from a structured JSON invoice. The pipeline reuses the EN 16931 CII mapper + marshaller + KoSIT validator, then renders a styled, human-readable invoice page and embeds the validated CII XML into a PDF/A-3 container. When config.spec is omitted it defaults to zugferd. The config.syntax field should be CII (ZUGFeRD embeds CII XML).","operationId":"createZugferdInvoice","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceRequestDto"}}},"required":true},"responses":{"200":{"description":"The generated ZUGFeRD PDF/A-3 document","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid request body (INVALID_INPUT)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Generated document failed validation (VALIDATION_FAILED / PDF_A3_VALIDATION_FAILED)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Insufficient credits (INSUFFICIENT_CREDITS)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal engine failure (GENERATION_FAILED / INTERNAL_ERROR)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Request rate limit exceeded (RATE_LIMIT_EXCEEDED). Slow down and retry after the Retry-After header. Includes RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, and Retry-After headers. No invoice work or credit charge.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Rate limit configuration unavailable (RATE_LIMIT_CONFIGURATION_UNAVAILABLE). No invoice work or credit charge; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/invoice/zugferd/validate":{"post":{"tags":["e-invoice-controller"],"summary":"Validate a ZUGFeRD PDF/A-3 document","description":"Validates an uploaded ZUGFeRD PDF/A-3 document. Validation is performed by the Mustang validator (not KoSIT) — it extracts the embedded CII XML from the PDF/A-3, checks PDF/A-3 conformance, and validates the XML against the ZUGFeRD profile rules. The request part must contain a JSON object with an optional 'version' property. HTTP 200 means validation completed — the 'valid' field indicates whether the document passed.","operationId":"validateZugferdInvoice","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"request":{"$ref":"#/components/schemas/XRechnungValidationRequest"}},"required":["file","request"]}}}},"responses":{"429":{"description":"Request rate limit exceeded (RATE_LIMIT_EXCEEDED). Slow down and retry after the Retry-After header. Includes RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, and Retry-After headers. No invoice work or credit charge.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Rate limit configuration unavailable (RATE_LIMIT_CONFIGURATION_UNAVAILABLE). No invoice work or credit charge; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Validation completed (check 'valid' for pass/fail)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/XRechnungValidationResponse"}}}},"400":{"description":"Request-level error (missing part, malformed JSON/PDF, unsupported version)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal validation engine failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/invoice/xrechnung":{"post":{"tags":["e-invoice-controller"],"summary":"Generate an XRechnung XML document","description":"Generates a standards-compliant XRechnung XML document (CII or UBL syntax) from a structured JSON invoice. Derived fields are populated per the config calculation mode. The generated XML is validated by the official KoSIT validator before return. When config.spec is omitted it defaults to xrechnung.","operationId":"createXRechnungInvoice","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceRequestDto"}}},"required":true},"responses":{"200":{"description":"The generated XRechnung XML document","content":{"application/xml":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid request body (INVALID_INPUT)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Generated document failed validation (VALIDATION_FAILED)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Insufficient credits (INSUFFICIENT_CREDITS)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal engine failure (GENERATION_FAILED / INTERNAL_ERROR)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Request rate limit exceeded (RATE_LIMIT_EXCEEDED). Slow down and retry after the Retry-After header. Includes RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, and Retry-After headers. No invoice work or credit charge.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Rate limit configuration unavailable (RATE_LIMIT_CONFIGURATION_UNAVAILABLE). No invoice work or credit charge; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/invoice/xrechnung/validate":{"post":{"tags":["e-invoice-controller"],"summary":"Validate an XRechnung XML document","description":"Validates an uploaded XRechnung XML document against the official KoSIT validation rules. The request part must contain a JSON object with an optional 'version' property. When version is omitted or null, the latest active validation package matching the detected XML syntax is selected. Syntax (UBL/CII) is detected from the XML root element and namespace. HTTP 200 means validation completed successfully — the 'valid' field indicates whether the invoice passed. Warning findings do not make the invoice invalid. Issue locations are optional.","operationId":"validateXRechnungInvoice","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"request":{"$ref":"#/components/schemas/XRechnungValidationRequest"}},"required":["file","request"]}}}},"responses":{"429":{"description":"Request rate limit exceeded (RATE_LIMIT_EXCEEDED). Slow down and retry after the Retry-After header. Includes RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, and Retry-After headers. No invoice work or credit charge.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Request-level error (missing part, malformed JSON, unsupported version)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Rate limit configuration unavailable (RATE_LIMIT_CONFIGURATION_UNAVAILABLE). No invoice work or credit charge; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Validation completed (check 'valid' for pass/fail)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/XRechnungValidationResponse"}}}},"500":{"description":"Internal validation engine failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/invoice/en16931":{"post":{"tags":["e-invoice-controller"],"summary":"Generate an EN 16931 XML document (CII or UBL)","description":"Generates a standards-compliant EN 16931 XML document (CII or UBL syntax) from a structured JSON invoice. Sister endpoint to /v1/invoice/xrechnung; the only difference is the default specification. When config.spec is omitted it defaults to en16931. The config.syntax field (CII or UBL) selects the output syntax. The generated XML is validated by the KoSIT validator against the EN16931 validation package before return.","operationId":"createEn16931Invoice","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceRequestDto"}}},"required":true},"responses":{"200":{"description":"The generated EN 16931 XML document","content":{"application/xml":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid request body (INVALID_INPUT)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Generated document failed validation (VALIDATION_FAILED)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Insufficient credits (INSUFFICIENT_CREDITS)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal engine failure (GENERATION_FAILED / INTERNAL_ERROR)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Request rate limit exceeded (RATE_LIMIT_EXCEEDED). Slow down and retry after the Retry-After header. Includes RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, and Retry-After headers. No invoice work or credit charge.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Rate limit configuration unavailable (RATE_LIMIT_CONFIGURATION_UNAVAILABLE). No invoice work or credit charge; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/invoice/en16931/validate":{"post":{"tags":["e-invoice-controller"],"summary":"Validate an EN 16931 XML document (CII or UBL)","description":"Validates an uploaded EN 16931 XML document (CII or UBL) against the official KoSIT validation rules. Sister endpoint to /v1/invoice/xrechnung/validate; the only difference is the spec resolved from the URL path (EN16931). The KoSIT validator auto-detects the syntax (CII/UBL) from the document's root element and namespace. The request part must contain a JSON object with an optional 'version' property. HTTP 200 means validation completed — the 'valid' field indicates whether the invoice passed.","operationId":"validateEn16931Invoice","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"request":{"$ref":"#/components/schemas/XRechnungValidationRequest"}},"required":["file","request"]}}}},"responses":{"429":{"description":"Request rate limit exceeded (RATE_LIMIT_EXCEEDED). Slow down and retry after the Retry-After header. Includes RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, and Retry-After headers. No invoice work or credit charge.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Request-level error (missing part, malformed JSON, unsupported version)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Rate limit configuration unavailable (RATE_LIMIT_CONFIGURATION_UNAVAILABLE). No invoice work or credit charge; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Validation completed (check 'valid' for pass/fail)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/XRechnungValidationResponse"}}}},"500":{"description":"Internal validation engine failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"components":{"schemas":{"ErrorDetail":{"type":"object","properties":{"code":{"type":"string"},"field":{"type":"string"},"businessTerm":{"type":"string"},"rejectedValue":{"type":"object"},"message":{"type":"string"}}},"ErrorResponse":{"type":"object","properties":{"requestId":{"type":"string"},"status":{"type":"string"},"errorCode":{"type":"string"},"message":{"type":"string"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetail"}}}},"AdditionalSupportingDocumentDto":{"type":"object","properties":{"reference":{"type":"string"},"description":{"type":"string"},"externalLocation":{"type":"string"},"attachedDocument":{"type":"string"},"attachedDocumentMimeType":{"type":"string"}}},"BuyerContactDto":{"type":"object","properties":{"contactPoint":{"type":"string"},"telephone":{"type":"string"},"email":{"type":"string"}}},"BuyerDto":{"type":"object","properties":{"name":{"type":"string"},"tradingName":{"type":"string"},"identifier":{"type":"string"},"legalRegistrationIdentifier":{"type":"string"},"vatIdentifier":{"type":"string"},"electronicAddress":{"type":"string"},"electronicAddressSchemeId":{"type":"string"},"postalAddress":{"$ref":"#/components/schemas/BuyerPostalAddressDto"},"contact":{"$ref":"#/components/schemas/BuyerContactDto"}},"required":["name"]},"BuyerPostalAddressDto":{"type":"object","properties":{"addressLine1":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"addressLine2":{"type":"string"},"addressLine3":{"type":"string"},"postcode":{"type":"string"},"countrySubdivision":{"type":"string"}},"required":["addressLine1","city","countryCode"]},"CreditTransferDto":{"type":"object","properties":{"accountIdentifier":{"type":"string"},"accountName":{"type":"string"},"serviceProviderIdentifier":{"type":"string"}},"required":["accountIdentifier"]},"DeliveryAddressDto":{"type":"object","properties":{"addressLine1":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"addressLine2":{"type":"string"},"addressLine3":{"type":"string"},"postcode":{"type":"string"},"countrySubdivision":{"type":"string"}},"required":["addressLine1","city","countryCode"]},"DeliveryInformationDto":{"type":"object","properties":{"partyName":{"type":"string"},"locationIdentifier":{"type":"string"},"actualDeliveryDate":{"type":"string","format":"date"},"address":{"$ref":"#/components/schemas/DeliveryAddressDto"}}},"DirectDebitDto":{"type":"object","properties":{"mandateReferenceIdentifier":{"type":"string"},"debtorAccountIdentifier":{"type":"string"},"creditorIdentifier":{"type":"string"}},"required":["mandateReferenceIdentifier"]},"DocumentLevelAllowanceDto":{"type":"object","properties":{"amount":{"type":"number"},"percentage":{"type":"number"},"baseAmount":{"type":"number"},"vatCategoryCode":{"type":"string"},"vatRate":{"type":"number"},"reason":{"type":"string"},"reasonCode":{"type":"string"}}},"DocumentLevelChargeDto":{"type":"object","properties":{"amount":{"type":"number"},"percentage":{"type":"number"},"baseAmount":{"type":"number"},"vatCategoryCode":{"type":"string"},"vatRate":{"type":"number"},"reason":{"type":"string"},"reasonCode":{"type":"string"}}},"DocumentTotalsDto":{"type":"object","properties":{"lineExtensionAmount":{"type":"number"},"allowanceTotalAmount":{"type":"number"},"chargeTotalAmount":{"type":"number"},"taxExclusiveAmount":{"type":"number"},"taxInclusiveAmount":{"type":"number"},"prepaidAmount":{"type":"number"},"payableRoundingAmount":{"type":"number"},"payableAmount":{"type":"number"}}},"GenerationConfigDto":{"type":"object","properties":{"spec":{"type":"string"},"syntax":{"type":"string"},"version":{"type":"string"},"profile":{"type":"string"},"metadataLanguage":{"type":"string","default":"en","description":"Language of the engine-authored PDF presentation chrome (labels, headers, footer strings, date format). ISO 639-1 two-letter code, case-insensitive (\"en\", \"de\", \"DE\", \"De\"). Defaults to \"en\" when omitted. PDF-only — rejected with 400 INVALID_INPUT on the XML generation endpoints (xrechnung, en16931). Unsupported codes and BCP 47 region subtags (e.g. \"de-DE\", \"fr\", \"xx\") are rejected with 400. The engine does not translate user-supplied invoice content.","enum":["en","de"],"example":"de"}},"required":["syntax"]},"InvoiceDto":{"type":"object","properties":{"invoiceNumber":{"type":"string"},"issueDate":{"type":"string","format":"date"},"invoiceTypeCode":{"type":"string"},"currencyCode":{"type":"string"},"seller":{"$ref":"#/components/schemas/SellerDto"},"buyer":{"$ref":"#/components/schemas/BuyerDto"},"paymentInstructions":{"$ref":"#/components/schemas/PaymentInstructionsDto"},"documentTotals":{"$ref":"#/components/schemas/DocumentTotalsDto"},"vatBreakdowns":{"type":"array","items":{"$ref":"#/components/schemas/VatBreakdownDto"}},"invoiceLines":{"type":"array","items":{"$ref":"#/components/schemas/InvoiceLineDto"}},"invoiceSubType":{"type":"string"},"valueAddedTaxPointDate":{"type":"string","format":"date"},"invoiceCurrencyCode":{"type":"string"},"vatAccountingCurrencyCode":{"type":"string"},"buyerReference":{"type":"string"},"projectReference":{"type":"string"},"contractReference":{"type":"string"},"purchaseOrderReference":{"type":"string"},"salesOrderReference":{"type":"string"},"despatchAdviceReference":{"type":"string"},"receivingAdviceReference":{"type":"string"},"tenderOrLotReference":{"type":"string"},"invoicedObjectIdentifier":{"type":"string"},"paymentTerms":{"type":"string"},"invoiceNote":{"type":"string"},"processControl":{"$ref":"#/components/schemas/ProcessControlDto"},"precedingInvoiceReference":{"$ref":"#/components/schemas/PrecedingInvoiceReferenceDto"},"payee":{"$ref":"#/components/schemas/PayeeDto"},"sellerTaxRepresentativeParty":{"$ref":"#/components/schemas/SellerTaxRepresentativePartyDto"},"deliveryInformation":{"$ref":"#/components/schemas/DeliveryInformationDto"},"invoicingPeriod":{"$ref":"#/components/schemas/InvoicingPeriodDto"},"documentLevelAllowances":{"type":"array","items":{"$ref":"#/components/schemas/DocumentLevelAllowanceDto"}},"documentLevelCharges":{"type":"array","items":{"$ref":"#/components/schemas/DocumentLevelChargeDto"}},"additionalSupportingDocuments":{"type":"array","items":{"$ref":"#/components/schemas/AdditionalSupportingDocumentDto"}}},"required":["buyer","currencyCode","documentTotals","invoiceLines","invoiceNumber","invoiceTypeCode","issueDate","paymentInstructions","seller","vatBreakdowns"]},"InvoiceLineAllowanceDto":{"type":"object","properties":{"amount":{"type":"number"},"percentage":{"type":"number"},"baseAmount":{"type":"number"},"reason":{"type":"string"},"reasonCode":{"type":"string"}}},"InvoiceLineChargeDto":{"type":"object","properties":{"amount":{"type":"number"},"percentage":{"type":"number"},"baseAmount":{"type":"number"},"reason":{"type":"string"},"reasonCode":{"type":"string"}}},"InvoiceLineDto":{"type":"object","properties":{"lineIdentifier":{"type":"string"},"note":{"type":"string"},"quantity":{"type":"number"},"unitCode":{"type":"string"},"netAmount":{"type":"number"},"referencedPurchaseOrderLine":{"type":"string"},"buyerAccountingReference":{"type":"string"},"invoiceLinePeriod":{"$ref":"#/components/schemas/InvoiceLinePeriodDto"},"invoiceLineAllowances":{"type":"array","items":{"$ref":"#/components/schemas/InvoiceLineAllowanceDto"}},"invoiceLineCharges":{"type":"array","items":{"$ref":"#/components/schemas/InvoiceLineChargeDto"}},"priceDetails":{"$ref":"#/components/schemas/PriceDetailsDto"},"lineVatInformation":{"$ref":"#/components/schemas/LineVatInformationDto"},"itemInformation":{"$ref":"#/components/schemas/ItemInformationDto"}},"required":["itemInformation","lineIdentifier"]},"InvoiceLinePeriodDto":{"type":"object","properties":{"startDate":{"type":"string","format":"date"},"endDate":{"type":"string","format":"date"}}},"InvoiceRequestDto":{"type":"object","properties":{"invoice":{"$ref":"#/components/schemas/InvoiceDto"},"config":{"$ref":"#/components/schemas/GenerationConfigDto"}},"required":["config","invoice"]},"InvoicingPeriodDto":{"type":"object","properties":{"startDate":{"type":"string","format":"date"},"endDate":{"type":"string","format":"date"}}},"ItemAttributeDto":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}},"ItemInformationDto":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"sellersIdentifier":{"type":"string"},"buyersIdentifier":{"type":"string"},"standardIdentifier":{"type":"string"},"classifiedIdentifier":{"type":"string"},"countryOfOrigin":{"type":"string"},"itemAttributes":{"type":"array","items":{"$ref":"#/components/schemas/ItemAttributeDto"}}},"required":["name"]},"LineVatInformationDto":{"type":"object","properties":{"vatCategoryCode":{"type":"string"},"vatRate":{"type":"number"}},"required":["vatCategoryCode","vatRate"]},"PayeeDto":{"type":"object","properties":{"name":{"type":"string"},"identifier":{"type":"string"},"legalRegistrationIdentifier":{"type":"string"}},"required":["name"]},"PaymentCardInformationDto":{"type":"object","properties":{"primaryAccountNumber":{"type":"string"},"cardHolderName":{"type":"string"}}},"PaymentInstructionsDto":{"type":"object","properties":{"meansCode":{"type":"string"},"meansText":{"type":"string"},"remittanceInformation":{"type":"string"},"creditTransfer":{"$ref":"#/components/schemas/CreditTransferDto"},"paymentCardInformation":{"$ref":"#/components/schemas/PaymentCardInformationDto"},"directDebit":{"$ref":"#/components/schemas/DirectDebitDto"}},"required":["meansCode"]},"PrecedingInvoiceReferenceDto":{"type":"object","properties":{"documentReference":{"type":"string"},"issueDate":{"type":"string","format":"date"}},"required":["documentReference"]},"PriceDetailsDto":{"type":"object","properties":{"netPrice":{"type":"number"},"grossPrice":{"type":"number"},"priceBasisQuantity":{"type":"number"},"basisUnitCode":{"type":"string"}}},"ProcessControlDto":{"type":"object","properties":{"businessProcessType":{"type":"string"},"specificationIdentifier":{"type":"string"}}},"SellerContactDto":{"type":"object","properties":{"contactPoint":{"type":"string"},"telephone":{"type":"string"},"email":{"type":"string"}},"required":["contactPoint"]},"SellerDto":{"type":"object","properties":{"name":{"type":"string"},"tradingName":{"type":"string"},"identifier":{"type":"string"},"legalRegistrationIdentifier":{"type":"string"},"vatIdentifier":{"type":"string"},"taxRegistrationIdentifier":{"type":"string"},"electronicAddress":{"type":"string"},"electronicAddressSchemeId":{"type":"string"},"postalAddress":{"$ref":"#/components/schemas/SellerPostalAddressDto"},"contact":{"$ref":"#/components/schemas/SellerContactDto"}},"required":["name"]},"SellerPostalAddressDto":{"type":"object","properties":{"addressLine1":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"addressLine2":{"type":"string"},"addressLine3":{"type":"string"},"postcode":{"type":"string"},"countrySubdivision":{"type":"string"}},"required":["addressLine1","city","countryCode"]},"SellerTaxRepresentativePartyDto":{"type":"object","properties":{"name":{"type":"string"},"vatIdentifier":{"type":"string"},"postalAddress":{"$ref":"#/components/schemas/SellerTaxRepresentativePostalAddressDto"}},"required":["name"]},"SellerTaxRepresentativePostalAddressDto":{"type":"object","properties":{"addressLine1":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"addressLine2":{"type":"string"},"addressLine3":{"type":"string"},"postcode":{"type":"string"},"countrySubdivision":{"type":"string"}},"required":["addressLine1","city","countryCode"]},"VatBreakdownDto":{"type":"object","properties":{"vatCategoryTaxableAmount":{"type":"number"},"vatCategoryTaxAmount":{"type":"number"},"vatCategoryCode":{"type":"string"},"vatCategoryRate":{"type":"number"},"exemptionReason":{"type":"string"},"exemptionReasonCode":{"type":"string"}},"required":["vatCategoryCode","vatCategoryRate"]},"XRechnungValidationRequest":{"type":"object","description":"JSON request part for the XRechnung validation endpoint","properties":{"version":{"type":"string","description":"Optional XRechnung version. When omitted or null, the latest active validation package matching the detected XML syntax is selected from the existing YAML configuration.","example":"3.0.2"}}},"ValidationLocation":{"type":"object","properties":{"xpath":{"type":"string"},"line":{"type":"integer","format":"int32"},"column":{"type":"integer","format":"int32"}}},"ValidationSummary":{"type":"object","properties":{"errors":{"type":"integer","format":"int32"},"warnings":{"type":"integer","format":"int32"}}},"XRechnungValidationIssue":{"type":"object","properties":{"severity":{"type":"string","enum":["ERROR","WARNING"]},"code":{"type":"string"},"message":{"type":"string"},"location":{"$ref":"#/components/schemas/ValidationLocation"}}},"XRechnungValidationResponse":{"type":"object","properties":{"valid":{"type":"boolean"},"version":{"type":"string"},"syntax":{"type":"string","enum":["CII","UBL"]},"summary":{"$ref":"#/components/schemas/ValidationSummary"},"issues":{"type":"array","items":{"$ref":"#/components/schemas/XRechnungValidationIssue"}},"requestId":{"type":"string"}}}},"securitySchemes":{"ApiKeyAuth":{"type":"http","description":"Authorization: Bearer isk_<env>_<keyId>.<secret>","scheme":"bearer","bearerFormat":"API key"}}}}