---
title: "Define a typed custom field for contacts (e.g. score, tier). Returns invalid_kind error if kind is unknown. Limited to 2"
method: POST
path: "/api/v1/custom-fields"
tags: ["custom-fields"]
---

# Define a typed custom field for contacts (e.g. score, tier). Returns invalid_kind error if kind is unknown. Limited to 2

`POST /api/v1/custom-fields`

## Request

- Base URL: `https://crispy.sh`
- URL: `https://crispy.sh/api/v1/custom-fields`
- Auth: HTTP bearer

## Request body

- object
  - `name` string, required: Field name (must be unique per user).
  - `kind` 'text' | 'number' | 'date' | 'url' | 'select' | 'multi_select', required: Field type: text, number, date, url, select, or multi_select.
  - `options` string[]: Allowed option values (required for select and multi_select kinds).

## Response `200`

Success

## Other responses

- `401`: Missing or expired API key
- `403`: Insufficient key scope or permission denied
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/crispy/apis/crispy-rest-api.md) · [All operations](https://skmtc.dev/crispy/apis/crispy-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crispy/apis/crispy-rest-api/revisions/6bed0974d9ce?raw)
