# Edit Extraction Queries in Bulk

<details>

<summary>Queries</summary>

A query defines a single question or instruction in your form. It includes:

* `id`: A unique string identifier.
* `type`: One of the following types:
  * **one\_value**: expects one answer
  * **multiple\_value**: allows multiple answers
  * **cell\_value/column\_value**: extracts values from a spreadsheet
  * **yes\_no**: expects a yes/no answer
  * **page\_number**: asks for a page number
* `details`: Description or help text shown to the user.
* `multi_file_name_field`: Field that links to file metadata (optional).
* `run_email_mode`: Controls how the result is sent:
  * **email\_only**: only email
  * **email\_document**: email + document
  * **document\_only**: only document
* `toggle_page_question`: Whether to enable a page-specific toggle.
* `entities`: List of items to extract, see "Entities" below.
* `properties`: Additional behavior settings. See below.
* `data_validation_rules`: Rules for checking extracted values (optional).

</details>

<details>

<summary>Entities</summary>

Entities are data points you're extracting in each query.

* `id`: A UUID or empty string.
* `entity`: The label or name of the data point.
* `save_to`: Where to store the extracted value.
* `type`: Return type of extracted value. Either use an empty string or one of the following options:
  * **freeForm**: any string
  * **singleOption**: one of the valid values in the 'options' field
  * **number**: value must be a number
  * **dollarValue**: value must be a dollar value with currency symbol
  * **personsName**: value is a person's name
  * **address**: value is an address
* `unique`: Whether the value must be unique.
* `options`: List of valid values (optional).
* `criteria`: Criteria or instruction for extraction (can be empty).
* `examples`: Examples to help guide extraction (optional).
* `required`: Whether this field must be filled.
* `default_option`: Pre-filled or suggested default value.
* `data_validation_rules`: Rules for checking extracted values (optional).

</details>

<details>

<summary>Properties</summary>

Optional settings that affect how the query behaves:

* `page_filter_start` / `page_filter_end`: Limits pages the query applies to.
* `page_filter_query`: Keyword-based filter for specific pages.
* `page_limit`: Max number of pages to process.
* `multiple_occurrences`: If the answer can appear more than once.
* `skip_ai_page_filter`: Skip AI-based filtering logic.
* `group_name`: Label to group queries visually or logically (optional).
* `page_filter_whitelist` / `blacklist`: Keywords on pages to include or ignore.
* `page_filter_whitelist_mode` / `blacklist_mode`: Use "AND" or "OR" logic on filters.

</details>

<details>

<summary>Variants</summary>

Variants define different mappings for queries to fields:

* `id`: UUID or empty string
* `variant_name`: Friendly name for the variant
* `group_variants`: A list of mappings that connect `question_group_id` to `save_to_fields`
  * **question\_group\_id**: Unique identifier matching the query that this variant applies to

</details>

#### Where do I find the bulk edit tab?

<figure><img src="/files/8UegwHNHZKAZnCn98XdZ" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.feathery.io/platform/document-intelligence/edit-extraction-queries-in-bulk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
