The Edit endpoint is available in the Python SDK, Node.js SDK, and via cURL. The Go SDK does not yet support Edit.
When to Use Edit
Edit solves form filling at scale. Instead of manually clicking through fillable PDFs or templating Word documents, you describe what you want in natural language. Common use cases:- Filling government and tax forms (W-9, I-9, G-1145) with applicant data
- Completing insurance applications and claim forms
- Populating legal contracts with client information
- Generating customized DOCX reports from extracted data
topmostSubform[0].Page1[0].f1_1[0].
Quick Start
- Edit detects all fillable fields in the PDF (text boxes, checkboxes, dropdowns)
- An LLM reads your instructions and field context (labels, surrounding text)
- Each field gets mapped to the appropriate value
- The filled PDF is returned as a downloadable URL
PDF vs DOCX
| Feature | Description |
|---|---|
| Text fields | Fill any text input area |
| Checkboxes | Check or uncheck based on instructions |
| Dropdowns | Choose from available options |
| Form detection | Finds fields even in scanned forms |
| Overflow | Long text can flow to appendix pages |
DOCX
DOCX supports richer editing because the format allows inline content modification.| Feature | Description |
|---|---|
| Form fields | Modern (2007+) and legacy form controls |
| Checkboxes | Both modern and legacy controls |
| Table cells | Modify or append to existing cell content |
| Text insertion | Insert content at paragraph markers |
| Highlighting | Edits get highlighted in configurable color |
Request Parameters
document_url
The document to edit. Accepts the same formats as Parse:reducto:// file IDs from upload, public URLs, or presigned S3/GCS URLs.
edit_instructions
Natural language instructions describing what to fill. Be explicit about values and which fields they belong to:edit_options
| Option | Default | Description |
|---|---|---|
color | #FF0000 | Hex color for highlighting edits (DOCX only) |
enable_overflow_pages | false | Create appendix pages for text exceeding field capacity (PDF only) |
llm_provider_preference | null | LLM provider for form filling: "openai", "anthropic", or "google". If null, defaults to Google. |
form_schema
For repeatable form filling, define field locations explicitly. This skips detection, improving speed 3x and consistency. See Form Schema.Response
| Field | Description |
|---|---|
document_url | Presigned URL to download edited document. Valid 24 hours. |
form_schema | Detected field schema (PDF only). Save this to reuse for the same form type. |
usage.credits | Credits charged: 4 per page. |
Async Processing
For larger documents or webhook delivery, use the async endpoint:priority=True if your account has budget available.
How It Works
- Detect form widgets (or use vision if none exist)
- Analyze context around each field (labels, headers)
- Map your instructions to fields based on descriptions
- Fill values into the PDF
form_schema, steps 1-2 are skipped since youâve defined field locations and descriptions.
DOCX
- Tag editable locations (paragraphs, table cells, form controls)
- Analyze document structure against your instructions
- Generate specific edits (insert text, check boxes, update cells)
- Apply edits with optional highlighting
Troubleshooting
Fields remain empty
Fields remain empty
Several things can cause unfilled fields:
- Instructions didnât match: The LLM couldnât map your instructions to that field. Use terms that appear on the form itself.
- Dropdown mismatch: Value must exactly match an option (âCAâ vs âCaliforniaâ)
- Detection missed it: Use
form_schemato explicitly define field locations
No form fields detected
No form fields detected
The PDF has no widgets and vision couldnât detect fillable areas. Common causes:
- Scanned image without clear form structure
- Fields blend into background or lack clear boundaries
- Document isnât actually a fillable form
form_schema defining field locations. See Form Schema.Text cut off in PDF fields
Text cut off in PDF fields
PDF fields have fixed sizes. When content exceeds capacity, it gets truncated.Solutions:
- Enable overflow:
edit_options={"enable_overflow_pages": True}creates appendix pages - Abbreviate in your instructions if the form expects short values
Checkboxes not checking
Checkboxes not checking
Be explicit:
Check "Yes" for US Citizen works better than US Citizen: Yes. The LLM needs to understand you mean check a box, not fill text.Wrong field gets filled
Wrong field gets filled
When fields have similar labels, the LLM may map incorrectly:
- Be more specific: âApplicant First Name: Johnâ rather than âName: Johnâ
- Use form_schema: Define exactly which field is which using coordinates
- Reference position: âThe name field in the top-left of page 1â
Can I use Parse to get field locations?
Can I use Parse to get field locations?
No. Parse finds existing content (labels like âName:â). Edit finds empty fillable areas (the input box next to âName:â). Form fields are blank rectangles with nothing for Parse to detect.Use Edit once without
form_schema to detect fields, then save and reuse the returned schema.Limitations
Partial Success
Edit returns successfully even when some fields couldnât be filled. These situations donât raise errors:| Scenario | Behavior |
|---|---|
| Dropdown value not in options | Field skipped silently |
| Instructions donât match any field | Document returned unchanged |
| Unsupported widget (signatures, images) | Widget skipped |
Format-Specific
PDF:- Signature and image fields not supported
- Radio buttons have limited support
- Heavily designed forms may detect incorrectly
- Requires structured documents (form controls, tables)
- Very large documents (100+ pages) take longer