---
title: "Creates a field"
method: POST
path: "/fields"
tags: ["Fields"]
---

# Creates a field

`POST /fields`

Defines a new custom field (text, number, pick list, etc.) that can be attached to supported Rillet entities for reporting and automation.
After creation, use create-field-value to seed allowed pick-list entries or default values teams should see in the UI.

## Request body

- CreateFieldRequest
  - `name` string, required — The name of the field.
  - `values` CreateFieldRequestValue[], required
    - `name` string, required

## Response `200`

OK

- Field
  - `id` string, uuid, required
  - `name` string, required — The name of the field.
  - `values` FieldValue[], required — All possible values for this field.
    - `id` string, uuid, required
    - `name` string, required — The name of the field value.
    - `deactivated` boolean, required — Whether the field value is deactivated. Deactivated values cannot be assigned to new entities but remain visible on existing entities.
  - `settings` FieldSettingsMap — The settings of the field. EXPENSES: Applies to Bills, Credit Card Transactions and Manual Entries. REVENUE: Applies to Customers, Contracts, Invoices and Credit Memos.
    - `EXPENSES` FieldSettings
      - `mandatory` boolean, required — Whether the field is mandatory. A free tagging field cannot be mandatory.
      - `display` 'STANDALONE' | 'FREE_TAG', required — The display type of the field. STANDALONE: Field values are displayed separately as a single select option. Recommended for fields that apply to all transactions. FREE_TAG: Field values are grouped and displayed as multi-selectable tags. Recommended for fields that do not apply to all transactions.
    - `REVENUE` FieldSettings
      - `mandatory` boolean, required — Whether the field is mandatory. A free tagging field cannot be mandatory.
      - `display` 'STANDALONE' | 'FREE_TAG', required — The display type of the field. STANDALONE: Field values are displayed separately as a single select option. Recommended for fields that apply to all transactions. FREE_TAG: Field values are grouped and displayed as multi-selectable tags. Recommended for fields that do not apply to all transactions.
  - `updated_at` string, date-time, required — ISO 8601 timestamp in UTC timezone (must end with 'Z')

## Other responses

- `default` — Error

---

[API](https://skmtc.net/rillet/apis/rillet-accounting-api.md) · [All operations](https://skmtc.net/rillet/apis/rillet-accounting-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rillet/rillet-accounting-api/versions/a2ab794dd5f2/schema)
