The remediation pipeline, as an API.
The same remediation the a11yfy web app runs is available over plain REST: post a PDF and get back a PDF/UA-1 tagged, validated document — in a single call, from any language or stack.
How it fits your stack
- At upload time — remediate documents the moment your users or systems publish them.
- In batch — work through a backlog folder by folder, with the same per-page pricing.
- In your product — return the same PDF/UA-1 output and issue-level report to your own users, under your own UI.
The flow
POST /v1/jobs— send a PDF as a multipart file, optionally with awebhook_url. You immediately get back ajob_id. The server then runs the full pipeline automatically — diagnosis, tagging or full reconstruction, then validation — and charges the credits the document calls for.- Track status — poll
GET /v1/jobs/{id}, or, if you supplied awebhook_url, receive a signed notification the moment the job reaches a terminal state. GET /v1/jobs/{id}/result— download the PDF/UA-1 tagged output and its issue-level validation report.
To wire in your own billing and monitoring, use the GET /v1/balance
(credit balance) and GET /v1/usage (usage) endpoints.
Official SDKs: Python and npm
If you'd rather not hand-write HTTP calls, use the official client libraries — both are thin, typed wrappers over the v1 API above:
- Python — the
a11yfypackage on PyPI:pip install a11yfy - JavaScript / TypeScript — the
@a11yfy/sdkpackage on npm:npm install @a11yfy/sdk
Both SDKs are open source at github.com/a11yfy/sdk.
Why build it into your own system
- Language-agnostic REST. No SDK required: one HTTP call from any language — send the
file as
multipart/form-data. - Async, with webhooks. No need to poll: your own workflow wakes on the terminal state, and the notification is cryptographically signed.
- Idempotent submission. Re-sending the same file by accident never double-charges.
- Shared ledger. API keys are team-scoped; usage shows up in the same workspace budget as web uploads.
- EU processing, automatic deletion. Inputs are deleted after 7 days, outputs after 30 — with no action from you.
Practical notes
- The v1 API responds in English; document-language handling (alt text, metadata) follows the document itself, not the API locale.
- Credits match the web pricing: technical repair and full reconstruction are priced per page, by the document's profile.