Update task custom field
Updates an existing task custom field. All fields are required - provide complete field configuration.
What can be updated:
- Field name and description
- Field type (note: changing type may affect existing data)
- Select options (for Select and MultiSelect types)
- Multilingual translations
Important: This is a full update - all fields must be provided. Use PATCH endpoints if you need partial updates (not available for custom fields).
PUT
/administration/task-settings/custom-fields/{id}Authorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:writeor
AuthorizationBearer token (JWT) · headerrequiredPath parameters
idstringrequiredQuery parameters
fieldsToReturnstringComma-separated list of top-level response fields to return. Overrides the endpoint compact default unless responseShape=full is used.
responseShapestringAdvanced override. Omit for the endpoint compact default. Use full only when you need the complete endpoint response, including nested fields that are not selectable with fieldsToReturn.
Allowed:
compactfullHeader parameters
LT-Response-ShapestringAdvanced override. Set to full only when you need the complete endpoint response, including nested fields that are not selectable with fieldsToReturn.
Allowed:
fullRequest body
requiredapplication/jsondescriptionstringrequiredDefault custom field description (used as fallback when no translation exists for user's language)
idstringCustom field ID (optional, taken from URL)
namestringrequiredDefault custom field name (used as fallback when no translation exists for user's language)
selectOptionsFieldOptionDto[]requiredSelect options (required for Select and MultiSelect types)
Show propertiesHide properties
Array of
FieldOptionDtoidobjectOption ID
translationsCustomFieldTranslationDto[]requiredLanguage-specific translations for this option. Overrides the default value when user's language matches.
Show propertiesHide properties
Array of
CustomFieldTranslationDtolanguagestringrequiredLanguage code following ISO 639-1 format (e.g., "en", "de", "fr")
namestringrequiredTranslated name for this language. Overrides the default name when user's language matches.
valuestringrequiredDefault option value (used as fallback when no translation exists for user's language)
translationsCustomFieldTranslationDto[]requiredLanguage-specific translations for field name. Overrides the default name when user's language matches.
Show propertiesHide properties
Array of
CustomFieldTranslationDtolanguagestringrequiredLanguage code following ISO 639-1 format (e.g., "en", "de", "fr")
namestringrequiredTranslated name for this language. Overrides the default name when user's language matches.
translationsDescriptionsCustomFieldTranslationDto[]requiredLanguage-specific translations for field description. Overrides the default description when user's language matches.
Show propertiesHide properties
Array of
CustomFieldTranslationDtolanguagestringrequiredLanguage code following ISO 639-1 format (e.g., "en", "de", "fr")
namestringrequiredTranslated name for this language. Overrides the default name when user's language matches.
typestringrequiredCustom field type
Allowed:
TextTextareaNumberDateCheckboxSelectMultiSelectCurrencyUrlResponses
200Task custom field updated successfully
descriptionobject | nullrequiredDefault custom field description (used as fallback when no translation exists for user's language)
entitystringrequiredEntity type (always Task for task custom fields)
Allowed:
TaskProjectOrganizationObjectidstringrequiredCustom field ID
namestringrequiredDefault custom field name (used as fallback when no translation exists for user's language)
selectOptionsFieldOptionDto[]requiredSelect options with their translations. Each option has a default value and language-specific overrides.
Show propertiesHide properties
Array of
FieldOptionDtoidobjectOption ID
translationsCustomFieldTranslationDto[]requiredLanguage-specific translations for this option. Overrides the default value when user's language matches.
Show propertiesHide properties
Array of
CustomFieldTranslationDtolanguagestringrequiredLanguage code following ISO 639-1 format (e.g., "en", "de", "fr")
namestringrequiredTranslated name for this language. Overrides the default name when user's language matches.
valuestringrequiredDefault option value (used as fallback when no translation exists for user's language)
sortnumberrequiredSort order
translationsCustomFieldTranslationDto[]requiredLanguage-specific translations for field name. Overrides the default name when user's language matches.
Show propertiesHide properties
Array of
CustomFieldTranslationDtolanguagestringrequiredLanguage code following ISO 639-1 format (e.g., "en", "de", "fr")
namestringrequiredTranslated name for this language. Overrides the default name when user's language matches.
typestringrequiredCustom field type
Allowed:
TextTextareaNumberDateCheckboxSelectMultiSelectCurrencyUrl401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
Request
curl -X PUT "https://leadtime.app/api/public/administration/task-settings/custom-fields/string" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "Task priority level",
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Priority",
"selectOptions": [
{
"id": "1",
"translations": [
{
"language": "en",
"name": "Priority"
}
],
"value": "High"
}
],
"translations": [
{
"language": "en",
"name": "Priority"
}
],
"translationsDescriptions": [
{
"language": "en",
"name": "Priority"
}
],
"type": "Select"
}'const response = await fetch("https://leadtime.app/api/public/administration/task-settings/custom-fields/string", {
method: "PUT",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"description": "Task priority level",
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Priority",
"selectOptions": [
{
"id": "1",
"translations": [
{
"language": "en",
"name": "Priority"
}
],
"value": "High"
}
],
"translations": [
{
"language": "en",
"name": "Priority"
}
],
"translationsDescriptions": [
{
"language": "en",
"name": "Priority"
}
],
"type": "Select"
})
});import requests
response = requests.put(
"https://leadtime.app/api/public/administration/task-settings/custom-fields/string",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
json={
"description": "Task priority level",
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Priority",
"selectOptions": [
{
"id": "1",
"translations": [
{
"language": "en",
"name": "Priority"
}
],
"value": "High"
}
],
"translations": [
{
"language": "en",
"name": "Priority"
}
],
"translationsDescriptions": [
{
"language": "en",
"name": "Priority"
}
],
"type": "Select"
},
)Response
{
"description": "Task priority level",
"entity": "Task",
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Priority",
"selectOptions": [
{
"id": "1",
"translations": [
{
"language": "en",
"name": "Priority"
}
],
"value": "High"
}
],
"sort": 1,
"translations": [
{
"language": "en",
"name": "Priority"
}
],
"type": "Select"
}Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions