---
title: "Create workspace custom field"
method: POST
path: "/workspace/{workspace_id}/custom-fields"
tags: ["Custom Fields"]
---

# Create workspace custom field

`POST /workspace/{workspace_id}/custom-fields`

Create a new custom field definition for a workspace

## Path parameters

- `workspace_id` string, uuid, required

## Request body

- object
  - `field_label` string, required — Display label (1-100 characters)
  - `field_name` string — Optional machine-readable name (auto-generated from label if not provided)
  - `is_preset` boolean — If true, field has a preset value for all users
  - `preset_value` string — Preset value (max 500 characters, only used when is_preset=true)

## Response `201`

Custom field created successfully

- WorkspaceCustomField — A custom field definition for a workspace
  - `id` string, uuid, required — Unique identifier
  - `field_name` string, required — Machine-readable field name (auto-generated from label)
  - `field_label` string, required — Human-readable display label
  - `is_preset` boolean — If true, this field has a preset value for all users
  - `preset_value` string, nullable — Preset value (only used when is_preset=true)
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `400` — Bad Request - Validation failed
- `401` — Unauthorized - Invalid or missing API key
- `409` — Conflict - A custom field with this name already exists

---

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