Skip to main content
POST
Create a custom field definition

Authorizations

Authorization
string
header
required

Personal API key, e.g. Authorization: Bearer sajn_sk_.... Not scope-limited — acts as the issuing user.

Headers

Sajn-Version
enum<string>

API version for this request. Without it, the request uses the organization's default version; an organization without a default is pinned to the latest version by its first request.

Available options:
2026-09,
2026-10
Sajn-Workspace
string

ID of the workspace this request acts in, from GET /api/v1/workspaces. Without it, an API key acts in its default workspace. The token's user must be a member of the workspace; an OAuth token only accepts the workspace it was granted for. A workspace that doesn't exist or can't be reached returns 403 WORKSPACE_ACCESS_DENIED.

Idempotency-Key
string

Makes retries safe. A retry with the same key and the same request replays the stored response for 24 hours (header Idempotent-Replayed: true); the same key with a different request returns 400.

Maximum string length: 255

Body

application/json

Body

Create custom field request

name
string
required

Custom field name (required)

Minimum string length: 1
type
enum<string>
required

Field type: DOCUMENT or CONTACT (required)

Available options:
DOCUMENT,
CONTACT
inputType
enum<string>
required

Input type (required): TEXT, NUMBER, DATE, CHECKBOX, SELECT, TEXTAREA, EMAIL, PHONE, or URL

Available options:
TEXT,
NUMBER,
DATE,
EMAIL,
PHONE,
URL,
BOOLEAN,
SELECT,
JSON,
TEXTAREA
defaultValue
string | null

Default value for this field

required
boolean
default:false

Whether this field is required (default: false)

options
string[] | null

The options of a SELECT field, for example ["Small","Large"]. Required for SELECT.

Response

200

id
string
required

Unique custom field identifier

name
string
required

Custom field name

type
enum<string>
required

Field type: DOCUMENT or CONTACT

Available options:
DOCUMENT,
CONTACT
inputType
enum<string>
required

Input type: TEXT, NUMBER, DATE, BOOLEAN, SELECT, TEXTAREA, EMAIL, PHONE, URL, or JSON

Available options:
TEXT,
NUMBER,
DATE,
EMAIL,
PHONE,
URL,
BOOLEAN,
SELECT,
JSON,
TEXTAREA
defaultValue
string | null
required

Default value for this field

required
boolean
required

Whether this field is required

options
string[] | null
required

The options of a SELECT field, for example ["Small","Large"]. Null for other input types.

createdAt
string<date-time>
required

Date and time when custom field was created

updatedAt
string<date-time>
required

Date and time when custom field was last updated