Field anatomy
Every field has the following properties:
The following field is a short HTML section:
Field types
Most types also accept the following settings in
fieldMeta: locked freezes the field in the editor, hidden hides it, and visibilityRule shows it only when a custom field has a given value.
To add fields, send them in a fields array to POST /documents/{id}/fields, also when you add one. To read them, pass expand=fields to GET /documents/{id}, or call GET /documents/{id}/fields. You can change fields only while a document is a DRAFT.
Values that someone fills in
Three kinds of fields hold values:- FORM subfields. A
FORMfield’sfieldMeta.fieldslists its subfields in a grid ofrowandcolumn. A subfield’s type isINPUT,TEXT,SELECT,DATEPICKER,RADIO,CHECKBOX,NUMBER, orATTACHMENT. - Placed fields. A
PDFfield’sfieldMeta.placedFieldslists boxes placed on its pages. Each box has apage, arectin PDF points, and akind:INPUTfor a value or mark, orSTATICfor fixed text. - PDF form fields. A
PDFfield’sfieldMeta.formFieldslists the form fields that were already in the uploaded PDF.
partyId:
A placed box with
inputType set to SIGNATURE or INITIALS is a signature mark. The party draws it when they sign, and sajn seals it into the PDF at that position. A signature mark must belong to a party with the SIGNER role. For the coordinate model, see PDF field placement.
The following FORM field has one subfield that you fill in and one that the party fills in:
2026-10, fieldMeta names the party partyId, and every enum inside it is uppercase. API version 2026-09 calls the party signerId and spells these enums in lowercase.
Fill in values by key
A key is a stable name for a value, such ascustomer-name. Keys can contain lowercase letters, digits, hyphens, and underscores. Set keys on FORM subfields and placed boxes in a template, and every document created from it has the same keys.
To fill in values by key, use the field values endpoints:
-
To list every value on the document and its key, call
GET /documents/{id}/field-values. -
To fill in several values in one request, call
PATCH /documents/{id}/field-values:
DRAFT or IMPORTED. A value fails, and the other values are still written, when its key doesn’t exist, when two fields share the key, when a party fills it in at signing, or when the value doesn’t match the field’s type or options. The results array lists the outcome for each key: success, and when it’s false, an error with code, message, and userMessage. remaining lists the keys of required values that you fill in and that are still empty.
Next steps
Templates and forms
Reuse fields and keys across documents.
Fields that parties fill in
Collect values from parties at signing.
PDF field placement
Place signature marks and inputs on an uploaded PDF.
Product tables
Sell products and services in a document.

