Build DocFila into your product. An organization-scoped REST API for documents, folders, e-signature envelopes with court-ready evidence, audit trails and accounting export — with signed webhooks and a published OpenAPI 3.0 spec.
Upload a contract and send it for signature, with cURL:
POST /v1/documents uploadGET /v1/documents listGET /v1/documents/:id retrieveGET /v1/documents/:id/downloadDELETE /v1/documents/:id
POST /v1/documents/:id/upload-url resumable URLPOST /v1/documents/:id/uploads/completeGET /v1/folders · POST /v1/folders
POST /v1/signatures/requests sendGET /v1/signatures/requests/:id statusPOST /v1/signatures/requests/:id/remindPOST /v1/signatures/requests/:id/void · /correct · /reassign
GET /v1/signatures/requests/:id/evidenceGET /v1/signatures/requests/:id/artifacts/:artifactPOST /v1/signatures/requests/:id/embedded-sessionPOST /v1/signatures/workflows/sequential
GET /v1/signatures/webhooks · POST · DELETE /:idPOST /v1/signatures/webhooks/:id/rotate-secretPOST /v1/api-keys · GET /v1/account
GET /v1/documents/:id/audit-eventsGET /v1/organization/audit-eventsGET /v1/organization/membersPOST /v1/export/datev · POST /v1/workflows/:id/run
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, and keys are created, scoped and revoked from Organization settings in the app.
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.
The full v1 surface is published as an OpenAPI 3.0 document — 26 paths, request and response schemas, and the scope each endpoint requires. Ask developers@docfila.com for the spec.
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.
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.
Create a scoped key limited to documentsRead, try it against your own workspace, then widen the scopes once the integration works.