> This page is for version v2026-02-09 (default).
> For other versions, use one of these documentation indexes:
> - v2026-02-09 (default): https://docs.extend.ai/2026-02-09/llms.txt
> - v2025-04-21: https://docs.extend.ai/2025-04-21/llms.txt
> - v2024-12-23: https://docs.extend.ai/2024-12-23/llms.txt

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.extend.ai/llms.txt
> Use this file to discover all available pages before exploring further.
>
> ## API version
> The current API version is `2026-02-09`, served at the site root (no version prefix in URLs).
> If this page URL contains `/2025-04-21/` or `/2024-12-23/`, you are reading an older API version.
> Prefer the current docs at https://docs.extend.ai/llms.txt unless the user explicitly needs that older version.
> Do not treat older-version pages as the source of truth for new integrations.

# Get Edit Template

GET https://api.extend.ai/edit_templates/{id}

Retrieve a saved edit template by ID.

Use this endpoint to inspect the source file, default edit configuration, and optional schema generation configuration saved on an edit template. To run an edit directly from a template, pass its ID as the top-level `templateId` field (in place of `file`) to `POST /edit` or `POST /edit_runs` — the template's file and `config` are used automatically, and any `config` values also set on the request take precedence over the template's. Reuse `schemaConfig` with `POST /detect_form` or `POST /form_detection_runs`.


Reference: https://docs.extend.ai/api-reference/endpoints/edit/get-edit-template

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Servers

- `https://api.extend.ai` (Production, default)
- `https://api.us2.extend.app` (Production US2)
- `https://api.eu1.extend.ai` (Production EU1)

## Request

### Path parameters

- `id` (string, required) — The unique identifier for the edit template. Example: `"edt_xK9mLPqRtN3vS8wF5hB2cQ"`

### Headers

- `x-extend-api-version` ("2026-02-09", optional, default: 2026-02-09) — API version to use for the request. If you're using an SDK, you can ignore this parameter. If you are not using an SDK and do not specify a version, you will either receive a `400 Bad Request` or be set to a previous legacy version. See [API Versioning](https://docs.extend.ai/2026-02-09/api-reference/api-versioning) for more details.
- `x-extend-workspace-id` (string, optional) — The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.

## Response

### 200

Successfully retrieved edit template

- `object` (enum, required) — The type of object. Will always be `"edit_template"`.
  - Allowed values: `edit_template`
- `id` (string, required) — A unique identifier for the edit template. Example: `"edt_xK9mLPqRtN3vS8wF5hB2cQ"`
- `name` (string, required) — The name of the edit template.
- `description` (string, required, nullable) — The description of the edit template, if one was provided.
- `file` (FileSummary, required) — The source file associated with this edit template.
- `config` (EditConfig, required) — Default edit configuration saved on the template. Empty when no edit configuration was saved.
- `schemaConfig` (EditSchemaGenerationConfig, required, nullable) — Optional schema generation configuration saved on the template.
- `createdAt` (string, required) — The time (in UTC) at which the object was created. Will follow the RFC 3339 format. Example: `"2024-03-21T16:45:00Z"`
- `updatedAt` (string, required) — The time (in UTC) at which the object was last updated. Will follow the RFC 3339 format. Example: `"2024-03-21T16:45:00Z"`

## Errors

### 400 Bad Request Error

Standard error response format for all Extend API errors. See the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.

- `code` (string, required) — Error code for programmatic handling.
- `message` (string, required) — Human-readable error message suitable for displaying to developers. Do not rely on the exact text of this message as it may change.
- `retryable` (boolean, required) — Whether the request can be retried. When true, retry with exponential backoff. When false, fix the underlying issue before retrying.
- `requestId` (string, optional) — Unique request identifier for support purposes. Always include this when contacting Extend support about an error.
- `docUrl` (string, optional) — Link to relevant documentation when one is available.

### 401 Unauthorized Error

Standard error response format for all Extend API errors. See the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.

- `code` (string, required) — Error code for programmatic handling.
- `message` (string, required) — Human-readable error message suitable for displaying to developers. Do not rely on the exact text of this message as it may change.
- `retryable` (boolean, required) — Whether the request can be retried. When true, retry with exponential backoff. When false, fix the underlying issue before retrying.
- `requestId` (string, optional) — Unique request identifier for support purposes. Always include this when contacting Extend support about an error.
- `docUrl` (string, optional) — Link to relevant documentation when one is available.

