---
title: "Create a Project"
method: POST
path: "/v2/projects"
tags: ["Projects"]
---

# Create a Project

`POST /v2/projects`

Create a Project. A Project is a collection of Documents.

A Project is associated with exactly one Memory.

Projects appear in the dashboard of the web app.

## Request body

- object
  - `name` string, required — A name for the Project.
  - `memory_id` integer, required — The Memory to associate with this new Project.
  - `job_id` integer — The Job to associate with this new Project. If a Job ID is not provided then a new Job will be created to contain the Project.
  - `due_date` integer — The due date. Measured in seconds since the Unix epoch.
  - `metadata` object — A JSON object of key/value string pairs. Stores custom project information.
  - `workflowTemplateId` integer — The workflow template used to create this project. WorkflowTemplateIds can be retrieved via the /workflows/templates endpoint. If not specified then the organization default workflowTemplateId will be used.
  - `workflow_template_name` string — Name of the workflow for the project, if a workflowTemplateId is passed, this field will be ignored.
  - `llm_provider` string — The LLM provider to use for the project. Defaults to "neural".
  - `external_model_id` integer — An optional parameter to specify a third-party model ID to use for translation. This allows you to use external MT providers instead of Lilt's built-in MT system. Must match the chosen llm_provider.
  - `is_plural` boolean — Whether the documents in this project contain ICU plural forms.
  - `require_batch_qa_translator` boolean — Whether to require batch QA from the translator side.
  - `enable_prompt_labeling` boolean — Whether to enable prompt labeling for the project.
  - `job_type` 'TRANSLATION' | 'PROMPT_RESPONSE' — (Optional) A specialized job type for advanced features.
  - `additional_guidelines` string — (Optional) Additional instructions or guidelines.
  - `is_enhanced_human_ai_optimized` boolean — Whether the project is enhanced with AI optimization.
  - `domainId` integer — A domain ID to categorize this project under.

## Response `200`

A Project object.

- Project — A Project is a collection of zero or more Documents. It is specific to a language pair, and is associated with exactly one Memory for that language pair. The Memory association cannot be changed after the Project is created.
  - `id` integer — A unique number identifying the Project.
  - `memory_id` integer — A unique number identifying the associated Memory.
  - `job_id` integer — A unique number identifying the associated Job.
  - `srclang` string — An ISO 639-1 language identifier.
  - `trglang` string — An ISO 639-1 language identifier.
  - `srclocale` string — A locale identifier, supported for srclang.
  - `trglocale` string — A locale identifier, supported for trglang.
  - `name` string — A name for the project.
  - `state` string — The project's state. The possible states are `backlog`, `inProgress`, `inReview`, `inQA`, and `done`.
  - `due_date` integer — The due date. Measured in seconds since the Unix epoch.
  - `archived` boolean — The archived state of the Project.
  - `metadata` object — A JSON object of key/value string pairs. Stores custom project information.
  - `sample_review_percentage` integer — The project's sample review percentage.
  - `created_at` integer — Time at which the object was created. Measured in seconds since the Unix epoch.
  - `updated_at` integer — Time at which the object was created. Measured in seconds since the Unix epoch.
  - `workflowStatus` 'READY_TO_START' | 'IN_PROGRESS' | 'DONE' — The status of the Workflow for the current project. This may not be present for all project endpoints even with workflows enabled.
  - `document` DocumentWithoutSegments[] — A list of Documents.
    - `id` integer — A unique number identifying the Document.
    - `project_id` integer — A unique number identifying the Project.
    - `srclang` string — An ISO 639-1 language identifier.
    - `trglang` string — An ISO 639-1 language identifier.
    - `name` string — The document name.
    - `import_in_progress` boolean — True if the document is currently being imported
    - `import_succeeded` boolean — True if the import process succeeded.
    - `import_error_message` string — Error message if `import_succeeded=false`
    - `export_in_progress` boolean — True if the document is currently being exported for download
    - `export_succeeded` boolean — True if the export process succeeded.
    - `export_error_message` string — Error message if `export_succeeded=false`
    - `is_pretranslating` boolean — True if the document is currently being pretranslated.
    - `status` object — A list of translations for the query term.
      - `pretranslation` 'idle' | 'pending' | 'running'
    - `translator_email` string — The email of the assigned translator.
    - `reviewer_email` string — The email of the assigned reviewer.
    - `customer_reviewer_email` string — The email of the assigned customer reviewer. Only present if the project was request by id.
    - `created_at` integer — Time at which the object was created. Measured in seconds since the Unix epoch.
    - `updated_at` integer — Time at which the object was created. Measured in seconds since the Unix epoch.
    - `is_review_complete` boolean — Document review status.

## Other responses

- `401` — Unauthorized
- `default` — Unexpected error

---

[API](https://skmtc.net/lilt/apis/lilt-api.md) · [All operations](https://skmtc.net/lilt/apis/lilt-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lilt/lilt-api/versions/444772351ac3/schema)
