curl --request PUT \
--url https://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fieldLabel": "Updated Communication Preference",
"options": [
"Email",
"Phone",
"SMS",
"WhatsApp",
"LinkedIn"
],
"description": "Updated description"
}
'import requests
url = "https://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId}"
payload = {
"fieldLabel": "Updated Communication Preference",
"options": ["Email", "Phone", "SMS", "WhatsApp", "LinkedIn"],
"description": "Updated description"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
fieldLabel: 'Updated Communication Preference',
options: ['Email', 'Phone', 'SMS', 'WhatsApp', 'LinkedIn'],
description: 'Updated description'
})
};
fetch('https://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId}', 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://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'fieldLabel' => 'Updated Communication Preference',
'options' => [
'Email',
'Phone',
'SMS',
'WhatsApp',
'LinkedIn'
],
'description' => 'Updated description'
]),
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://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId}"
payload := strings.NewReader("{\n \"fieldLabel\": \"Updated Communication Preference\",\n \"options\": [\n \"Email\",\n \"Phone\",\n \"SMS\",\n \"WhatsApp\",\n \"LinkedIn\"\n ],\n \"description\": \"Updated description\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fieldLabel\": \"Updated Communication Preference\",\n \"options\": [\n \"Email\",\n \"Phone\",\n \"SMS\",\n \"WhatsApp\",\n \"LinkedIn\"\n ],\n \"description\": \"Updated description\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fieldLabel\": \"Updated Communication Preference\",\n \"options\": [\n \"Email\",\n \"Phone\",\n \"SMS\",\n \"WhatsApp\",\n \"LinkedIn\"\n ],\n \"description\": \"Updated description\"\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "Custom field updated successfully",
"data": {
"id": 123,
"entityType": "candidate",
"fieldLabel": "Updated Communication Preference",
"fieldType": "select",
"options": [
"Email",
"Phone",
"SMS",
"WhatsApp",
"LinkedIn"
],
"description": "Updated description",
"parentSection": "Personal Details",
"createdAt": "2024-01-15T10:00:00.000Z",
"updatedAt": "2024-01-15T11:00:00.000Z"
}
}Update a custom field
Update an existing custom field definition. All body fields are
optional, but at least one of fieldLabel, parentSection,
options, or description must be provided. fieldType and
entityType are immutable and cannot be updated after creation.
curl --request PUT \
--url https://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fieldLabel": "Updated Communication Preference",
"options": [
"Email",
"Phone",
"SMS",
"WhatsApp",
"LinkedIn"
],
"description": "Updated description"
}
'import requests
url = "https://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId}"
payload = {
"fieldLabel": "Updated Communication Preference",
"options": ["Email", "Phone", "SMS", "WhatsApp", "LinkedIn"],
"description": "Updated description"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
fieldLabel: 'Updated Communication Preference',
options: ['Email', 'Phone', 'SMS', 'WhatsApp', 'LinkedIn'],
description: 'Updated description'
})
};
fetch('https://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId}', 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://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'fieldLabel' => 'Updated Communication Preference',
'options' => [
'Email',
'Phone',
'SMS',
'WhatsApp',
'LinkedIn'
],
'description' => 'Updated description'
]),
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://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId}"
payload := strings.NewReader("{\n \"fieldLabel\": \"Updated Communication Preference\",\n \"options\": [\n \"Email\",\n \"Phone\",\n \"SMS\",\n \"WhatsApp\",\n \"LinkedIn\"\n ],\n \"description\": \"Updated description\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fieldLabel\": \"Updated Communication Preference\",\n \"options\": [\n \"Email\",\n \"Phone\",\n \"SMS\",\n \"WhatsApp\",\n \"LinkedIn\"\n ],\n \"description\": \"Updated description\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner-api.taptalent.io/v1/partner/custom-fields/{customFieldId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fieldLabel\": \"Updated Communication Preference\",\n \"options\": [\n \"Email\",\n \"Phone\",\n \"SMS\",\n \"WhatsApp\",\n \"LinkedIn\"\n ],\n \"description\": \"Updated description\"\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "Custom field updated successfully",
"data": {
"id": 123,
"entityType": "candidate",
"fieldLabel": "Updated Communication Preference",
"fieldType": "select",
"options": [
"Email",
"Phone",
"SMS",
"WhatsApp",
"LinkedIn"
],
"description": "Updated description",
"parentSection": "Personal Details",
"createdAt": "2024-01-15T10:00:00.000Z",
"updatedAt": "2024-01-15T11:00:00.000Z"
}
}Authorizations
Company-scoped API key. Production keys are prefixed sk_live_,
sandbox keys sk_test_, each followed by 22 base62 characters
(pattern ^sk_(live|test)_[0-9A-Za-z]{22}$). Generate keys in the
TapTalent dashboard under Account Settings → Developers → API Key
Management; a key is shown once at generation and old keys are
invalidated immediately on regeneration.
Path Parameters
The unique identifier of the custom field to update. The published documentation types this parameter as a string, but this specification models the underlying integer identifier used by the API.
Body
Request body for updating a custom field definition. All fields are
optional, but at least one must be provided. fieldType and
entityType are immutable and cannot be updated after creation.
Updated display name.
Updated parent section. Allowed values depend on the field's
entityType.
For candidate: Personal Details, Social Contacts,
Experience, Education, Skills, Miscellaneous.
For job: Job Overview, Job Description, Job Pipeline Stages, Location, Revenue Details, Client Company Details,
Salary Details, Candidate Requirements, Candidate Form Requirements, Screening Questions.
Updated options (for select and multi-select fields). Must be non-empty.
1Updated description.
Response
Custom field updated.
Envelope returned after updating a custom field definition.
Was this page helpful?
.png?fit=max&auto=format&n=lKy84_BssSCy2hcz&q=85&s=ac7c949427cc2893306f6036415f087e)