Formify Drafts API
Drafts allow you to save a document as a work-in-progress before sending it for signing. A draft stores all document settings (name, signees, signature placements, AI assistant, etc.) without actually sending invitations to signees. **Draft Lifecycle:** 1. **Create** a draft with `POST /docs/drafts` — saves the document configuration 2. **Update** the draft with `PUT /docs/drafts/{draftId}` — modify any settings before sending 3. Optionally **preview** the draft with `GET /docs/drafts/{draftId}/file` — returns a PDF showing signature field placements 4. **Send** the draft with `POST /docs/drafts/{draftId}/send` — converts the draft into a live document and sends invitations to signees 5. Optionally **list** drafts with `GET /docs/drafts` or **get details** with `GET /docs/drafts/{draftId}` 6. **Delete** a draft with `DELETE /docs/drafts/{draftId}` if it's no longer needed **Who sees what:** `GET /docs/drafts` lists your own drafts plus the ones colleagues set to `sharingSetting: "shared"` — the same rule as `GET /docs`, `GET /templates` and `GET /links`. A `private` draft is readable by its owner alone. Each entry carries `userId` and `sharingSetting`, so you can tell your own from a colleague's. **Key Differences from `POST /docs`:** - Drafts do **not** send invitations to signees upon creation — they are saved for later. - Signee details are optional when creating/updating a draft. You can add them later via `PUT /docs/drafts/{draftId}`. - Signees in a draft do not need a contact method (email/phone) until the draft is sent. - Signature placement coordinates can be omitted or incomplete during the draft phase. - When sent via `POST /docs/drafts/{draftId}/send`, all the same validations as `POST /docs` apply (contact methods, signature coordinates, etc.). - Drafts expire automatically after the same auto-deletion period as other documents. Expired drafts cannot be edited or sent. **Shared Properties with `POST /docs`:** The request body for creating and updating drafts shares many of the same properties as `POST /docs`, including: - `signeeDetails` (signature types, placements, signatureBox, idScanBox, signingOrder) - `enableSigningOrder` (requires `signingOrder` capability) - `aiAssistant` configuration - `language`, `sharingSetting`, `personalMessage` - Signature type permission requirements (`signatureBankId`, `signatureIdScan`, `signatureFaceLiveness` capabilities) Refer to the `POST /docs` documentation above for details on these shared properties.