Skip to content
Leadtime
English
Esc
↑↓navigate↵open⌘Jpreview

Create or update task status

Creates a new task status. All fields are required.

Step-by-step process:

  1. Provide a status name (e.g., “In Review”, “Awaiting Approval”)
  2. Select an icon in format :icon_name: (e.g., :hourglass_flowing_sand:, :check_mark:)
  3. Choose the base status type (New, InProgress, Feedback, Resolved, Closed, or Backlog)
  4. 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/statuses
Authorization
AuthorizationOAuth2 access token · headerrequired
Scopes:api:write
or
AuthorizationBearer token (JWT) · headerrequired
Query parameters
fieldsToReturnstring

Comma-separated list of top-level response fields to return. Overrides the endpoint compact default unless responseShape=full is used.

responseShapestring

Advanced 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:compactfull
Header parameters
LT-Response-Shapestring

Advanced override. Set to full only when you need the complete endpoint response, including nested fields that are not selectable with fieldsToReturn.

Allowed:full
Request body
requiredapplication/json
iconstringrequired

Icon for the task status in format :icon_name: (e.g., :hourglass_flowing_sand:, :check_mark:, :x:)

namestringrequired

Name of the task status

translationsTaskStatusTranslationDto[]required

Translations for the task status

Show properties
Array of TaskStatusTranslationDto
languagestringrequired

Language code (e.g., "en", "de")

namestringrequired

Translated name of the task status

typestringrequired

Type of the task status

Allowed:NewInProgressFeedbackBacklogResolvedClosed
Responses
201

Task status created/updated successfully

iconstringrequired

Icon for the task status in format :icon_name: (e.g., :hourglass_flowing_sand:, :check_mark:, :x:)

idstringrequired

Unique identifier of the task status

namestringrequired

Name of the task status

sortnumberrequired

Sort order of the task status

translationsTaskStatusTranslationDto[]required

Translations for the task status

Show properties
Array of TaskStatusTranslationDto
languagestringrequired

Language code (e.g., "en", "de")

namestringrequired

Translated name of the task status

typestringrequired

Type of the task status

Allowed:NewInProgressFeedbackBacklogResolvedClosed
401

Unauthorized - Invalid or missing authentication token

403

Forbidden - Insufficient API scopes or permissions

Try it
Server
Authorization
Parameters
Bodyapplication/json
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"
}'
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"
}