---
title: "[Internal] Create field"
method: POST
path: "/api/fields"
tags: ["Fields"]
---

# \[Internal\] Create field

`POST /api/fields`

## Request

- Base URL: `https://api.typless.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.typless.com/api/fields`
- Auth: none declared

## Request body

- CreateFieldRequest
  - `display_name` string, required
  - `description` string, required
  - `extractable` boolean, required
  - `field_type` 'AUTHOR' | 'STRING' | 'VAT_ID' | 'CURRENCY' | 'DATE' | 'NUMBER' | 'BOOLEAN' | 'SELECT' | 'CONSTANT' | 'MULTISELECT' | 'DATETIME' | 'UUID' | 'TAG', required
  - `required` boolean
  - `unique` boolean
  - `default_value` string
  - `multiple_values` boolean
  - `preset` 'SUPPLIER_NAME' | 'BUYER_NAME' | 'SUPPLIER_VAT_ID' | 'BUYER_VAT_ID' | 'SUPPLIER_EMAIL' | 'BUYER_EMAIL' | 'INVOICE_NUMBER' | 'INVOICE_DATE' | 'PAYMENT_DUE_DATE' | 'SERVICE_DATE' | 'RECEIVED_AT_DATE' | 'TOTAL_AMOUNT' | 'NET_AMOUNT' | 'VAT_AMOUNT' | 'CURRENCY' | 'PAYMENT_REFERENCE' | 'IBAN' | 'PURCHASING_ORDER' | 'DELIVERY_NOTE' | 'PAYMENT_PURPOSE_CODE' | 'DISCOUNT_PERCENTAGE' | 'DISCOUNT_NET_AMOUNT' | 'DISCOUNT_TOTAL_AMOUNT' | 'SUPPLIER_COUNTRY_CODE' | 'BUYER_COUNTRY_CODE' | 'DOCUMENT_DATE' | 'DOCUMENT_NUMBER' | 'RECEIPT_TYPE' | 'DELIVERY_NUMBER' | 'PACKING_LIST_NUMBER' | 'ACCOUNT_NUMBER' | 'START_BALANCE' | 'END_BALANCE' | 'CONTRACT_PARTY_1' | 'CONTRACT_PARTY_2' | 'CONTRACT_PARTY_1_SIGNEE' | 'CONTRACT_PARTY_2_SIGNEE' | 'CONTRACT_TITLE' | 'CONTRACT_SUMMARY' | 'TRANSPORTER_NAME' | 'TRANSPORTER_VAT_ID' | 'DOCUMENT_ANNEXES' | 'CONTENT_DESCRIPTION' | 'SENDER_INSTRUCTIONS' | 'TRANSPORT_COSTS_PAYER' | 'OTHER_TRANSPORTERS' | 'TRANSPORTER_COMMENTS' | 'CUSTOMS_NUMBER' | 'GROSS_WEIGHT' | 'GROSS_VOLUME' | 'ADDITIONAL_CONVENTIONS' | 'ADDRESS_STREET_NAME' | 'ADDRESS_STREET_NUMBER' | 'ADDRESS_CITY' | 'ADDRESS_POSTAL_CODE' | 'ADDRESS_COUNTRY' | 'LINE_ITEM_DESCRIPTION' | 'LINE_ITEM_IDENTIFICATION_CODE' | 'LINE_ITEM_BUYER_IDENTIFICATION_CODE' | 'LINE_ITEM_SERIES_NUMBER' | 'LINE_ITEM_QUANTITY' | 'LINE_ITEM_UNIT' | 'LINE_ITEM_UNIT_NET' | 'LINE_ITEM_UNIT_VAT' | 'LINE_ITEM_UNIT_TOTAL' | 'LINE_ITEM_NET_AMOUNT' | 'LINE_ITEM_VAT_AMOUNT' | 'LINE_ITEM_TOTAL_AMOUNT' | 'LINE_ITEM_DISCOUNT_NET_AMOUNT' | 'LINE_ITEM_DISCOUNT_TOTAL_AMOUNT' | 'LINE_ITEM_DISCOUNT_PERCENTAGE' | 'LINE_ITEM_VAT_RATE' | 'LINE_ITEM_ORDER_DOCUMENT_NUMBER' | 'LINE_ITEM_TRANSACTION_DATE' | 'LINE_ITEM_TRANSACTION_TYPE'
  - `configuration` FieldConfigurationInput
    - `select_options` SelectFieldValue[]
      - `value` string, required
      - `display_value` string

## Response `200`

Successful Response

