Skip to content
Documentation
Explore guides

For administrators

Custom field definitions

List, create, show, update, and delete CRM custom field definitions.

Contents

Before you start

Send Accept: application/json and Authorization: Bearer YOUR_TOKEN to https://{subdomain}.talentohq.com. See API for authentication.

Path and query identifiers are UUID strings.

Successful responses use 200. Validation failures use 422. Missing or invalid tokens, and records that cannot be found, use 401.

List custom field definitions

GET /api/v3/custom_field_definitions

Lists CRM custom field definitions. target_type must be one of Customer, Provider, Contact, Lead, Opportunity, or Assignment when present.

Parameter Type Description
target_type string Optional CRM target type filter.
active boolean Optional active filter.

Results are paginated. Pass page to move through pages of 50 records.

Response 200

[
  {
    "id": "1ae2fd31-da27-434e-92f2-b8f4480b57a8",
    "name": "Industry",
    "target_type": "Lead",
    "field_type": "string",
    "required": false,
    "active": true,
    "position": 1,
    "track_history": true,
    "options": [
      {
        "id": "2c2d2fd9-fe83-480a-adb8-351efc6a9808",
        "label": "SaaS",
        "active": true,
        "position": 1
      },
      {
        "id": "795c7a6e-cfb7-4883-bef8-2fb380de92c8",
        "label": "Retail",
        "active": true,
        "position": 2
      }
    ]
  }
]

Create a custom field definition

POST /api/v3/custom_field_definitions

On create, options is an array of option labels.

Request

{
  "name": "Industry",
  "target_type": "Lead",
  "field_type": "string",
  "required": false,
  "active": true,
  "position": 1,
  "track_history": true,
  "options": [
    "SaaS",
    "Retail"
  ]
}

Response 200

{
  "id": "1ae2fd31-da27-434e-92f2-b8f4480b57a8",
  "name": "Industry",
  "target_type": "Lead",
  "field_type": "string",
  "required": false,
  "active": true,
  "position": 1,
  "track_history": true,
  "options": [
    {
      "id": "2c2d2fd9-fe83-480a-adb8-351efc6a9808",
      "label": "SaaS",
      "active": true,
      "position": 1
    },
    {
      "id": "795c7a6e-cfb7-4883-bef8-2fb380de92c8",
      "label": "Retail",
      "active": true,
      "position": 2
    }
  ]
}

Show a custom field definition

GET /api/v3/custom_field_definitions/{custom_field_definition_id}

Parameter Type Description
custom_field_definition_id string (UUID) Custom field definition id.

Response 200

{
  "id": "1ae2fd31-da27-434e-92f2-b8f4480b57a8",
  "name": "Industry",
  "target_type": "Lead",
  "field_type": "string",
  "required": false,
  "active": true,
  "position": 1,
  "track_history": true,
  "options": [
    {
      "id": "2c2d2fd9-fe83-480a-adb8-351efc6a9808",
      "label": "SaaS",
      "active": true,
      "position": 1
    },
    {
      "id": "795c7a6e-cfb7-4883-bef8-2fb380de92c8",
      "label": "Retail",
      "active": true,
      "position": 2
    }
  ]
}

Update a custom field definition

PUT /api/v3/custom_field_definitions/{custom_field_definition_id}

target_type and field_type cannot be changed after create. On update, options is an array of objects with id, label, active, and position.

Request

{
  "name": "Industry updated",
  "required": true,
  "active": true,
  "position": 2,
  "track_history": false,
  "options": [
    {
      "id": "2c2d2fd9-fe83-480a-adb8-351efc6a9808",
      "label": "SaaS",
      "active": true,
      "position": 1
    }
  ]
}

Response 200

{
  "id": "1ae2fd31-da27-434e-92f2-b8f4480b57a8",
  "name": "Industry updated",
  "target_type": "Lead",
  "field_type": "string",
  "required": true,
  "active": true,
  "position": 2,
  "track_history": false,
  "options": [
    {
      "id": "2c2d2fd9-fe83-480a-adb8-351efc6a9808",
      "label": "SaaS",
      "active": true,
      "position": 1
    },
    {
      "id": "795c7a6e-cfb7-4883-bef8-2fb380de92c8",
      "label": "Retail",
      "active": true,
      "position": 2
    }
  ]
}

Delete a custom field definition

DELETE /api/v3/custom_field_definitions/{custom_field_definition_id}

Response 200

{}