---
title: "Create a task"
method: POST
path: "/projects/{project_id}/tasks"
tags: ["Tasks"]
---

# Create a task

`POST /projects/{project_id}/tasks`

Creates a task in the project. Requires *Manage tasks* admin right.
Keep in mind, that <code>initial_tm_leverage</code> attribute will be empty in server response. It's being calculated after the task is created and this process may take some time.

Requires <code>write_tasks</code> OAuth access scope.

## Path parameters

- `project_id` string, required

## Request body

- object
  - `title` string, required — Task title.
  - `description` string — Brief task description. Used as instructions for AI in <code>automatic_translation</code> and <code>lqa_by_ai</code> task types.
  - `due_date` string — Due date in <code>Y-m-d H:i:s</code> format. Example: "2024-12-24 23:59:59"
  - `keys` string[] — List of keys identifiers, included in task. Required if <code>parent_task_id</code> is not specified
  - `languages` object[] — List of languages in the task. For <code>automatic_translation</code> and <code>lqa_by_ai</code> task types, unsupported languages will be ignored and returned in <code>skipped_languages</code> in the response.
    - `language_iso` string, required — Language code.
    - `users` string[] — List of user identifiers assigned to work on the language. **Must** be omitted for `automatic_translation` and `lqa_by_ai` task types.
    - `groups` string[] — List of user-group identifiers assigned to work on the language. **Must** be omitted for `automatic_translation` and `lqa_by_ai` task types.
  - `source_language_iso` string — Source language code for the task. Falls back to project base language if not provided.
  - `auto_close_languages` boolean — Whether languages should be closed automatically upon completion of the last item. **Must** be <code>true</code> or omit the property for `automatic_translation` and `lqa_by_ai` task types.
  - `auto_close_task` boolean — Whether the task should be automatically closed upon all language completion. **Must** be <code>true</code> or omit the property for `automatic_translation` and `lqa_by_ai` task types.
  - `auto_close_items` boolean — Whether the <code>translation</code> task items should be automatically marked as completed on edit. **Must** be <code>true</code> or omit the property for `automatic_translation` and `lqa_by_ai` task types.
  - `task_type` 'translation' | 'automatic_translation' | 'lqa_by_ai' | 'review' — Specify if task type is <code>translation</code> (default), <code>automatic_translation</code>, <code>lqa_by_ai</code> or <code>review</code>.
  - `parent_task_id` number — If <code>task_type</code> is <code>review</code>, it can have a parent task. Current task will be opened when parent task is closed.
  - `closing_tags` string[] — Tags that will be added to affected keys when task is closed.
  - `do_lock_translations` boolean — If set to true, will lock translations for non-assigned project members.
  - `custom_translation_status_ids` string[] — IDs of custom translation statuses that will be applied to task items after item is completed.
  - `save_ai_translation_to_tm` boolean — Save AI translations to Translation Memory. Only applicable for tasks with <code>task_type</code> set to <code>automatic_translation</code>. Defaults to false.
  - `apply_ai_tm100_matches` boolean — Apply 100% translation memory matches. Only applicable for tasks with <code>task_type</code> set to <code>automatic_translation</code>. Defaults to false.
  - `mark_verified` boolean — Mark translations as verified. Only applicable for tasks with <code>task_type</code> set to <code>automatic_translation</code>. Defaults to true.
  - `translate_all_segments` boolean — Translate all segments including those with existing translations or TM matches. Only applicable for tasks with <code>task_type</code> set to <code>automatic_translation</code> in projects with segmentation enabled. When false, only empty segments will be translated. This parameter can only be set during task creation and cannot be modified or retrieved afterwards. Defaults to false.

## Response `200`

OK