### 402 Payment Required Error

Standard error response format for all Extend API errors. See the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.

- `code` (string, required) — Error code for programmatic handling.
- `message` (string, required) — Human-readable error message suitable for displaying to developers. Do not rely on the exact text of this message as it may change.
- `retryable` (boolean, required) — Whether the request can be retried. When true, retry with exponential backoff. When false, fix the underlying issue before retrying.
- `requestId` (string, optional) — Unique request identifier for support purposes. Always include this when contacting Extend support about an error.
- `docUrl` (string, optional) — Link to relevant documentation when one is available.

### 403 Forbidden Error

Standard error response format for all Extend API errors. See the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.

- `code` (string, required) — Error code for programmatic handling.
- `message` (string, required) — Human-readable error message suitable for displaying to developers. Do not rely on the exact text of this message as it may change.
- `retryable` (boolean, required) — Whether the request can be retried. When true, retry with exponential backoff. When false, fix the underlying issue before retrying.
- `requestId` (string, optional) — Unique request identifier for support purposes. Always include this when contacting Extend support about an error.
- `docUrl` (string, optional) — Link to relevant documentation when one is available.

### 404 Not Found Error

Standard error response format for all Extend API errors. See the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.

- `code` (string, required) — Error code for programmatic handling.
- `message` (string, required) — Human-readable error message suitable for displaying to developers. Do not rely on the exact text of this message as it may change.
- `retryable` (boolean, required) — Whether the request can be retried. When true, retry with exponential backoff. When false, fix the underlying issue before retrying.
- `requestId` (string, optional) — Unique request identifier for support purposes. Always include this when contacting Extend support about an error.
- `docUrl` (string, optional) — Link to relevant documentation when one is available.

### 422 Unprocessable Entity Error

Standard error response format for all Extend API errors. See the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.

- `code` (string, required) — Error code for programmatic handling.
- `message` (string, required) — Human-readable error message suitable for displaying to developers. Do not rely on the exact text of this message as it may change.
- `retryable` (boolean, required) — Whether the request can be retried. When true, retry with exponential backoff. When false, fix the underlying issue before retrying.
- `requestId` (string, optional) — Unique request identifier for support purposes. Always include this when contacting Extend support about an error.
- `docUrl` (string, optional) — Link to relevant documentation when one is available.

### 429 Too Many Requests Error

Standard error response format for all Extend API errors. See the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.

- `code` (string, required) — Error code for programmatic handling.
- `message` (string, required) — Human-readable error message suitable for displaying to developers. Do not rely on the exact text of this message as it may change.
- `retryable` (boolean, required) — Whether the request can be retried. When true, retry with exponential backoff. When false, fix the underlying issue before retrying.
- `requestId` (string, optional) — Unique request identifier for support purposes. Always include this when contacting Extend support about an error.
- `docUrl` (string, optional) — Link to relevant documentation when one is available.

### 500 Internal Server Error

Standard error response format for all Extend API errors. See the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.

- `code` (string, required) — Error code for programmatic handling.
- `message` (string, required) — Human-readable error message suitable for displaying to developers. Do not rely on the exact text of this message as it may change.
- `retryable` (boolean, required) — Whether the request can be retried. When true, retry with exponential backoff. When false, fix the underlying issue before retrying.
- `requestId` (string, optional) — Unique request identifier for support purposes. Always include this when contacting Extend support about an error.
- `docUrl` (string, optional) — Link to relevant documentation when one is available.

## Types

### FileSummary

- `object` (enum, required) — The type of object. Will always be `"file"`.
  - Allowed values: `file`
- `id` (string, required) — ID for the file. Example: `"file_xK9mLPqRtN3vS8wF5hB2cQ"`
- `name` (string, required) — The name of the file Example: `"Invoices.pdf"`
- `type` (enum, required, nullable) — The type of the file. **Availability:** Present when the file type could be determined.
  - Allowed values: `PDF`, `CSV`, `IMG`, `TXT`, `DOCX`, `EXCEL`, `XML`, `HTML`
- `parentFileId` (string, required, nullable) — ID of the parent file. **Availability:** Present for files created via a Splitter in a workflow.
- `metadata` (FileMetadata, required)
- `createdAt` (string, required) — The time (in UTC) at which the object was created. Will follow the RFC 3339 format. Example: `"2024-03-21T16:45:00Z"`
- `updatedAt` (string, required) — The time (in UTC) at which the object was last updated. Will follow the RFC 3339 format. Example: `"2024-03-21T16:45:00Z"`

### EditConfig

Configuration options for the editing process.

- `engineVersion` (string, optional, default: 1.0.0) — The Edit engine version to use. Use an exact version for reproducible results, or `latest` to use the latest stable version. Defaults to `1.0.0` when omitted. Responses contain the resolved exact version.
- `schema` (EditRootJSON, optional) — JSON Schema definition for editing PDF documents. The schema defines the structure and placement of fields to edit. It also supports JSON Schema conditional keywords at the root level, including `dependentRequired`, `if` / `then` / `else`, and logical combinators such as `allOf`, `oneOf`, `anyOf`, and `not`. Conditional property constraints do not accept `extend_edit:*` keys.
- `instructions` (string, optional) — Custom instructions provided for the edit operation.
- `schemaGenerationInstructions` (string, optional) — Additional instructions used when generating a schema from the document.
- `advancedOptions` (EditConfigAdvancedOptions, optional) — Advanced options for the edit operation.

### EditSchemaGenerationConfig

Configuration options for edit schema generation.

- `engineVersion` (string, optional, default: 1.0.0) — The Edit engine version to use for form detection. Use an exact version for reproducible results, or `latest` to use the latest stable version. Defaults to `1.0.0` when omitted. Responses contain the resolved exact version.
- `inputSchema` (EditRootJSON, optional) — Optional existing edit schema to map onto the detected form fields. When provided, the response may include a `mappingResult` that shows which input schema paths matched the generated form fields.
- `instructions` (string, optional) — Custom instructions provided for schema generation.
- `advancedOptions` (EditSchemaGenerationConfigAdvancedOptions, optional) — Advanced options for schema generation.

### FileMetadata

- `pageCount` (double, optional) — The number of pages in the file. This is only set for PDF/DOCX files.
- `parentSplit` (ParentSplit, optional) — The split metadata details for a derivative file. **Availability:** Only included if this file is a derivative of another file, for instance if it was created via a Splitter in a workflow.

### EditRootJSON

JSON Schema definition for editing PDF documents. The schema defines the structure and placement of fields to edit. It also supports JSON Schema conditional keywords at the root level, including `dependentRequired`, `if` / `then` / `else`, and logical combinators such as `allOf`, `oneOf`, `anyOf`, and `not`. Conditional property constraints do not accept `extend_edit:*` keys.

- `type` (enum, required) — Must be "object" for the root schema
  - Allowed values: `object`
- `properties` (map from string to EditJSON, required) — Map of field names to their schema definitions
- `required` (list of string, optional) — List of required field names
- `additionalProperties` (boolean, optional) — Whether additional properties are allowed
- `dependentRequired` (map from string to list of string, optional) — Map of field names to additional fields that become required when the key field is present.
- `if` (EditConditionalClause, optional) — Recursive conditional clause for edit schemas. Use these clauses with root-level `if` / `then` / `else`, `dependentRequired`, and logical combinators to model conditional field requirements.
- `then` (EditConditionalClause, optional) — Recursive conditional clause for edit schemas. Use these clauses with root-level `if` / `then` / `else`, `dependentRequired`, and logical combinators to model conditional field requirements.
- `else` (EditConditionalClause, optional) — Recursive conditional clause for edit schemas. Use these clauses with root-level `if` / `then` / `else`, `dependentRequired`, and logical combinators to model conditional field requirements.
- `allOf` (list of EditConditionalClause, optional) — List of conditional clauses that must all match.
- `oneOf` (list of EditConditionalClause, optional) — List of conditional clauses where exactly one must match.
- `anyOf` (list of EditConditionalClause, optional) — List of conditional clauses where at least one must match.
- `not` (EditConditionalClause, optional) — Recursive conditional clause for edit schemas. Use these clauses with root-level `if` / `then` / `else`, `dependentRequired`, and logical combinators to model conditional field requirements.

### EditConfigAdvancedOptions

Advanced options for the edit operation.

- `tableParsingEnabled` (boolean, optional) — Whether to parse table regions as arrays of objects. Defaults to `false`.
- `flattenPdf` (boolean, optional) — Whether to flatten PDF forms after editing (makes form fields non-editable). Defaults to `true` for Edit `1.0.0` and `0.0.1`, and `false` for `1.0.0-beta`.
- `radioEnumsEnabled` (boolean, optional) — Whether to represent radio groups as enums so only one option can be selected. Defaults to `true` for Edit `1.0.0` and `1.0.0-beta`, and `false` for `0.0.1`.
- `nativeFieldsOnly` (boolean, optional) — If enabled, only native AcroForm from the PDF will be imported and used in the schema (skips object detection). Defaults to false.
- `conditionalGenerationEnabled` (boolean, optional) — When enabled and no `config.schema` is supplied, reads requirements explicitly stated in the form and adds supported root-level JSON Schema conditional validation rules to the generated schema. If generated edit values do not satisfy the rules, the Edit run fails with `SCHEMA_VALIDATION_ERROR`. Has no effect when a schema is supplied. Defaults to `false`.

### EditSchemaGenerationConfigAdvancedOptions

Advanced options for schema generation.

- `tableParsingEnabled` (boolean, optional) — Whether to parse table regions as arrays of objects. Defaults to `false`.
- `radioEnumsEnabled` (boolean, optional) — Whether to represent radio groups as enums so only one option can be selected. Defaults to `true` for Edit `1.0.0` and `1.0.0-beta`, and `false` for `0.0.1`.
- `nativeFieldsOnly` (boolean, optional) — If enabled, only native AcroForm fields from the PDF will be imported and used in the schema, skipping object detection. Defaults to `false`.
- `conditionalGenerationEnabled` (boolean, optional) — When enabled, reads requirements explicitly stated in the form and adds supported root-level JSON Schema conditional validation rules to the generated schema. These rules validate form data when the schema is used for an edit; they do not add interactive UI behavior. If generated edit values do not satisfy the rules, the Edit run fails with `SCHEMA_VALIDATION_ERROR`. Defaults to `false`.

### ParentSplit

The split metadata details for a derivative file. **Availability:** Only included if this file is a derivative of another file, for instance if it was created via a Splitter in a workflow.

- `id` (string, required) — The ID of the split.
- `type` (string, required) — The type of the split.
- `identifier` (string, required) — The identifier of the split.
- `startPage` (integer, required) — The start page of the split.
- `endPage` (integer, required) — The end page of the split.

### EditJSON

Schema definition for a field to edit in a PDF. This is a union type that supports: * `EditStringJSONSchema` - type: ["string", "null"], field_type: "text" | "signature" * `EditNumberJSONSchema` - type: ["number", "null"], field_type: "text" * `EditIntegerJSONSchema` - type: ["integer", "null"], field_type: "text" * `EditBooleanJSONSchema` - type: ["boolean", "null"], field_type: "checkbox" | "radio" * `EditArrayJSONSchema` - type: "array", field_type: "text" | "table" * `EditEnumJSONSchema` - has enum property (no type field), field_type: "radio" | "optionList" | "dropdown" * `EditObjectJSON` - type: "object", field_type: "signature" All variants share common `extend_edit:*` properties for positioning and styling.

- `type` (any, optional) — The JSON schema type of the field. Can be: * A string: "array" or "object" * A nullable tuple array: ["string", "null"], ["number", "null"], ["integer", "null"], ["boolean", "null"] * Omitted for enum fields (use enum property instead)
- `description` (string, optional) — Description of the field
- `extend_edit:field_type` (enum, optional) — The PDF field type to edit. Allowed values depend on the schema type: * `["string", "null"]` → `text`, `signature` * `["number", "null"]` → `text` * `["integer", "null"]` → `text` * `["boolean", "null"]` → `checkbox`, `radio` * `"array"` → `text`, `table` * `"object"` → `signature` * enum fields (no type) → `radio`, `optionList`, `dropdown`
  - Allowed values: `text`, `checkbox`, `radio`, `dropdown`, `optionList`, `signature`, `table`, `unknown`
- `extend_edit:bbox` (EditBoundingBox, optional) — Bounding box coordinates for the field location in the PDF (pixel coordinates)
- `extend_edit:bboxes` (list of EditBoundingBox, optional) — Array of bounding boxes for radio enums. Enum at index i corresponds to bbox at index i.
- `extend_edit:page_index` (integer, optional) — Zero-based page index where the field should be placed
- `extend_edit:text_edit_options` (EditTextOptions, optional) — Text styling options for text fields
- `extend_edit:column_width` (double, optional) — Width of the column as a percentage (for table fields)
- `extend_edit:source_acroform` (EditSourceAcroForm, optional) — Details about the original PDF form field. When Detect Form returns this property, include it unchanged in Edit requests.
- `extend_edit:value` (any, optional) — The value to fill into this field. Can be any type. This will force the value at this field to be filled with this value. If a value is not provided, we will attempt to generate or infer one based on the instructions.
- `extend_edit:image` (EditJsonExtendEditImage, optional) — Image fill for signature fields. Only PNG and JPEG image URLs are supported.
- `extend_edit:row_heights` (list of double, optional) — Array of row height percentages for array/table fields (e.g. [0.25, 0.50, 0.25])
- `items` (EditObjectJSON, optional) — Schema for array items (when type is "array"). Must be an EditObjectJSON.
- `properties` (map from string to EditJSON, optional) — Nested properties for object types. Each property follows the EditJSON structure.
- `enum` (list of string, optional) — Allowed values for enum/dropdown/radio fields
- `extend:descriptions` (list of string, optional) — Human-readable labels for the values in `enum`, in the same order. Include this property when using a schema returned by Detect Form.
- `maxItems` (integer, optional) — Maximum number of rows for array/table fields
- `required` (list of string, optional) — List of required property names (for object types)
- `additionalProperties` (boolean, optional) — Whether additional properties are allowed (for object types)

### EditConditionalClause

Recursive conditional clause for edit schemas. Use these clauses with root-level `if` / `then` / `else`, `dependentRequired`, and logical combinators to model conditional field requirements.

- `properties` (map from string to EditConditionalProperty, optional) — Conditional field constraints keyed by top-level property name.
- `required` (list of string, optional) — List of fields that must be present when this clause applies.
- `dependentRequired` (map from string to list of string, optional) — Map of field names to additional fields that become required when the key field is present.
- `if` (EditConditionalClause, optional) — Recursive conditional clause for edit schemas. Use these clauses with root-level `if` / `then` / `else`, `dependentRequired`, and logical combinators to model conditional field requirements.
- `then` (EditConditionalClause, optional) — Recursive conditional clause for edit schemas. Use these clauses with root-level `if` / `then` / `else`, `dependentRequired`, and logical combinators to model conditional field requirements.
- `else` (EditConditionalClause, optional) — Recursive conditional clause for edit schemas. Use these clauses with root-level `if` / `then` / `else`, `dependentRequired`, and logical combinators to model conditional field requirements.
- `allOf` (list of EditConditionalClause, optional) — List of nested conditional clauses that must all match.
- `oneOf` (list of EditConditionalClause, optional) — List of nested conditional clauses where exactly one must match.
- `anyOf` (list of EditConditionalClause, optional) — List of nested conditional clauses where at least one must match.
- `not` (EditConditionalClause, optional) — Recursive conditional clause for edit schemas. Use these clauses with root-level `if` / `then` / `else`, `dependentRequired`, and logical combinators to model conditional field requirements.

### EditBoundingBox

Bounding box coordinates for the field location in the PDF (pixel coordinates)

- `left` (double, required) — The left coordinate of the bounding box (pixels)
- `top` (double, required) — The top coordinate of the bounding box (pixels)
- `right` (double, required) — The right coordinate of the bounding box (pixels)
- `bottom` (double, required) — The bottom coordinate of the bounding box (pixels)

### EditTextOptions

Text styling options for text fields

- `fontSize` (double, optional) — Font size in points
- `color` (list of integer, optional) — RGB color values from 0 to 255 for text color.
- `opacity` (double, optional) — Text opacity from 0 to 1. Defaults to 1.
- `font` (string, optional) — Font family name
- `combing` (boolean, optional) — Whether this is a combed field (like SSN fields with individual character boxes)
- `maxLength` (integer, optional) — Maximum number of characters allowed
- `multiLine` (boolean, optional) — Whether text can wrap across multiple lines
- `fontColor` (list of integer, optional, deprecated) — Deprecated alias for `color`. RGB color values from 0 to 255.

### EditSourceAcroForm

Details about the original PDF form field. When Detect Form returns this property, include it unchanged in Edit requests.

- `fieldName` (string, required) — Name of the PDF form field.
- `fieldType` (enum, required) — Type of the original native PDF field.
  - Allowed values: `text`, `checkbox`, `radio`, `dropdown`, `optionList`, `signature`
- `optionMap` (list of EditSourceAcroFormOption, optional) — Supported choices for radio, dropdown, and option-list fields.
- `optionValue` (string, optional) — Value used when this option is selected.

### EditJsonExtendEditImage

Image fill for signature fields. Only PNG and JPEG image URLs are supported.

- `image_url` (string, required) — URL of the image to place in the signature field.

### EditObjectJSON

Schema definition for an object field in a PDF edit schema. Used for signature fields and as items schema for arrays/tables.

- `type` (enum, optional) — Must be "object" for object schemas
  - Allowed values: `object`
- `description` (string, optional) — Description of the field
- `extend_edit:field_type` (enum, optional) — The PDF field type. For object schemas, must be "signature".
  - Allowed values: `signature`
- `properties` (map from string to EditJSON, optional) — Nested properties. Each property follows the EditJSON structure.
- `required` (list of string, optional) — List of required property names
- `additionalProperties` (boolean, optional) — Whether additional properties are allowed

### EditConditionalProperty

Field-level schema fragment used inside conditional clauses. These condition objects support nested JSON Schema structure such as `type`, `enum`, `items`, `properties`, `required`, and `contains`, but do not allow any `extend_edit:*` placement or styling keys.

- `type` (any, optional) — JSON Schema type for the conditional property. Can be a simple type such as `"object"` or `"array"`, a nullable tuple like `["string", "null"]`, or omitted for enum-only constraints.
- `description` (string, optional) — Description of the field constraint.
- `enum` (list of EditConditionalPropertyEnumItems, optional) — Allowed values for enum-based conditional constraints.
- `items` (EditConditionalProperty, optional) — Nested array item schema for conditional array constraints.
- `properties` (map from string to EditConditionalProperty, optional) — Nested object property constraints.
- `required` (list of string, optional) — Required nested object properties.
- `additionalProperties` (boolean, optional) — Whether additional nested object properties are allowed.
- `const` (any, optional) — Exact value that the property must match.
- `pattern` (string, optional) — Regular expression that string values must match.
- `contains` (EditConditionalProperty, optional) — Conditional schema that at least one array item must satisfy.
- `minimum` (double, optional) — Inclusive lower bound for numeric values.
- `maximum` (double, optional) — Inclusive upper bound for numeric values.
- `exclusiveMinimum` (double, optional) — Exclusive lower bound for numeric values.
- `exclusiveMaximum` (double, optional) — Exclusive upper bound for numeric values.
- `minLength` (integer, optional) — Minimum string length.
- `maxLength` (integer, optional) — Maximum string length.
- `minItems` (integer, optional) — Minimum number of array items.
- `maxItems` (integer, optional) — Maximum number of array items.
- `minContains` (integer, optional) — Minimum number of matching items for `contains`.
- `maxContains` (integer, optional) — Maximum number of matching items for `contains`.

### EditSourceAcroFormOption

A supported choice for a PDF form field.

- `schemaValue` (string, required) — Value used in the Edit schema.
- `exportValue` (string, required) — Value used by the PDF form field.
- `displayValue` (string, required) — Label shown in the PDF form.

### EditConditionalPropertyEnumItems

## Examples

**Response**

```json
{
  "object": "edit_template",
  "id": "edt_xK9mLPqRtN3vS8wF5hB2cQ",
  "name": "W-9 Template",
  "description": "Fill a W-9 form",
  "file": {
    "object": "file",
    "id": "file_xK9mLPqRtN3vS8wF5hB2cQ",
    "name": "Invoices.pdf",
    "type": "PDF",
    "parentFileId": "file_Zk9mNP12Qw4yTv8BdR3H",
    "metadata": {
      "pageCount": 30,
      "parentSplit": {
        "id": "string",
        "type": "Invoice",
        "identifier": "other_2_9",
        "startPage": 1,
        "endPage": 10
      }
    },
    "createdAt": "2024-03-21T16:45:00Z",
    "updatedAt": "2024-03-21T16:45:00Z"
  },
  "config": {
    "engineVersion": "1.0.0",
    "schema": {
      "type": "object",
      "properties": {},
      "required": [
        "string"
      ],
      "additionalProperties": true,
      "dependentRequired": {},
      "if": {
        "properties": {},
        "required": [
          "string"
        ],
        "dependentRequired": {},
        "allOf": [
          null
        ],
        "oneOf": [
          null
        ],
        "anyOf": [
          null
        ]
      },
      "then": {
        "properties": {},
        "required": [
          "string"
        ],
        "dependentRequired": {},
        "allOf": [
          null
        ],
        "oneOf": [
          null
        ],
        "anyOf": [
          null
        ]
      },
      "else": {
        "properties": {},
        "required": [
          "string"
        ],
        "dependentRequired": {},
        "allOf": [
          null
        ],
        "oneOf": [
          null
        ],
        "anyOf": [
          null
        ]
      },
      "allOf": [
        {
          "properties": {},
          "required": [
            "string"
          ],
          "dependentRequired": {},
          "allOf": [
            null
          ],
          "oneOf": [
            null
          ],
          "anyOf": [
            null
          ]
        }
      ],
      "oneOf": [
        {
          "properties": {},
          "required": [
            "string"
          ],
          "dependentRequired": {},
          "allOf": [
            null
          ],
          "oneOf": [
            null
          ],
          "anyOf": [
            null
          ]
        }
      ],
      "anyOf": [
        {
          "properties": {},
          "required": [
            "string"
          ],
          "dependentRequired": {},
          "allOf": [
            null
          ],
          "oneOf": [
            null
          ],
          "anyOf": [
            null
          ]
        }
      ],
      "not": {
        "properties": {},
        "required": [
          "string"
        ],
        "dependentRequired": {},
        "allOf": [
          null
        ],
        "oneOf": [
          null
        ],
        "anyOf": [
          null
        ]
      }
    },
    "instructions": "string",
    "schemaGenerationInstructions": "string",
    "advancedOptions": {
      "tableParsingEnabled": true,
      "flattenPdf": true,
      "radioEnumsEnabled": true,
      "nativeFieldsOnly": true,
      "conditionalGenerationEnabled": true
    }
  },
  "schemaConfig": {
    "engineVersion": "1.0.0",
    "inputSchema": {
      "type": "object",
      "properties": {},
      "required": [
        "string"
      ],
      "additionalProperties": true,
      "dependentRequired": {},
      "if": {
        "properties": {},
        "required": [
          "string"
        ],
        "dependentRequired": {},
        "allOf": [
          null
        ],
        "oneOf": [
          null
        ],
        "anyOf": [
          null
        ]
      },
      "then": {
        "properties": {},
        "required": [
          "string"
        ],
        "dependentRequired": {},
        "allOf": [
          null
        ],
        "oneOf": [
          null
        ],
        "anyOf": [
          null
        ]
      },
      "else": {
        "properties": {},
        "required": [
          "string"
        ],
        "dependentRequired": {},
        "allOf": [
          null
        ],
        "oneOf": [
          null
        ],
        "anyOf": [
          null
        ]
      },
      "allOf": [
        {
          "properties": {},
          "required": [
            "string"
          ],
          "dependentRequired": {},
          "allOf": [
            null
          ],
          "oneOf": [
            null
          ],
          "anyOf": [
            null
          ]
        }
      ],
      "oneOf": [
        {
          "properties": {},
          "required": [
            "string"
          ],
          "dependentRequired": {},
          "allOf": [
            null
          ],
          "oneOf": [
            null
          ],
          "anyOf": [
            null
          ]
        }
      ],
      "anyOf": [
        {
          "properties": {},
          "required": [
            "string"
          ],
          "dependentRequired": {},
          "allOf": [
            null
          ],
          "oneOf": [
            null
          ],
          "anyOf": [
            null
          ]
        }
      ],
      "not": {
        "properties": {},
        "required": [
          "string"
        ],
        "dependentRequired": {},
        "allOf": [
          null
        ],
        "oneOf": [
          null
        ],
        "anyOf": [
          null
        ]
      }
    },
    "instructions": "string",
    "advancedOptions": {
      "tableParsingEnabled": true,
      "radioEnumsEnabled": true,
      "nativeFieldsOnly": true,
      "conditionalGenerationEnabled": true
    }
  },
  "createdAt": "2024-03-21T16:45:00Z",
  "updatedAt": "2024-03-21T16:45:00Z"
}
```