Replace the field set on a draft
The editor saves its whole canvas in one shot. Types, page range, fractional geometry, and recipient bindings are validated. A field's id is regenerated UNLESS the client echoes back one this document already has (EAS-110) — do that for any field a formula's config references, or the reference breaks on the next save.
View as MarkdownAuthorization
bearer In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/documents/string/fields" \ -H "Content-Type: application/json" \ -d '{ "fields": [ { "type": "signature", "x": 0, "y": 0, "width": 0, "height": 0, "page": 0 } ] }'{ "document": { "id": "string", "name": "string", "url": "string", "status": "string", "created": "2019-08-24T14:15:22Z", "modified": "2019-08-24T14:15:22Z", "size": 0, "pages": 0, "templateId": "string", "hasFile": true, "hasFinalFile": true, "files": [ { "id": "string", "name": "string", "position": 0, "size": 0, "pages": 0, "created": "2019-08-24T14:15:22Z", "status": "ready", "conversionError": "string" } ], "signingMode": "string", "message": "string", "sentAt": "2019-08-24T14:15:22Z", "completedAt": "2019-08-24T14:15:22Z", "voidedAt": "2019-08-24T14:15:22Z", "voidReason": "string", "declinedAt": "2019-08-24T14:15:22Z", "expiresAt": "2019-08-24T14:15:22Z", "autoRemindDays": 0, "lastRemindedAt": "2019-08-24T14:15:22Z", "legalHold": true, "scheduledPurgeAt": "2019-08-24T14:15:22Z", "visibility": "string", "ownerId": "string", "requiresNotarization": true, "notaryState": "string", "recipients": [ { "id": "string", "name": "string", "email": "string", "role": "string", "status": "string", "orderIndex": 0, "signedAt": "2019-08-24T14:15:22Z", "viewedAt": "2019-08-24T14:15:22Z", "declinedAt": "2019-08-24T14:15:22Z", "declineReason": "string", "hasAccessCode": true, "verificationMethod": "none", "signature": "string", "isGroup": true, "groupLabel": "string", "signedByName": "string", "signedByEmail": "string", "members": [ { "id": "string", "name": "string", "email": "string", "viewedAt": "2019-08-24T14:15:22Z", "declinedAt": "2019-08-24T14:15:22Z" } ], "reassignedFromName": "string", "reassignedFromEmail": "string", "reassignReason": "string", "reassignedAt": "2019-08-24T14:15:22Z" } ], "fields": [ { "id": "string", "type": "signature", "x": 0, "y": 0, "width": 0, "height": 0, "page": 0, "required": true, "label": "string", "value": "string", "recipientId": "string", "fileId": "string", "config": {} } ] }}Add one field to a pending document
Adds a single field while pending, unlike PUT on this same path (draft-only, whole-canvas replace). If recipientId is set, that recipient must not have signed yet. A required field must be assigned to a signer (the same rule Send applies; a formula is exempt), so a document can't be corrected into one nobody can complete. A field is at least 0.5% of the page in each direction, and its label is at most 200 characters with no control or invisible formatting characters.
Correct one field on a pending document
Moves, resizes, relabels, retoggles required, or reassigns one field, while the document is pending and that field's (and, on reassignment, the target's) recipient hasn't signed yet. Unlike PUT .../fields, this never touches any other field, never regenerates an id, and never drops a value. Recorded in the audit trail with what changed. The field must still satisfy the rule Send applies once edited: a required field stays assigned to a signer, so unassigning one, or marking an unassigned one required, is a 400. A field's type can't be changed (restating it is a no-op); remove the field and add a new one.