Skip to main content
POST
/
crm
/
objects
/
{objectTypeId}
/
fields
Create a CRM field
curl --request POST \
  --url https://rest.breakcold.com/api/v1/crm/objects/{objectTypeId}/fields \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "slug": "<string>",
  "name": "<string>",
  "fieldType": "<string>",
  "description": "<string>",
  "isRequired": true,
  "isMultiple": true,
  "showInCreateModal": true,
  "defaultValue": "<unknown>",
  "validation": {},
  "targetObjectTypeId": "<string>",
  "notifyOnAssign": true,
  "interactionRollupMode": "<string>",
  "relationCardinality": "<string>",
  "inverseName": "<string>",
  "inverseSlug": "<string>",
  "defaultValueTemplate": "<string>",
  "isComputed": true,
  "computeExpression": "<string>",
  "isIdentifier": true,
  "options": [
    {
      "id": "<string>",
      "fieldDefinitionId": "<string>",
      "value": "<string>",
      "label": "<string>",
      "order": 123,
      "isDefault": true,
      "isActive": true,
      "color": "<string>"
    }
  ]
}
'
import requests

url = "https://rest.breakcold.com/api/v1/crm/objects/{objectTypeId}/fields"

payload = {
"slug": "<string>",
"name": "<string>",
"fieldType": "<string>",
"description": "<string>",
"isRequired": True,
"isMultiple": True,
"showInCreateModal": True,
"defaultValue": "<unknown>",
"validation": {},
"targetObjectTypeId": "<string>",
"notifyOnAssign": True,
"interactionRollupMode": "<string>",
"relationCardinality": "<string>",
"inverseName": "<string>",
"inverseSlug": "<string>",
"defaultValueTemplate": "<string>",
"isComputed": True,
"computeExpression": "<string>",
"isIdentifier": True,
"options": [
{
"id": "<string>",
"fieldDefinitionId": "<string>",
"value": "<string>",
"label": "<string>",
"order": 123,
"isDefault": True,
"isActive": True,
"color": "<string>"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
slug: '<string>',
name: '<string>',
fieldType: '<string>',
description: '<string>',
isRequired: true,
isMultiple: true,
showInCreateModal: true,
defaultValue: '<unknown>',
validation: {},
targetObjectTypeId: '<string>',
notifyOnAssign: true,
interactionRollupMode: '<string>',
relationCardinality: '<string>',
inverseName: '<string>',
inverseSlug: '<string>',
defaultValueTemplate: '<string>',
isComputed: true,
computeExpression: '<string>',
isIdentifier: true,
options: [
{
id: '<string>',
fieldDefinitionId: '<string>',
value: '<string>',
label: '<string>',
order: 123,
isDefault: true,
isActive: true,
color: '<string>'
}
]
})
};

