API & Integration

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.

REST API

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 authenticated via the X-API-Key header.

The six endpoints of the Accessful REST API with method, path and purpose
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)
Sequence

How to integrate Accessful in four steps

  1. Submit documents

    Submit individual PDFs to POST /pdf/upload or entire document collections through POST /pdf/upload-by-url-list. You receive a caseId for every document.

  2. Process asynchronously

    Processing runs asynchronously. Query the progress via GET /job-status/{caseId} or be notified via webhook.

  3. Get result

    Once the status is “completed”, download the PDF remediated in line with PDF/UA-2 through GET /download/{caseId}.

  4. Delete data

    After processing, delete documents individually using DELETE /delete/{caseId} or collectively using a batch call - you retain data sovereignty.

Webhooks

Your system stays informed automatically

Instead of polling for status, receive notifications automatically: Accessful sends a webhook event to your endpoint for every status change, signs every delivery and retries it automatically if delivery fails.

The six events

  • case.queued Document accepted and queued, including its queue position and estimated wait time
  • case.running Processing is ongoing
  • case.completed Result is available for download
  • case.failed Processing failed
  • case.canceled Process aborted
  • case.quota_exceeded Quota 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
  • Idempotency through the header X-Accessful-Event-Id – duplicate deliveries can be identified reliably

Example of a delivery

X-Accessful-Event-Id: 9f2c81d4…
X-Accessful-Signature: t=1760082300,v1=5f8a3c…

{
  "id": "9f2c81d4…",
  "type": "case.completed",
  "apiVersion": "2026-06-26",
  "occurredAt": "2026-07-10T09:41:27Z",
  "data": {
    "caseId": "b7f3…",
    "fileName": "annual-report.pdf",
    "jobStatus": "completed"
  }
}

For case.queued, data also contains queuePosition, queueTotal and estimatedWaitSeconds.

Use in your systems

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

    Nightly jobs submit entire document collections. Webhooks report every status change without polling.

AI agents

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.

documentation

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 retry behaviour explained in detail.

    Open webhooks documentation
  • API reference

    All endpoints, parameters and responses for reference during implementation.

    Open API reference

Technical questions about the API

How do I authenticate requests to the Accessful API?

Each request includes your API key in the X-API-Key HTTP header. The 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.