npm install, behind an HTTP API with saved templates, document storage, and usage tracking. You manage templates, keys, and certificates in the Dashboard.
Sign up at app.formepdf.com/sign-up.
Hosted or self-hosted
Forme has two HTTP servers. Both serve the same/v1 route family. Pick one:
The request bodies are not identical in every case. For example, the hosted
POST /v1/render/:slug takes the template data as the whole body, and the self-hosted server takes it under a data key. Each hosted page states the hosted shape. The self-hosted API reference states the self-hosted shape.
Base URL
/v1.
Authentication
Every/v1 request needs an API key, sent as a Bearer token:
forme_sk_ followed by 32 hex characters.
- The full key is shown once, when you create it. After that, the Dashboard shows only the last 8 characters.
- Revoking a key stops it working immediately. A revoked key returns
401. - A key belongs to the account (personal or organization) that was active when you created it. Requests with that key see only that account’s templates, documents, and certificates, and count against that account’s usage.
Keys created in an organization need the organization to be on the Pro or Business plan. Otherwise every
/v1 request with that key returns 403 with "Org features require the Pro plan".Endpoints
Operations and plan limits
Each plan has a monthly operation limit. An operation is one successful call to render (sync, HTML, or async), certify, redact, or merge.- Failed calls do not count. Only successful operations count toward the limit.
- Not counted:
POST /v1/extract,GET /v1/jobs/:jobId, and theGETresource listings. - Async renders count when the job finishes, not when you queue them. The limit is still checked when you queue the job.
- The count resets at the start of each calendar month.
- Usage made in the Dashboard itself (editor previews, certifying in the Document Editor) does not count. Only API-key calls count.
429:
metadata on renders, metadata.* filters on document listings, and saved redaction templates in /v1/redact. The number of saved templates and certificates, the per-request redaction pattern limit, and the document retention period also depend on the plan. A plan-gated request returns 403:
Rate limits
Rate limits apply per API key, over a one-minute window, per route group:GET /v1/jobs/:jobId and the resource listings are not rate-limited.
Responses from rate-limited routes carry X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers. Over the limit, the API returns 429 with a Retry-After header:
Request size
- JSON bodies: up to 20 MB. This includes base64-encoded PDFs sent to certify, redact, and merge.
POST /v1/extracttakes raw PDF bytes: up to 10 MB.
Errors
All errors return JSON with anerror message:
SDKs
The HTTP clients in the TypeScript, Python, and Go SDKs default tohttps://api.formepdf.com. Pass a base URL to point them at a self-hosted server instead.