The type tells anyformat what kind of value to expect, and shapes how it’s validated and stored. This page is the single source of truth for field types — it lists every type, its name in the UI and in the API, and how to use it well.Documentation Index
Fetch the complete documentation index at: https://docs.anyformat.ai/llms.txt
Use this file to discover all available pages before exploring further.
All field types at a glance
| UI name | API data_type | Example value |
|---|---|---|
| Text | string | "INV-001" |
| Decimal number | float | 1250.99 |
| Integer number | integer | 42 |
| Date | date | "2024-03-15" |
| Date & time | datetime | "2024-03-15T10:30:00Z" |
| Yes / No | boolean | true |
| Select | enum | One of a predefined list |
| Multiselect | multi_select | A list of values from a predefined list |
| Object (Subtable) | object | Repeating structured rows |
| List | list | ["item1", "item2"] |

Field definition
Every field requires at least:name— Unique identifier (snake_case).description— Clear explanation of what to extract. Used by the AI as guidance.data_type— One of the types listed above.
object, enum, multi_select) also take extra properties documented below.
Simple types
Text (string)
Text (string)
Best for: Values that vary widely (company names, addresses).Watch out for: Don’t use if values are from a known list — use Select instead.
Date
Date
Best for: Calendar dates when time isn’t relevant. Returned as
YYYY-MM-DD.Watch out for: If time appears in the document, prefer Date & time.Date & time (datetime)
Date & time (datetime)
Best for: Precise timestamps when documents include time. Returned in ISO 8601.Watch out for: Ambiguity with timezones and format variations.
Decimal number (float)
Decimal number (float)
Best for: Money, percentages, measurements.Watch out for: Avoid if values should be whole numbers.
Integer number
Integer number
Best for: Counts, quantities, item numbers.Watch out for: Not suitable for currency.
Yes / No (boolean)
Yes / No (boolean)
Best for: Clear true/false questions (Is paid? Is signed?).Watch out for: Avoid vague cues like “maybe” or “often” — make instructions explicit.
Select (enum)
Use enum when the extracted value must be one of a predefined set of options. The field requires an enum_options array.
null.
Why use Select:
- Enforces consistency
- Avoids spelling variations
- Makes analytics and filtering reliable
- Keep options short and unambiguous
- Provide clear descriptions for each option
- Avoid overlapping meanings
- Prefer Select over Text when values repeat
Multiselect (multi_select)
Same shape as enum, but the field can return multiple matched options as an array.
Select vs. Multiselect
| Feature | Select (enum) | Multiselect (multi_select) |
|---|---|---|
| Selection | Single value | Multiple values |
| Return type | string or null | array of strings |
| Use case | Mutually exclusive options | Non-exclusive categories |
Object / Subtable (object)
Use object to extract a structured group of properties. Object fields require a nested_fields array.
Single nested object
Repeating rows (Subtable)
Object fields also capture repeating tabular data — invoice line items, transaction rows, anything that’s a list of “things with the same structure”.- You see the same set of fields repeating
- The document contains a list/table where each row is one “item”
- You need a structured value per row (not a blob of text)
- Keep subtable fields minimal at first (3–5 columns)
- Use clear row-level instructions: “Extract one row per item. Ignore headers and totals.”
- Add shared fields like
currencyat the top level, not inside each row - Start with the most reliable columns first (description + amount), then expand

Nested objects
Objects can contain objects. Useful for documents like insurance policies with multiple coverage types:Complete example
A workflow definition that uses several field types together:Tips for better results
- Be specific in descriptions. “The invoice number, usually starting with INV-” beats “Invoice number”.
- Use appropriate types.
floatfor amounts,datefor dates — notstring. - Keep field names consistent. snake_case throughout.
- Describe location only when helpful. “Total amount shown at the bottom right” can disambiguate, but the AI usually doesn’t need it.
What’s next?
Fields
The three properties every field has
Instructions
Write better extraction instructions
