DocFila API
Build DocFila into your product. An organization-scoped REST API for documents, folders, e-signature envelopes with signing evidence, audit trails and accounting export — with signed webhooks and an OpenAPI 3.0 spec, available on request.
Quickstart
Create a document, upload the PDF, and send it for signature, with cURL. Every write takes an Idempotency-Key header, so a retried request never creates a second document or envelope.
Endpoints
Documents
POST /v1/documents createGET /v1/documents listGET /v1/documents/:id retrieveGET /v1/documents/:id/downloadDELETE /v1/documents/:id
Uploads
POST /v1/documents/:id/upload-url signed PUT URL (PDF up to 100 MB, valid 15 minutes)POST /v1/documents/:id/uploads/completeGET /v1/folders · POST /v1/folders
Signature envelopes
POST /v1/signatures/requests sendGET /v1/signatures/requests/:id statusPOST /v1/signatures/requests/:id/remindPOST /v1/signatures/requests/:id/void · /correct · /reassign
Evidence & artifacts
GET /v1/signatures/requests/:id/evidenceGET /v1/signatures/requests/:id/artifacts/:artifactPOST /v1/signatures/requests/:id/embedded-sessionPOST /v1/signatures/workflows/sequential
Webhooks & keys
GET /v1/signatures/webhooks · POST · DELETE /:idPOST /v1/signatures/webhooks/:id/rotate-secretPOST /v1/api-keys · GET /v1/account
Audit & export
GET /v1/documents/:id/audit-eventsGET /v1/organization/audit-eventsGET /v1/organization/membersPOST /v1/export/datev · POST /v1/workflows/:id/run
Authentication
Bearer token in the Authorization header. Keys are organization-scoped and carry explicit permissions — documentsRead, signaturesWrite, auditRead and ten more — so a key can only reach what you granted it. Each key has its own per-minute request limit (100 requests a minute by default), and keys are created, scoped and revoked from Organization settings in the app.
Webhooks & events
Subscribe to envelope events: envelope.created, envelope.completed, envelope.declined, envelope.expired and envelope.voided. Every delivery is signed — x-docfila-signature: v1=<HMAC-SHA256 of timestamp.body> alongside x-docfila-timestamp, so you can verify the payload and reject replays. Failed deliveries retry with exponential backoff, capped at 6 hours between attempts, for up to 12 attempts before the event is marked failed. Rotate an endpoint’s secret at any time without recreating it.
Clients
OpenAPI 3.0
The full v1 surface is described in an OpenAPI 3.0 document — 26 paths, request and response schemas, and the scope each endpoint requires. Ask developers@docfila.com for the spec.
Generate your own client
Point openapi-generator or oapi-codegen at the spec and you have a typed client in TypeScript, Python, Go, Dart, Java or C# in one command.
Plain HTTP
Every endpoint is ordinary JSON over HTTPS with a bearer token, so cURL, fetch, requests or your language's standard HTTP client is enough — no dependency required.
Sandbox first
Create a scoped key limited to documentsRead, try it against your own workspace, then widen the scopes once the integration works.