The API for accessible PDFs
Accessful's REST API audits and remediates PDFs according to PDF/UA-2 directly from your systems: submit documents, track status, retrieve results - asynchronously, with webhooks and batch processing of thousands of documents.
Six endpoints for the entire document lifecycle
Upload, status query, download and deletion – that’s all the integration needs. Base URL: https://api.accessful.de/api/v1/upload-service. Every request is sent via the header X API key authenticated.
| method | path | Purpose |
|---|---|---|
POST | /pdf/upload | Upload PDF file and start processing |
POST | /pdf/upload-by-url-list | Pass multiple documents via URL list |
GET | /job-status/{caseId} | Query the processing status of an operation |
GET | /download/{caseId} | Download remediated PDF |
DELETE | /delete/{caseId} | Delete individual document |
DELETE | /delete | Delete multiple documents in one call (batch) |
How to integrate Accessful in four steps
-
Hand over documents
Send individual PDFs to POST /pdf/upload or entire holdings via POST /pdf/upload-by-url-list - you will receive a caseId for each document.
-
Process asynchronously
Processing runs asynchronously. Query the progress via GET /job-status/{caseId} or be notified via webhook.
-
Get result
As soon as the status is “completed”, download the document corrected according to PDF/UA-2 via GET /download/{caseId}.
-
Delete data
After processing, delete documents individually using DELETE /delete/{caseId} or collectively using a batch call - you retain data sovereignty.
Your system stays informed automatically
Instead of querying the status, get notified: Accessful sends a webhook event to your endpoint URL for every status change - signed, repeated in the event of errors and clearly identifiable.
The six events
-
case.queuedDocument accepted and in queue - including location and estimated wait time -
case.runningProcessing is ongoing -
case.completedResult is available for download -
case.failedProcessing failed -
case.canceledProcess aborted -
case.quota_exceededQuota exceeded
Reliability built in
- HMAC-SHA256 signature in the header
X-Accessful signature(Format t=<unix>,v1=<hex>) - Up to 10 automatic retries with exponential backoff
- Idempotence via the header
X-Accessful-Event-Id– Double deliveries can be reliably identified
Example of a delivery
X-Accessful-Event-Id: 9f2c81d4… "2026-07-10T09:41:27Z", "data": { "caseId": "b7f3…", "fileName": "annual report.pdf", "jobStatus": "completed" } }
At case.queued contains data additionally
queuePosition, queueTotal and
estimatedWaitSeconds.
Typical integration scenarios
-
DMS/ECM
Newly filed documents are automatically checked and corrected - accessible, before anyone requests them or redistributes them.
-
CRM
Offers, policies and customer letters from your CRM are automatically checked and corrected according to PDF/UA-2 before sending - without any additional work steps in sales.
-
Contract management
Contracts and attachments are prepared according to PDF/UA-2 before dispatch or publication - with an audit-ready report as proof.
-
Archive systems
You can upgrade existing documents in batches using a URL list: thousands of archive PDFs in one go, without manual uploading.
-
Web portals
PDFs that visitors download from your portal are automatically checked and corrected in advance according to PDF/UA-2: upload when publishing, delivery after completion of the correction.
-
Batch processes
Night jobs hand over entire portfolios of documents; Webhooks report every status change to your system - without polling.
Accessful for AI agents
If AI agents control your document processes, they should be able to use Accessful directly. For this purpose, Accessful provides an agent skill for download with which agents control the API - from upload to retrieval of the corrected result.
Everything else is in the developer documentation
-
Quick start
The fastest way to the first API call: authentication, upload and status query step by step.
Open Quickstart -
Webhooks
All six events, signature verification and repeat behavior explained in detail.
Open webhooks documentation -
API reference
All endpoints with parameters and answers for reference - for implementation in detail.
Open API reference
Technical questions about the API
How do I authenticate requests to the Accessful API?
Each request carries your API key in the HTTP header X-API-Key. This shows how to integrate the key and make the first call Quickstart in the API documentation.
Does the API work synchronously or asynchronously?
Asynchronous: The upload returns a caseId. You can query the progress via GET /job-status/{caseId} - or you can be informed about every status change via webhook, from case.queued to case.completed.
Can I delete uploaded documents via the API?
Yes. You can delete individual documents using DELETE /delete/{caseId}, and several documents can be deleted collectively using the batch endpoint DELETE /delete. This means data storage remains completely in your hands.
How do I know that a webhook really comes from Accessful?
Every delivery is signed using HMAC-SHA256: The header X-Accessful-Signature contains timestamp and signature in the format t=<unix>,v1=<hex>. This allows you to check the origin and integrity of each message - details in the Webhooks documentation.
Start with the first API call.
The documentation takes you from the API key to the first remediated PDF. Or discuss your integration architecture directly with us.