Skip to main content
POST
/
workspace
/
{workspace_id}
/
custom-fields
Create workspace custom field
curl --request POST \
  --url https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/custom-fields \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "field_label": "<string>",
  "field_name": "<string>",
  "is_preset": false,
  "preset_value": "<string>"
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "field_name": "<string>",
  "field_label": "<string>",
  "is_preset": true,
  "preset_value": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.firma.dev/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

API key for authentication. Use your API key directly without any prefix (e.g., 'your-api-key'). Bearer prefix is optional but not required.

Path Parameters

workspace_id
string<uuid>
required

Workspace ID

Body

application/json
field_label
string
required

Display label (1-100 characters)

Maximum string length: 100
field_name
string

Optional machine-readable name (auto-generated from label if not provided)

Maximum string length: 50
is_preset
boolean
default:false

If true, field has a preset value for all users

preset_value
string

Preset value (max 500 characters, only used when is_preset=true)

Maximum string length: 500

Response

Custom field created successfully

A custom field definition for a workspace

id
string<uuid>

Unique identifier

field_name
string

Machine-readable field name (auto-generated from label)

field_label
string

Human-readable display label

is_preset
boolean

If true, this field has a preset value for all users

preset_value
string | null

Preset value (only used when is_preset=true)

created_at
string<date-time>
updated_at
string<date-time>