The Edit API accepts a config object that controls how a PDF is filled. You can drive a run two ways: with natural-language instructions, or with an explicit schema that pins each field’s type, value, and position using extend_edit:* keywords. Beyond those, schemaGenerationInstructions biases automatic field detection, the schema supports root-level conditional logic to make fields required based on other values, and advancedOptions controls flattening, table parsing, and field detection.
For default values and the full schema, see the Create Edit Run API reference.
Prefer a UI? Extend Studio lets you configure an editor visually and export the config JSON.
instructionsType: string
Natural-language guidance for the edit. Use it to describe the values to fill and any special handling. With instructions only, Extend detects the form’s fields and fills the ones you describe.
schemaGenerationInstructionsType: string
Additional instructions used when Extend generates a schema from the document (when you don’t supply one). Useful to bias field detection or naming without writing a full schema yourself.
schemaType: object
A JSON Schema defining the fields to edit. Each property uses extend_edit:* keywords to specify the PDF field type, position, value, and styling. If you don’t have a schema yet, Generate Edit Schema detects the fields and returns one with positions annotated.
The PDF field type allowed for a property depends on its JSON type:
Each field in the schema can include:
Field positions are in PDF pixel coordinates. You rarely write extend_edit:bbox by hand — Generate Edit Schema detects a form’s fields and returns a schema with positions already annotated.
The simplest schema gives each field a type, an extend_edit:field_type, and an extend_edit:value; Extend places it on the detected form field:
For signature fields, provide an image instead of a text value:
For fields that require character-by-character input (SSN, phone numbers, policy numbers), use combing: true with a maxLength:
Edit schemas support root-level JSON Schema conditionals, so you can make fields required or optional based on other values. Supported keywords include dependentRequired, if / then / else, allOf, oneOf, anyOf, and not. Conditional clauses do not accept extend_edit:* keys.
This is useful for forms where follow-up fields only apply to a subset of users. A common workflow is to generate a base schema from the PDF, then add conditional requirements on top.
advancedOptions.flattenPdfType: boolean (default: true)
Flatten PDF forms after editing, making the form fields non-editable. Use when generating final documents.
advancedOptions.tableParsingEnabledType: boolean (default: false)
Parse table regions as arrays of objects. Enable for forms with large table regions you want filled.
advancedOptions.radioEnumsEnabledType: boolean (default: false)
Model radio fields as enums, ensuring only one radio widget in a group is filled.
advancedOptions.nativeFieldsOnlyType: boolean (default: false)
Only import native AcroForm fields from the PDF and skip object detection.
For the exact request and response schemas, see the Create Edit Run API reference.