- object
  - `project_id` string
  - `task` Tasks
    - `task_id` number — A unique task identifier.
    - `title` string — Task title.
    - `description` string — Short description of the task.
    - `status` string — Status of the task. Allowed values are <code>completed</code>, <code>in_progress</code>, <code>created</code>, <code>queued</code>.
    - `progress` number — Task progress in percents (0% - 100%).
    - `due_date` string — Due date.
    - `due_date_timestamp` number — Unix timestamp of the Due date.
    - `keys_count` number — Total number of keys in the task.
    - `words_count` number — Total number of source words in the task.
    - `created_at` string — Date and time of the task creation.
    - `created_at_timestamp` number — Unix timestamp when the task was created.
    - `created_by` number — Identifier of a user, who has created the task.
    - `created_by_email` string — E-mail of a user, who has created the task.
    - `can_be_parent` boolean — Can task be assigned as a parent task.
    - `task_type` 'translation' | 'automatic_translation' | 'lqa_by_ai' | 'review' — <code>translation</code>, <code>automatic_translation</code>, <code>lqa_by_ai</code> or <code>review</code>.
    - `parent_task_id` number — ID of the parent task.
    - `closing_tags` unknown[] — Tags that will be added to affected keys when task is closed.
      - unknown
    - `do_lock_translations` boolean — If set to true, will lock translations for non-assigned project members.
    - `languages` object[] — List of languages in the task.
      - `language_iso` string — Language code.
      - `language_id` number — A unique language identifier in the system.
      - `language_name` string — Language name.
      - `users` unknown[] — List of users, assigned to work on the language.
        - unknown
      - `groups` object — List of groups, assigned to work on the language.
        - `group` object
          - `id` number — A unique identifier of the user group.
          - `name` string — Name of the group.
      - `keys` unknown[] — List of keys identifiers, included in task for this language.
        - unknown
      - `status` string — Status of the language in the task. Allowed values are <code>completed</code>, <code>in progress</code>, <code>created</code>.
      - `progress` number — Language progress in percents (0% - 100%).
      - `initial_tm_leverage` object — Deprecated. We return data for compatibility, but please, rely on "tm_leverage" instead.
        - `0%+` number — Number of words with TM match from 0% to 60%.
        - `60%+` number — Number of words with TM match from 60% to 75%.
        - `75%+` number — Number of words with TM match from 75% to 95%.
        - `95%+` number — Number of words with TM match from 95% to 100%.
        - `100%` number — Number of words with TM 100% match.
      - `tm_leverage` object — Translation Memory leverage calculated for a task. It indicates how many words translators can fetch from the memory instead of translating everything from scratch. For large tasks it may take time to calculate TM leverage after the task creation. If the "status" is "pending", you will see null value and need to retrieve the data again (with a small delay).
        - `status` 'pending' | 'completed' — Status of the translation memory leverage.
        - `value` object, nullable
          - `0%+` number — Number of words with TM match from 0% to 50%.
          - `50%+` number — Number of words with TM match from 50% to 75%.
          - `75%+` number — Number of words with TM match from 75% to 85%.
          - `85%+` number — Number of words with TM match from 85% to 95%.
          - `95%+` number — Number of words with TM match from 95% to 100%.
          - `100%` number — Number of words with TM 100% match.
      - `keys_count` number — Number of keys for the language.
      - `words_count` number — Number of source words for the language.
      - `done_words_count` number — Number of translated words for the language.
      - `completed_at` string — Date and time of the language completion.
      - `completed_at_timestamp` number — Unix timestamp when the language was completed.
      - `completed_by` number — Identifier of a user, who has completed the language.
      - `completed_by_email` string — E-mail of a user, who has completed the language.
    - `source_language_iso` string — Source language code of the task.
    - `auto_close_languages` boolean — Whether languages should be closed automatically upon completion of the last item.
    - `auto_close_task` boolean — Whether the task should be automatically closed upon all language completion.
    - `auto_close_items` boolean — Whether the <code>translation</code> task items should be automatically marked as completed on edit.
    - `completed_at` string — Date and time of the task completion.
    - `completed_at_timestamp` number — Unix timestamp when the task was completed.
    - `completed_by` number — Identifier of a user, who has completed the task.
    - `completed_by_email` string — E-mail of a user, who has completed the task.
    - `custom_translation_status_ids` unknown[] — IDs of custom translation statuses that will be applied to task items after item is completed.
      - unknown
  - `skipped_languages` object[] — Present only when some requested languages were ignored for AI tasks. Each entry describes an ignored language and the reason.
    - `language_iso` string, required — Language code that was ignored.
    - `reason` string, required — Reason why language was ignored.
    - `message` string — Human-readable explanation.

---

[API](https://skmtc.net/lokalise/apis/default-projects.md) · [All operations](https://skmtc.net/lokalise/apis/default-projects/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lokalise/default-projects/versions/7bceba421b12/schema)
