Clear Form
Remove user-entered data from a PDF form, leaving the blank form template intact. Erases handwritten entries, typed values, and unchecks selected checkboxes — printed labels, field titles, section headers, and other static template content are preserved.
Input modes — provide exactly one of:
form_id— reuse a previously processed form from a prior/form/detect,/form/fill, or/form/clearcall (fast path; cached layout reused).file_url— public or pre-signed URL of a PDF Pulse will download.file— direct binary upload of the PDF.
All three input modes ride on the same multipart/form-data
request body. (Callers sending Content-Type: application/json
with form_id / file_url are still accepted server-side for
backward compatibility, but the SDKs only model the multipart
form.)
instructions is optional. When omitted, Pulse clears every
user-filled field deterministically (no LLM call) on AcroForm
PDFs, eliminating any chance of hallucinated content. Provide
a natural language prompt to clear only specific fields
(e.g. "clear only the address fields"); targeted clears go
through the LLM matcher with a delete-only filter.
Optional form_fields and page_range (alias pages) behave
the same as on Form Fill.
Synchronous by default — returns the cleared FormResult
inline (including a pdf_url you can GET to download the
PDF binary). Set async: true to receive {job_id, status: "pending"} and poll GET /job/.
Billed at 3 credits per page. Requires the form_filler
feature flag to be enabled for your organization.
Overview
FormResult synchronously by default. Set async: true to run in the background and poll GET /job/jobId for the result./form/clear strips handwritten entries, typed responses, and selected checkbox marks from a PDF without altering the blank template underneath.
instructions is optional:
- Omit to clear every user-filled value on the form.
- Provide a natural-language prompt (for example
"clear only the address fields") to scope the clear to specific fields.
Providing the PDF
Provide the PDF in exactly one of the following ways:form_id: chain off a prior/form/detect,/form/fill, or/form/clearcall. The cached PDF andform_fieldsare reused, so there is no need to re-upload.file_url: public or presigned URL to a PDF.file: PDF uploaded inline with the request.
400.
multipart/form-data request body — that’s how the SDKs send every call. JSON bodies (Content-Type: application/json) with form_id or file_url are still accepted server-side for backward compatibility, but the SDKs only model the multipart form.Pricing
Billed at 3 credits per page of the PDF being cleared. Every response also returns a top-levelcredits_used for this request and a cumulative plan_info.total_credits_used snapshot for your organization.
Request
Request Body
Response
Sync (200): FormResult
Mirrors the /form/fill response, with fields_cleared substituted for fields_filled.
Async (202): FormJobAccepted
When async is true:
result carries the same FormResult shape that the sync flow would have returned inline.
Status Codes
Example Usage
Clear All User Input
Scoped Clear
Passinstructions to clear only specific fields.
Chain Fill, Clear, Fill
Clear an existing filled form and immediately re-fill it with new values without re-uploading the PDF. Theform_id returned by each step is the hand-off.
Async Clear With Polling
Authorizations
Body
/form/clear request body. All three input modes (file,
file_url, form_id) ride on this single multipart/form-data
schema; the server validates that exactly one is provided.
Direct binary upload of the PDF. Mutually exclusive with file_url and form_id.
Public or pre-signed URL of a PDF Pulse will download. Mutually exclusive with file and form_id.
Reference to a previously processed form. Mutually exclusive with file / file_url.
Optional natural language description of what to clear. When omitted, Pulse clears everything user-filled deterministically.
Optional JSON-encoded array of FormCell objects to override detected cells. Multipart bodies must serialise this field as a string.
Restrict the operation to a subset of pages, e.g. "1-3,5".
Set to "true" to run asynchronously and receive {job_id, status} immediately.
Response
Cleared FormResult returned synchronously.
Result body returned by /form/detect, /form/fill, and
/form/clear. For async jobs (async: true) the same shape is
served back under result on
GET /job/{jobId} [blocked].
ID of the form record produced by this run. Pass to a subsequent /form/detect, /form/fill, or /form/clear call as the single input source to iterate without re-uploading the PDF.
Number of pages in the output PDF.
x >= 1URL to download the resulting PDF binary. Always points at GET /results/{jobId}/pdf [blocked] for the originating job. Authenticated callers can replay this URL until the underlying artifact is garbage-collected.
Detected cells of the resulting PDF (refreshed from the filled/cleared output for fill/clear, or freshly detected for /form/detect). Use these as a starting point for further edits.
Number of cells that were filled by this run. Present on /form/fill responses only.
x >= 0Number of cells that were cleared by this run. Present on /form/clear responses only.
x >= 0Number of credits consumed by this request. Detect charges 1 credit per page; fill and clear charge 3 credits per page.
Billing tier and cumulative usage information for the calling org, including this form run.