Target catalogue
Every target the API can execute, with the release it is pinned to, the document roots it accepts, the layers it runs and what it deliberately does not check.
29 targets. Each id is frozen: it names a specific rule-set release and always will. A new release gets a new id and the old one is deprecated; an id is never quietly re-pointed, because a caller who validated against a release in January must get that release in December.
There is no latest alias, no automatic country detection and no profile guessing. The catalogue below is also available over HTTP, filtered to what your key may use:
curl https://edocumenttools.com/api/v1/targets \
-H "Authorization: Bearer $EDOCUMENT_API_KEY"Generic UBL and EN 16931
No national rules. Use these when the document is not addressed to a specific country scheme, or when you want to separate a schema problem from a semantic one.
Stated by every Generic UBL and EN 16931 target:
- Local technical validation only. No authority acceptance is established.
ubl-2.1-syntaxUBL 2.1 — XML Schema- Release
- 2.1
- Upload
- xml · max 12 MiB
- Document roots
- Invoice, CreditNote
- Layers
- XSD
- Schema conformance only. No EN 16931 business rules are run.
en16931-1.3.16-ubl-2.1EN 16931 1.3.16 — UBL 2.1- Release
- 1.3.16
- Upload
- xml · max 12 MiB
- Document roots
- Invoice, CreditNote
- Layers
- XSD → EN16931
- The European semantic rules only. No national rule set is applied.
France
The FNFE-MPE France_RFE release, including the EXTENDED-CTC-FR profile and the BR-FR national rules. Technical validation only: this is not acceptance by a PDP, the DGFiP or Chorus Pro.
Stated by every France target:
- Technical rule validation only. Not acceptance by a PDP, the DGFiP or Chorus Pro.
- Local technical validation only. No authority acceptance is established.
france-rfe-1.4.0.04-en16931-ubl-2.1France — EN 16931 (UBL 2.1)- Release
- 1.4.0.04
- Upload
- xml · max 12 MiB
- Document roots
- Invoice, CreditNote
- Layers
- XSD → EN16931 → COUNTRY_PROFILE
france-rfe-1.4.0.04-extended-ctc-fr-ubl-2.1France — EXTENDED-CTC-FR (UBL 2.1)- Release
- 1.4.0.04
- Upload
- xml · max 12 MiB
- Document roots
- Invoice, CreditNote
- Layers
- XSD → EN16931 → COUNTRY_PROFILE
france-rfe-1.4.0.04-en16931-cii-d22bFrance — EN 16931 (CII D22B)- Release
- 1.4.0.04
- Upload
- xml · max 12 MiB
- Document roots
- CrossIndustryInvoice
- Layers
- XSD → EN16931 → COUNTRY_PROFILE
france-rfe-1.4.0.04-extended-ctc-fr-cii-d22bFrance — EXTENDED-CTC-FR (CII D22B)- Release
- 1.4.0.04
- Upload
- xml · max 12 MiB
- Document roots
- CrossIndustryInvoice
- Layers
- XSD → EN16931 → COUNTRY_PROFILE
Factur-X
The upload is the PDF. The embedded XML is extracted and validated against the named profile.
Stated by every Factur-X target:
- The embedded XML is validated. PDF/A-3 container conformance is NOT checked.
- Containers above 25 MiB or 100 pages are refused.
- Local technical validation only. No authority acceptance is established.
factur-x-1.09.2-basic-wlFrance — Factur-X BASIC WL- Release
- 1.09.2
- Upload
- pdf · max 25 MiB
- Document roots
- CrossIndustryInvoice
- Layers
- XSD → EN16931 → COUNTRY_PROFILE
factur-x-1.09.2-en16931France — Factur-X EN 16931- Release
- 1.09.2
- Upload
- pdf · max 25 MiB
- Document roots
- CrossIndustryInvoice
- Layers
- XSD → EN16931 → COUNTRY_PROFILE
factur-x-1.09.2-extendedFrance — Factur-X EXTENDED- Release
- 1.09.2
- Upload
- pdf · max 25 MiB
- Document roots
- CrossIndustryInvoice
- Layers
- XSD → EN16931 → COUNTRY_PROFILE
Greece myDATA
XML Schema conformance against the selected AADE contract. This project never contacts AADE, and the AADE business rules — which depend on platform state such as whether a MARK exists — are not checked.
Stated by every Greece myDATA target:
- XML Schema conformance against the selected AADE contract.
- AADE business rules are NOT checked. This tool never contacts AADE.
- Not AADE acceptance, MARK verification, taxpayer verification or transmission.
greece-mydata-2.0.2-invoicesdocGreece myDATA 2.0.2 — Invoice transmission document- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- InvoicesDoc
- Layers
- XSD
greece-mydata-2.0.2-invoicesdoc-detailedGreece myDATA 2.0.2 — Detailed myDATA representation- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- InvoicesDoc
- Layers
- XSD
greece-mydata-2.0.2-requesteddocGreece myDATA 2.0.2 — Requested documents response- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- RequestedDoc
- Layers
- XSD
greece-mydata-2.0.2-responsedocGreece myDATA 2.0.2 — Transmission response- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- ResponseDoc
- Layers
- XSD
greece-mydata-2.0.2-requestedproviderdocGreece myDATA 2.0.2 — Requested provider documents- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- RequestedProviderDoc
- Layers
- XSD
greece-mydata-2.0.2-requestedstatementdocGreece myDATA 2.0.2 — Requested statements- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- RequestedStatementDoc
- Layers
- XSD
greece-mydata-2.0.2-statementdocGreece myDATA 2.0.2 — Statement transmission- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- StatementDoc
- Layers
- XSD
greece-mydata-2.0.2-incomeclassificationsdocGreece myDATA 2.0.2 — Income classifications- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- IncomeClassificationsDoc
- Layers
- XSD
greece-mydata-2.0.2-expensesclassificationsdocGreece myDATA 2.0.2 — Expense classifications- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- ExpensesClassificationsDoc
- Layers
- XSD
greece-mydata-2.0.2-paymentmethodsdocGreece myDATA 2.0.2 — Payment methods- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- PaymentMethodsDoc
- Layers
- XSD
greece-mydata-2.0.2-requestede3infoGreece myDATA 2.0.2 — E3 information response- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- RequestedE3Info
- Layers
- XSD
greece-mydata-2.0.2-requestedvatinfoGreece myDATA 2.0.2 — VAT information response- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- RequestedVatInfo
- Layers
- XSD
greece-mydata-2.0.2-transportGreece myDATA 2.0.2 — Register transfer (movement start or transhipment)- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- Transport
- Layers
- XSD
greece-mydata-2.0.2-confirmdeliveryoutcomerequestGreece myDATA 2.0.2 — Confirm delivery outcome- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- ConfirmDeliveryOutcomeRequest
- Layers
- XSD
greece-mydata-2.0.2-confirmdeliveryreturnrequestGreece myDATA 2.0.2 — Confirm delivery return- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- ConfirmDeliveryReturnRequest
- Layers
- XSD
greece-mydata-2.0.2-rejectdeliverynoterequestGreece myDATA 2.0.2 — Reject delivery note- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- RejectDeliveryNoteRequest
- Layers
- XSD
greece-mydata-2.0.2-getdeliverynotestatusresponseGreece myDATA 2.0.2 — Delivery note status response- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- GetDeliveryNoteStatusResponse
- Layers
- XSD
greece-mydata-2.0.2-generategroupqrcoderequestGreece myDATA 2.0.2 — Generate group QR code- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- GenerateGroupQRCodeRequest
- Layers
- XSD
greece-mydata-2.0.2-generategroupqrcoderesponseGreece myDATA 2.0.2 — Group QR code response- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- GenerateGroupQRCodeResponse
- Layers
- XSD
greece-mydata-2.0.2-requestgroupqrdetailsresponseGreece myDATA 2.0.2 — Group QR details response- Release
- 2.0.2
- Upload
- xml · max 12 MiB
- Document roots
- RequestGroupQRDetailsResponse
- Layers
- XSD
The Factur-X limitation, said once more
A Factur-X target validates the XML inside the PDF. It does not check PDF/A-3 container conformance: not the PDF/A conformance level, not the XMP metadata, not the attachment relationship, not the embedded-file specification. Every Factur-X report states this, and it is repeated here because "Factur-X validated" is exactly the phrase somebody will put in a status field.
If container conformance matters to you — and for an invoice that has to survive an archiving obligation it does — it needs a PDF/A validator in addition to this.
Greece: two contracts, one root element
AADE publishes two schemas that both declare InvoicesDoc in the same namespace: the transmission contract and the detailed one. A document can conform to both. Nothing inside it says which was intended.
So they are two separate targets with two separate frozen ids, and the caller chooses. The API does not try one, fall back to the other, and report whichever passed — which would mean a document being declared valid against a contract nobody asked about.
What is deliberately absent
- A generic CII target. There is no pinned CII XML Schema package in this project, and the EN 16931 CII rules have never been compiled for execution here. Two such targets once existed and returned
UNSUPPORTEDfor every layer; advertising a capability that cannot run is worse than not advertising it, so they were removed. The French CII D22B targets above are unaffected — those genuinely execute. - Oman and the United Arab Emirates. Not implemented, not planned into this release, and not accepted as target ids.
- Any
latestalias. See above.
When a target is refused
unknown_target(422) — no such id. Check the catalogue endpoint; ids are case-sensitive.forbidden_target(403) — the id exists, but your key is restricted to a set that does not include it. See Authentication.target_input_mismatch(422) — the document's root element is not one this target accepts. Sending a CII document to a UBL target is the usual cause.