---
title: "Partial update engine field"
method: PATCH
path: "/api/v1/engine_fields/{engineFieldID}"
tags: ["Engine Field"]
---

# Partial update engine field

`PATCH /api/v1/engine_fields/{engineFieldID}`

Update part of an engine field object.

## Path parameters

- `engineFieldID` integer, required

## Request body

- EngineFieldBase
  - `id` integer — Engine Field object ID.
  - `url` string, uri — Engine Field object URL.
  - `engine` string, uri — Engine object URL.
  - `name` string — Name of the field. Only numbers, characters and underscores are allowed. The value must be unique across all fields for given engine.
  - `label` string — Human readable name of the field.
  - `type` 'string' | 'number' | 'date' | 'enum' — Type of the field.
  - `subtype` string, nullable — Subtype for more specific field validation. Possible values depend on the field type: **String subtypes:** - `null`: Plain text without any constraints - `alphanumeric`: Only characters a-z, A-Z, and 0-9 (whitespace stripped). Example: `A 123b` → `A123b`. - `numeric`: Only numbers (whitespace stripped, useful for leading zeros). Example: `01 23` → `0123`. - `country_code`: Two or three-letter country code (ISO 3166). Example: `CZ` or `CZE`. - `currency_code`: Three-letter currency code (ISO 4217). Example: `USD`. - `iban`: International Bank Account Number (up to 34 alphanumeric characters). Example: `IE12BOFI90000112345678`. - `vat_number`: VAT identification number (starts with country code, 2-13 characters). Example: `CZ1234567890`. **Number subtypes:** - `null`: Plain number - `integer`: Whole number. Example: `10.0` → `10`. - `rate`: Typically in range of 0-100%. Example: `10%` → `10`, `15,00` → `15`. - `amount`: Financial notation (parenthesis for negative values). Example: `(100)` → `-100`, `$10.5` → `10.5`, `▲10` → `-10`. **Date subtypes:** - `null`: Plain date - `period_begin`: Beginning of date period (fallback to first day of month) - `period_end`: End of date period (fallback to last day of month)
  - `pre_trained_field_id` string, nullable — Pre-trained field identifier for common document elements. See the [pre_trained_fields](/api/engine-field#list-pre-trained-fields) endpoint for available values.
  - `tabular` boolean — Whether the field belongs to a multivalue row. Default is false. Must be in sync with all assigned schemas - tabular = true means that the field is a child of tabular multivalue.
  - `multiline` 'true' | 'false' — Multiline configuration. Allowed values are: - `true`: Field's parent is of type tuple - `false`: Header field

## Response `200`

OK

- EngineField
  - `id` integer, required — Engine Field object ID.
  - `url` string, uri, required — Engine Field object URL.
  - `engine` string, uri, required — Engine object URL.
  - `name` string, required — Name of the field. Only numbers, characters and underscores are allowed. The value must be unique across all fields for given engine.
  - `label` string, required — Human readable name of the field.
  - `type` 'string' | 'number' | 'date' | 'enum', required — Type of the field.
  - `subtype` string, nullable, required — Subtype for more specific field validation. Possible values depend on the field type: **String subtypes:** - `null`: Plain text without any constraints - `alphanumeric`: Only characters a-z, A-Z, and 0-9 (whitespace stripped). Example: `A 123b` → `A123b`. - `numeric`: Only numbers (whitespace stripped, useful for leading zeros). Example: `01 23` → `0123`. - `country_code`: Two or three-letter country code (ISO 3166). Example: `CZ` or `CZE`. - `currency_code`: Three-letter currency code (ISO 4217). Example: `USD`. - `iban`: International Bank Account Number (up to 34 alphanumeric characters). Example: `IE12BOFI90000112345678`. - `vat_number`: VAT identification number (starts with country code, 2-13 characters). Example: `CZ1234567890`. **Number subtypes:** - `null`: Plain number - `integer`: Whole number. Example: `10.0` → `10`. - `rate`: Typically in range of 0-100%. Example: `10%` → `10`, `15,00` → `15`. - `amount`: Financial notation (parenthesis for negative values). Example: `(100)` → `-100`, `$10.5` → `10.5`, `▲10` → `-10`. **Date subtypes:** - `null`: Plain date - `period_begin`: Beginning of date period (fallback to first day of month) - `period_end`: End of date period (fallback to last day of month)
  - `pre_trained_field_id` string, nullable, required — Pre-trained field identifier for common document elements. See the [pre_trained_fields](/api/engine-field#list-pre-trained-fields) endpoint for available values.
  - `tabular` boolean, required — Whether the field belongs to a multivalue row. Default is false. Must be in sync with all assigned schemas - tabular = true means that the field is a child of tabular multivalue.
  - `multiline` 'true' | 'false', required — Multiline configuration. Allowed values are: - `true`: Field's parent is of type tuple - `false`: Header field

## Other responses

- `400` — Invalid input data.
- `401` — The username/password is invalid or token is invalid (e.g. expired).
- `403` — Insufficient permission, missing authentication, invalid CSRF token and similar issue.
- `404` — The specified resource was not found.
- `409` — Conflict
- `413` — Payload too large (especially for files uploaded).
- `429` — Request rate is too high, wait before sending more requests. See [Rate Limiting](/guides/overview#rate-limiting) for more details.
- `500` — Server failure while processing the request.
- `502` — Invalid response from the upstream server.
- `503` — We're temporarily offline for maintenance. Please try again later.
- `504` — Upstream server could not complete the request in time.

---

[API](https://skmtc.dev/rossum/apis/rossum-api.md) · [All operations](https://skmtc.dev/rossum/apis/rossum-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rossum/rossum-api/revisions/f1b5a910991d/schema)
