Create or update task status
Creates a new task status. All fields are required.
Step-by-step process:
- Provide a status name (e.g., “In Review”, “Awaiting Approval”)
- Select an icon in format
:icon_name:(e.g.,:hourglass_flowing_sand:,:check_mark:) - Choose the base status type (New, InProgress, Feedback, Resolved, Closed, or Backlog)
- Add multilingual translations for the status name
Status types: Each custom status must be based on one of these types:
- New: Initial state, task not started
- InProgress: Active work phase
- Feedback: Needs input or review
- Resolved: Completed but not closed
- Closed: Finished and archived
- Backlog: Planned for later
Icon format:
Icons use emoji shortcodes in the format :icon_name:. Examples:
:hourglass_flowing_sand:for time-based statuses:check_mark:for completed statuses:x:for cancelled statuses:rocket:for active statuses
Multilingual support: Provide translations for status name. Leadtime automatically displays the correct text based on the user language.
Note: After creation, assign this status to specific task types to make it available in their workflows.
POST
/administration/task-settings/statusesAuthorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:writeor
AuthorizationBearer token (JWT) · headerrequiredQuery 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/jsoniconstringrequiredIcon for the task status in format :icon_name: (e.g., :hourglass_flowing_sand:, :check_mark:, :x:)
namestringrequiredName of the task status
translationsTaskStatusTranslationDto[]requiredTranslations for the task status
Show propertiesHide properties
Array of
TaskStatusTranslationDtolanguagestringrequiredLanguage code (e.g., "en", "de")
namestringrequiredTranslated name of the task status
typestringrequiredType of the task status
Allowed:
NewInProgressFeedbackBacklogResolvedClosedResponses
201Task status created/updated successfully
iconstringrequiredIcon for the task status in format :icon_name: (e.g., :hourglass_flowing_sand:, :check_mark:, :x:)
idstringrequiredUnique identifier of the task status
namestringrequiredName of the task status
sortnumberrequiredSort order of the task status
translationsTaskStatusTranslationDto[]requiredTranslations for the task status
Show propertiesHide properties
Array of
TaskStatusTranslationDtolanguagestringrequiredLanguage code (e.g., "en", "de")
namestringrequiredTranslated name of the task status
typestringrequiredType of the task status
Allowed:
NewInProgressFeedbackBacklogResolvedClosed401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
Request
curl -X POST "https://leadtime.app/api/public/administration/task-settings/statuses" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"icon": ":hourglass_flowing_sand:",
"name": "In Progress",
"translations": [
{
"language": "en",
"name": "In Progress"
},
{
"language": "de",
"name": "In Bearbeitung"
}
],
"type": "InProgress"
}'const response = await fetch("https://leadtime.app/api/public/administration/task-settings/statuses", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"icon": ":hourglass_flowing_sand:",
"name": "In Progress",
"translations": [
{
"language": "en",
"name": "In Progress"
},
{
"language": "de",
"name": "In Bearbeitung"
}
],
"type": "InProgress"
})
});import requests
response = requests.post(
"https://leadtime.app/api/public/administration/task-settings/statuses",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
json={
"icon": ":hourglass_flowing_sand:",
"name": "In Progress",
"translations": [
{
"language": "en",
"name": "In Progress"
},
{
"language": "de",
"name": "In Bearbeitung"
}
],
"type": "InProgress"
},
)Response
{
"icon": ":hourglass_flowing_sand:",
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "In Progress",
"sort": 1,
"translations": [
{
"language": "en",
"name": "In Progress"
},
{
"language": "de",
"name": "In Bearbeitung"
}
],
"type": "InProgress"
}Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions