Create Custom Field
POST/custom-fields/
Create Custom Field.
Supports Custom Objects, Company (Business), and Project Management tasks (objectKey: "task", optional scopes). Contact and Opportunity fields continue to use the Locations custom-fields endpoints.
Request
API Version
v3- application/json
- Body
- Example (auto)
Bodyrequired
Location Id
Field name
Description of the field
Placeholder text for the field
Whether the field should be shown in forms
Options for the field (Optional, valid only for SINGLE_OPTIONS, MULTIPLE_OPTIONS, RADIO, CHECKBOX, TEXTBOX_LIST type)
Allowed file formats for uploads. Options include: .pdf, .docx, .doc, .jpg, .jpeg, .png, .gif, .csv, .xlsx, .xls, all
.pdf.docx.doc.jpg.jpeg.png.gif.csv.xlsx.xlsallType of field that you are trying to create
TEXTLARGE_TEXTNUMERICALPHONEMONETORYCHECKBOXSINGLE_OPTIONSMULTIPLE_OPTIONSDATETEXTBOX_LISTFILE_UPLOADRADIOField key. For Custom Objects: custom_object.{objectKey}.{fieldKey}. For standard objects such as tasks: task.{fieldKey} (e.g. task.priority_n). When setting values via the Projects Tasks API, omit the task. prefix in customFields.
Object this field belongs to. Use task for Project Management task fields, or custom_object.{key} for custom objects (e.g. custom_object.pet).
Whether the field should be unique within the object. Only applicable for custom objects with TEXT, LARGE_TEXT, NUMERICAL, and PHONE field types.
Maximum file limit for uploads. Applicable only for fields with a data type of FILE_UPLOAD.
Determines if users can add a custom option value different from the predefined options in records for RADIO type fields. A custom value added in one record does not automatically become an option and will not appear as an option for other records.
ID of the parent folder
Optional visibility scopes for Project Management / task fields. Each entry limits the field to a space, folder, list, or workspace. Omit or pass [] for location-wide fields. Example: [{ "scopeType": "list", "scopeId": "<listId>" }].
{
"locationId": "ve9EPM428h8vShlRW1KT",
"name": "Name",
"description": "Pet name field",
"placeholder": "Enter pet name",
"showInForms": true,
"options": [
{
"key": "option_a",
"label": "Option A"
}
],
"acceptedFormats": [
".pdf",
".jpg"
],
"dataType": "TEXT",
"fieldKey": "task.my_field",
"objectKey": "task",
"isUnique": false,
"maxFileLimit": 2,
"allowCustomOption": true,
"parentId": "3v34PM428h8vShlRW1KT",
"scopes": [
{
"scopeType": "list",
"scopeId": "6a102435124ecfb348bd5507"
}
]
}
Successful response
- application/json
- Schema
- Example (auto)
Schema
The custom field or folder matching the requested id
{
"field": {
"id": "661c06b4ffde146bdb469442",
"locationId": "ve9EPM428h8vShlRW1KT",
"name": "Pet Name",
"fieldKey": "custom_object.pet.name",
"objectKey": "custom_object.pet",
"dataType": "TEXT",
"parentId": "3v34PM428h8vShlRW1KT",
"showInForms": true,
"dateAdded": "2025-01-02T09:35:39.032Z",
"dateUpdated": "2025-01-02T09:35:39.032Z"
}
}