---
title: "Define a new custom field"
method: POST
path: "/workflows/custom_fields"
tags: ["Workflows"]
---

# Define a new custom field

`POST /workflows/custom_fields`

Create a new custom field definition for a given entity type.

🔒 Requires: `custom_fields:write` scope

## Request body

- CustomFieldDefinitionParams — The parameters that can be passed to the create custom field definition API.
  - `editable_in_ui` boolean — Should this custom field be editable in the UI.
  - `entity` 'sale' | 'line_item' | 'customer' | 'product', required — The type of entity.
  - `name` string, required
  - `print_on_receipt` boolean — Should this custom field be printed on receipts.
  - `title` string, required
  - `type` 'string' | 'integer' | 'boolean' | 'date' | 'product_id' | 'qrcode' | 'string_array', required — The type of the value to be stored using this custom field.
  - `visible_in_ui` boolean — Should this custom field be visible in the UI.

## Response `200`

A custom field definition.

- object
  - `data` CustomFieldDefinition — The type, name, and configuration of a custom field.
    - `created_at` string, date-time — The creation timestamp in UTC.
    - `editable_in_ui` boolean — Is this custom field be editable in the UI.
    - `entity` 'sale' | 'line_item' | 'customer' | 'product' — The type of entity.
    - `id` string
    - `name` string
    - `title` string
    - `type` 'string' | 'integer' | 'boolean' | 'date' | 'product_id' | 'qrcode' | 'string_array' — The type of the value to be stored using this custom field.
    - `visible_in_ui` boolean — Is this custom field visible in the UI.

---

[API](https://skmtc.net/lightspeedhq/apis/api-2026-07.md) · [All operations](https://skmtc.net/lightspeedhq/apis/api-2026-07/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lightspeedhq/api-2026-07/revisions/72d4ceb46dbb/schema)
