Bytefusedocs

Compliance

Validate PDF/A

A fast structural PDF/A check — confirms the two markers of a PDF/A file (an output intent and XMP metadata). Useful as a quick pre-flight before archiving.

Free to try — no key required 10 credits / callSynchronous

Overview

Upload a PDF; get a structural verdict as JSON. On the free-try path.

POSThttps://api.bytefuse.in/api/v1/pdf/pdfa/validate

Structural check, not certified validation

This confirms the presence of an OutputIntent and XMP metadata — the structural markers of PDF/A. It is not a certified validator (e.g. veraPDF); the response includes a note saying as much.

Request

Content type multipart/form-data:

filefilerequired
The PDF to check. Must end in .pdf (else 415).

Response

200 OK, application/json:

200 OK
{
  "success": true,
  "likely_pdfa": true,
  "has_output_intent": true,
  "has_xmp_metadata": true,
  "note": "structural check only; use veraPDF for certified validation"
}
likely_pdfabooloptional
true only if both an output intent and XMP metadata are present.
has_output_intentbooloptional
Whether the catalog contains an OutputIntents entry.
has_xmp_metadatabooloptional
Whether an XMP metadata stream is present.
notestringoptional
A reminder that this is a structural check only.

No credits field on this response

Unlike the other tools, this endpoint does not return a credits_charged field or an X-Credits-Charged header. Authenticated calls are still billed 10 credits; the amount just isn’t echoed back. Anonymous calls are free.

Examples

curl -X POST https://api.bytefuse.in/api/v1/pdf/pdfa/validate \
  -F "file=@archive.pdf"
# Add -H "X-API-Key: dt_live_your_key" to run authenticated (10 credits).

Errors

415Missing filename or not a .pdf.
402 / 429 / 503Insufficient credits (authenticated), rate limited, or capacity/config error.
500The PDF is corrupt or unreadable.