---
title: "Detect form fields in a PDF document"
method: POST
path: "/pdf/form/detect/"
tags: ["PDF", "form"]
---

# Detect form fields in a PDF document

`POST /pdf/form/detect/`

Returns a list of form fields detected in the PDF document, along with their location, options and requirements. For a more visual representation, use the /pdf/form/mark endpoint.

## Response `200`

Document fields detected successfully

- union[] — Document fields detected successfully
  - union
    - object
      - `name` string, required
      - `required` boolean, required
      - `readOnly` boolean, required
      - `aiDetectedName` object
        - `name` string, required
        - `score` number, required
      - `locations` object[], required
        - `x` number, required
        - `y` number, required
        - `width` number, required
        - `height` number, required
      - `type` 'PDFCheckBox', required
      - `isChecked` boolean
    - object
      - `name` string, required
      - `required` boolean, required
      - `readOnly` boolean, required
      - `aiDetectedName` object
        - `name` string, required
        - `score` number, required
      - `locations` object[], required
        - `x` number, required
        - `y` number, required
        - `width` number, required
        - `height` number, required
      - `type` 'PDFDropdown' | 'PDFOptionList', required
      - `options` string[]
      - `isMultiselect` boolean
      - `selected` string[]
      - `isEditable` boolean
    - object
      - `name` string, required
      - `required` boolean, required
      - `readOnly` boolean, required
      - `aiDetectedName` object
        - `name` string, required
        - `score` number, required
      - `locations` object[], required
        - `x` number, required
        - `y` number, required
        - `width` number, required
        - `height` number, required
      - `type` 'PDFRadioGroup', required
      - `options` string[]
      - `selected` string
      - `isMutuallyExclusive` boolean
      - `isOffToggleable` boolean
    - object
      - `name` string, required
      - `required` boolean, required
      - `readOnly` boolean, required
      - `aiDetectedName` object
        - `name` string, required
        - `score` number, required
      - `locations` object[], required
        - `x` number, required
        - `y` number, required
        - `width` number, required
        - `height` number, required
      - `type` 'PDFTextField', required
      - `defaultValue` string
      - `isPassword` boolean
      - `isRichFormatted` boolean
      - `isScrollable` boolean
      - `isCombed` boolean
      - `isMultiline` boolean
      - `isFileSelector` boolean
      - `maxLength` number
    - object
      - `name` string, required
      - `required` boolean, required
      - `readOnly` boolean, required
      - `aiDetectedName` object
        - `name` string, required
        - `score` number, required
      - `locations` object[], required
        - `x` number, required
        - `y` number, required
        - `width` number, required
        - `height` number, required
      - `type` 'PDFSignature', required
      - `defaultValue` string

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `500` — Internal server error

---

[API](https://skmtc.net/onedoclabs/apis/fileforge-api.md) · [All operations](https://skmtc.net/onedoclabs/apis/fileforge-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/onedoclabs/fileforge-api/versions/a5a51ce2a2fd/schema)