- FieldDTO
  - `display_name` string, required
  - `description` string, required
  - `extractable` boolean, required
  - `field_type` 'AUTHOR' | 'STRING' | 'VAT_ID' | 'CURRENCY' | 'DATE' | 'NUMBER' | 'BOOLEAN' | 'SELECT' | 'CONSTANT' | 'MULTISELECT' | 'DATETIME' | 'UUID' | 'TAG', required
  - `required` boolean
  - `unique` boolean
  - `default_value` string
  - `multiple_values` boolean
  - `preset` 'SUPPLIER_NAME' | 'BUYER_NAME' | 'SUPPLIER_VAT_ID' | 'BUYER_VAT_ID' | 'SUPPLIER_EMAIL' | 'BUYER_EMAIL' | 'INVOICE_NUMBER' | 'INVOICE_DATE' | 'PAYMENT_DUE_DATE' | 'SERVICE_DATE' | 'RECEIVED_AT_DATE' | 'TOTAL_AMOUNT' | 'NET_AMOUNT' | 'VAT_AMOUNT' | 'CURRENCY' | 'PAYMENT_REFERENCE' | 'IBAN' | 'PURCHASING_ORDER' | 'DELIVERY_NOTE' | 'PAYMENT_PURPOSE_CODE' | 'DISCOUNT_PERCENTAGE' | 'DISCOUNT_NET_AMOUNT' | 'DISCOUNT_TOTAL_AMOUNT' | 'SUPPLIER_COUNTRY_CODE' | 'BUYER_COUNTRY_CODE' | 'DOCUMENT_DATE' | 'DOCUMENT_NUMBER' | 'RECEIPT_TYPE' | 'DELIVERY_NUMBER' | 'PACKING_LIST_NUMBER' | 'ACCOUNT_NUMBER' | 'START_BALANCE' | 'END_BALANCE' | 'CONTRACT_PARTY_1' | 'CONTRACT_PARTY_2' | 'CONTRACT_PARTY_1_SIGNEE' | 'CONTRACT_PARTY_2_SIGNEE' | 'CONTRACT_TITLE' | 'CONTRACT_SUMMARY' | 'TRANSPORTER_NAME' | 'TRANSPORTER_VAT_ID' | 'DOCUMENT_ANNEXES' | 'CONTENT_DESCRIPTION' | 'SENDER_INSTRUCTIONS' | 'TRANSPORT_COSTS_PAYER' | 'OTHER_TRANSPORTERS' | 'TRANSPORTER_COMMENTS' | 'CUSTOMS_NUMBER' | 'GROSS_WEIGHT' | 'GROSS_VOLUME' | 'ADDITIONAL_CONVENTIONS' | 'ADDRESS_STREET_NAME' | 'ADDRESS_STREET_NUMBER' | 'ADDRESS_CITY' | 'ADDRESS_POSTAL_CODE' | 'ADDRESS_COUNTRY' | 'LINE_ITEM_DESCRIPTION' | 'LINE_ITEM_IDENTIFICATION_CODE' | 'LINE_ITEM_BUYER_IDENTIFICATION_CODE' | 'LINE_ITEM_SERIES_NUMBER' | 'LINE_ITEM_QUANTITY' | 'LINE_ITEM_UNIT' | 'LINE_ITEM_UNIT_NET' | 'LINE_ITEM_UNIT_VAT' | 'LINE_ITEM_UNIT_TOTAL' | 'LINE_ITEM_NET_AMOUNT' | 'LINE_ITEM_VAT_AMOUNT' | 'LINE_ITEM_TOTAL_AMOUNT' | 'LINE_ITEM_DISCOUNT_NET_AMOUNT' | 'LINE_ITEM_DISCOUNT_TOTAL_AMOUNT' | 'LINE_ITEM_DISCOUNT_PERCENTAGE' | 'LINE_ITEM_VAT_RATE' | 'LINE_ITEM_ORDER_DOCUMENT_NUMBER' | 'LINE_ITEM_TRANSACTION_DATE' | 'LINE_ITEM_TRANSACTION_TYPE'
  - `configuration` FieldConfigurationOutput
    - `select_options` SelectFieldValue[]
      - `value` string, required
      - `display_value` string
  - `name` string, required
  - `aggregate_id` string, uuid, nullable, required
  - `tenant_id` string, uuid, nullable, required
  - `created_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/typless/apis/typless-api.md) · [All operations](https://skmtc.dev/typless/apis/typless-api/llms.txt) · [OpenAPI document](https://skmtc.dev/typless/apis/typless-api/revisions/d614787a47ef?raw)