fetch('https://rest.breakcold.com/api/v1/crm/objects/{objectTypeId}/fields', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://rest.breakcold.com/api/v1/crm/objects/{objectTypeId}/fields",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'slug' => '<string>',
'name' => '<string>',
'fieldType' => '<string>',
'description' => '<string>',
'isRequired' => true,
'isMultiple' => true,
'showInCreateModal' => true,
'defaultValue' => '<unknown>',
'validation' => [

],
'targetObjectTypeId' => '<string>',
'notifyOnAssign' => true,
'interactionRollupMode' => '<string>',
'relationCardinality' => '<string>',
'inverseName' => '<string>',
'inverseSlug' => '<string>',
'defaultValueTemplate' => '<string>',
'isComputed' => true,
'computeExpression' => '<string>',
'isIdentifier' => true,
'options' => [
[
'id' => '<string>',
'fieldDefinitionId' => '<string>',
'value' => '<string>',
'label' => '<string>',
'order' => 123,
'isDefault' => true,
'isActive' => true,
'color' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://rest.breakcold.com/api/v1/crm/objects/{objectTypeId}/fields"

payload := strings.NewReader("{\n \"slug\": \"<string>\",\n \"name\": \"<string>\",\n \"fieldType\": \"<string>\",\n \"description\": \"<string>\",\n \"isRequired\": true,\n \"isMultiple\": true,\n \"showInCreateModal\": true,\n \"defaultValue\": \"<unknown>\",\n \"validation\": {},\n \"targetObjectTypeId\": \"<string>\",\n \"notifyOnAssign\": true,\n \"interactionRollupMode\": \"<string>\",\n \"relationCardinality\": \"<string>\",\n \"inverseName\": \"<string>\",\n \"inverseSlug\": \"<string>\",\n \"defaultValueTemplate\": \"<string>\",\n \"isComputed\": true,\n \"computeExpression\": \"<string>\",\n \"isIdentifier\": true,\n \"options\": [\n {\n \"id\": \"<string>\",\n \"fieldDefinitionId\": \"<string>\",\n \"value\": \"<string>\",\n \"label\": \"<string>\",\n \"order\": 123,\n \"isDefault\": true,\n \"isActive\": true,\n \"color\": \"<string>\"\n }\n ]\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://rest.breakcold.com/api/v1/crm/objects/{objectTypeId}/fields")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"slug\": \"<string>\",\n \"name\": \"<string>\",\n \"fieldType\": \"<string>\",\n \"description\": \"<string>\",\n \"isRequired\": true,\n \"isMultiple\": true,\n \"showInCreateModal\": true,\n \"defaultValue\": \"<unknown>\",\n \"validation\": {},\n \"targetObjectTypeId\": \"<string>\",\n \"notifyOnAssign\": true,\n \"interactionRollupMode\": \"<string>\",\n \"relationCardinality\": \"<string>\",\n \"inverseName\": \"<string>\",\n \"inverseSlug\": \"<string>\",\n \"defaultValueTemplate\": \"<string>\",\n \"isComputed\": true,\n \"computeExpression\": \"<string>\",\n \"isIdentifier\": true,\n \"options\": [\n {\n \"id\": \"<string>\",\n \"fieldDefinitionId\": \"<string>\",\n \"value\": \"<string>\",\n \"label\": \"<string>\",\n \"order\": 123,\n \"isDefault\": true,\n \"isActive\": true,\n \"color\": \"<string>\"\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://rest.breakcold.com/api/v1/crm/objects/{objectTypeId}/fields")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"slug\": \"<string>\",\n \"name\": \"<string>\",\n \"fieldType\": \"<string>\",\n \"description\": \"<string>\",\n \"isRequired\": true,\n \"isMultiple\": true,\n \"showInCreateModal\": true,\n \"defaultValue\": \"<unknown>\",\n \"validation\": {},\n \"targetObjectTypeId\": \"<string>\",\n \"notifyOnAssign\": true,\n \"interactionRollupMode\": \"<string>\",\n \"relationCardinality\": \"<string>\",\n \"inverseName\": \"<string>\",\n \"inverseSlug\": \"<string>\",\n \"defaultValueTemplate\": \"<string>\",\n \"isComputed\": true,\n \"computeExpression\": \"<string>\",\n \"isIdentifier\": true,\n \"options\": [\n {\n \"id\": \"<string>\",\n \"fieldDefinitionId\": \"<string>\",\n \"value\": \"<string>\",\n \"label\": \"<string>\",\n \"order\": 123,\n \"isDefault\": true,\n \"isActive\": true,\n \"color\": \"<string>\"\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "field": {
    "id": "<string>",
    "workspaceId": "<string>",
    "objectTypeId": "<string>",
    "slug": "<string>",
    "name": "<string>",
    "fieldType": "<string>",
    "isSystem": true,
    "isRequired": true,
    "isHidden": true,
    "isMultiple": true,
    "isPrimary": true,
    "order": 123,
    "createdAt": 123,
    "updatedAt": 123,
    "description": "<string>",
    "isReadOnly": true,
    "showInCreateModal": true,
    "defaultValue": "<unknown>",
    "validation": {},
    "targetObjectTypeId": "<string>",
    "relationDefinitionId": "<string>",
    "notifyOnAssign": true,
    "defaultValueTemplate": "<string>",
    "isComputed": true,
    "computeExpression": "<string>",
    "isIdentifier": true
  }
}
{
"field": {
"id": "<string>",
"workspaceId": "<string>",
"objectTypeId": "<string>",
"slug": "<string>",
"name": "<string>",
"fieldType": "<string>",
"isSystem": true,
"isRequired": true,
"isHidden": true,
"isMultiple": true,
"isPrimary": true,
"order": 123,
"createdAt": 123,
"updatedAt": 123,
"description": "<string>",
"isReadOnly": true,
"showInCreateModal": true,
"defaultValue": "<unknown>",
"validation": {},
"targetObjectTypeId": "<string>",
"relationDefinitionId": "<string>",
"notifyOnAssign": true,
"defaultValueTemplate": "<string>",
"isComputed": true,
"computeExpression": "<string>",
"isIdentifier": true
}
}
{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>",
"details": "<unknown>",
"retryAfterMs": 123
}
}
{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>",
"details": "<unknown>",
"retryAfterMs": 123
}
}
{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>",
"details": "<unknown>",
"retryAfterMs": 123
}
}
{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>",
"details": "<unknown>",
"retryAfterMs": 123
}
}
{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>",
"details": "<unknown>",
"retryAfterMs": 123
}
}

Authorizations

Authorization
string
header
required

Breakcold public API key, for example Bearer bc_live_....

Headers

X-Breakcold-Organization-Id
string

Breakcold organization ID. API keys already carry their organization, so most API-key requests do not need this header. Use it only when Breakcold asks you to choose an organization for a signed-in user token.

Path Parameters

objectTypeId
string
required

Body

application/json
slug
string
required
name
string
required
fieldType
string
required
description
string
isRequired
boolean
isMultiple
boolean
showInCreateModal
boolean
defaultValue
any
validation
object
targetObjectTypeId
string
Minimum string length: 6
notifyOnAssign
boolean
interactionRollupMode
string
relationCardinality
string
inverseName
string
inverseSlug
string
defaultValueTemplate
string
isComputed
boolean
computeExpression
string
isIdentifier
boolean
options
object[]

Response

Success

field
object
required