Wellform

Help

Support

Last updated 26 August 2026

Wellform is a self-serve API. Most problems are faster to diagnose from the conformance report than from a conversation, so start there โ€” then write to us if it does not explain what you are seeing.

Read the report first

Every render returns a verdict. On /v1/render.pdf it arrives as response headers; on /v1/render you get the full report as JSON, with each finding named by its Matterhorn Protocol checkpoint.

HeaderMeaning
X-Wellform-Conformanttrue only when there are zero failures.
X-Wellform-FailuresChecks the document did not pass. These are defects.
X-Wellform-WarningsThings worth looking at that do not break conformance.
X-Wellform-Blocked-AssetsImages or fonts that were not loaded. A document missing content it asked for is an accessibility problem, so we surface it rather than hide it.
X-Wellform-Render-MsServer-side render time, excluding network.
X-Wellform-RemainingDocuments left in the current billing period.

Common causes

A remote image or font did not load

Remote fetching is disabled on the Free plan and off by default everywhere else. Either embed the asset as a data: URI or send "allow_remote_assets": true on a plan that permits it. Requests to private, loopback and link-local addresses are always refused, on every plan.

A figure has no alternative text

An image without a meaningful alt attribute cannot be described to a screen reader, and no tool can invent the description for you. Add alt in your source HTML. Decorative images should be marked alt="" so they are skipped rather than announced.

Headings skip a level

Going from <h1> straight to <h3> breaks the document outline that assistive technology uses to navigate. Use the level that reflects structure and style it however you like with CSS.

Table headers are not associated

Mark header cells as <th> and give each a scope of col or row. Wellform carries that through to /Scope in the PDF. Without it a reader knows a cell is a header but not what it heads.

Getting in touch

Email support@wellform.dev. We aim to reply to every message within one business day. Wellform does not offer phone support.

Include as much of this as you can โ€” it is usually the difference between one reply and five:

Never send us a full API key. We store keys only as hashes and cannot read yours, so a key in an email is a credential we did not need and cannot un-see. The prefix is enough for us to identify it. If you do send one by accident, revoke it and issue a replacement.

Billing questions

Invoices, receipts, card changes, plan changes and cancellation are all handled in the Stripe billing portal, reachable from POST /v1/billing/portal. Cancelling ends the subscription at the close of the current period; your key keeps working until then and then reverts to the Free plan rather than being disabled.

Reporting a security issue

Email support@wellform.dev with "security" in the subject line. Please give us a reasonable opportunity to fix the issue before disclosing it publicly. We will not pursue legal action against researchers who act in good faith, avoid privacy violations and service disruption, and do not access or modify data belonging to others.