POST
/api/v1/pdf/validate-pdfaPDF/A Validation
Check whether a PDF document complies with PDF/A archival standards. Returns the claimed conformance level, a compliance verdict, a list of issues found, and basic document metadata.
Content-Type: multipart/form-data
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
file | file | Required | - | The PDF file to validate for PDF/A compliance. |
Code Examples
cURL
bash
curl -X POST "https://app.alternapdf.com/api/v1/pdf/validate-pdfa" \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@document.pdf"Python
python
import requests
import json
url = "https://app.alternapdf.com/api/v1/pdf/validate-pdfa"
headers = {"X-API-Key": "YOUR_API_KEY"}
files = {
"file": ("document.pdf", open("document.pdf", "rb"), "application/pdf"),
}
response = requests.post(url, headers=headers, files=files)
result = response.json()
print(json.dumps(result, indent=2))
if result["is_compliant"]:
print(f"Compliant with {result['claimed_conformance']}")
else:
print(f"Not compliant. {len(result['issues'])} issue(s) found:")
for issue in result["issues"]:
print(f" - {issue}")JavaScript
javascript
const fs = require("fs");
const FormData = require("form-data");
const axios = require("axios");
const form = new FormData();
form.append("file", fs.createReadStream("document.pdf"));
const response = await axios.post(
"https://app.alternapdf.com/api/v1/pdf/validate-pdfa",
form,
{
headers: {
"X-API-Key": "YOUR_API_KEY",
...form.getHeaders(),
},
}
);
const result = response.data;
console.log(JSON.stringify(result, null, 2));
if (result.is_compliant) {
console.log(`Compliant with ${result.claimed_conformance}`);
} else {
console.log(`Not compliant. ${result.issues.length} issue(s) found:`);
result.issues.forEach((issue) => console.log(` - ${issue}`));
}Response
200JSON validation report
json — compliant
{
"is_compliant": true,
"claimed_conformance": "PDF/A-2b",
"issues": [],
"metadata": {
"page_count": 12,
"pdf_version": "1.7"
}
}json — non-compliant
{
"is_compliant": false,
"claimed_conformance": null,
"issues": [
"Font 'Helvetica' is not embedded",
"Document does not contain XMP metadata",
"OutputIntent is missing"
],
"metadata": {
"page_count": 8,
"pdf_version": "1.4"
}
}| Field | Type | Description |
|---|---|---|
is_compliant | boolean | Whether the document passes PDF/A validation. |
claimed_conformance | string | null | The PDF/A conformance level claimed by the document (e.g. "PDF/A-2b"), or null if none. |
issues | string[] | List of compliance issues found. Empty array if compliant. |
metadata.page_count | integer | Number of pages in the document. |
metadata.pdf_version | string | PDF specification version (e.g. "1.4", "1.7"). |