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

# Create a Project

`POST /v1/clients/projects`

## Request

- Base URL: `https://api.textmaster.com`
- URL: `https://api.textmaster.com/v1/clients/projects`
- Auth: OAuth 2
  - Authorization code: `https://api.textmaster.com/oauth/authorize`
  - Token URL: `https://api.textmaster.com/oauth/token` scopes: `project:manage`, `project:write`

## Request body

- object
  - `project` object, required
    - `activity_name` string, required: (required) Project type (copywriting, proofreading or translation)
    - `api_template_id` string: ApiTemplate for the Project by passing its ID. If provided, the following attributes will be copied from the Template: * level_name * activity_name * language_from * language_to * project_briefing * textmasters * same_author_must_do_entire_project * auto_launch
    - `author_should_use_rich_text` boolean: Enables author to write HTML content and displays it as such (defaults to false). Only applies to Copywriting projects.
    - `auto_launch` boolean: Instruct the API to automatically attempt to launch the Project as soon as all asynchronous operations have been completed. Such operations are, for example, counting the number of words on each Document and running the translation memory analysis on the Project and its Documents (defaults to false).
    - `callback` object: List of callbacks to be called upon Project status changes.
      - `project_in_progress` object
        - `url` string, required
      - `project_tm_completed` object
        - `url` string, required
      - `project_finalized` object
        - `url` string, required
      - `project_tm_diff_completed` object
        - `url` string, required
      - `project_in_review` object
        - `url` string, required
      - `project_cancelled` object
        - `url` string, required
      - `project_canceled` object
        - `url` string, required
      - `project_not_launched` object
        - `url` string, required
    - `category` string, required: (required) Code representing a category (eg: "C014"). Full list available via API call.
    - `custom_data` object: Arbitrary structured data to attach to a Project
    - `deadline` string: You can add an optional deadline to inform the author when the project should be delivered by. Please note that this deadline is not enforced and serve for informational purposes. Finally, please make sure you provide a realistic deadline in order not to impact negativaly the selection of your project by the authors. Must be a string in "YYYY-MM-DD" or "YYYY-MM-DD hh:mm:ss" format.
    - `documents` Document[]: In case Documents are already known when creating the projects, Documents fields can be encapsulated inside the project. This Document will appear after creation in the Documents list field of the project. For more details on the Document fields to add, refer to the Documents endpoint.
      - `language_from` string
      - `language_to` string
      - `language_from_code` string
      - `language_to_code` string
      - `status` string
      - `skip_copyscape` boolean
      - `title` string
      - `instructions` string
      - `word_count` integer
      - `word_count_rule` integer
      - `keywords_repeat_count` integer
      - `deliver_work_as_file` boolean
      - `custom_data` object
      - `plagiarism_analysis` object
      - `written_words` integer
      - `type` string
      - `id` string
      - `project_id` string
      - `callback` object
        - `canceled` CallbackUrl
          - `url` string
          - `format` string
        - `completed` CallbackUrl
          - `url` string
          - `format` string
        - `copyscape` CallbackUrl
          - `url` string
          - `format` string
        - `counting_words` CallbackUrl
          - `url` string
          - `format` string
        - `in_progress` CallbackUrl
          - `url` string
          - `format` string
        - `in_review` CallbackUrl
          - `url` string
          - `format` string
        - `incomplete` CallbackUrl
          - `url` string
          - `format` string
        - `paused` CallbackUrl
          - `url` string
          - `format` string
        - `quality_control` CallbackUrl
          - `url` string
          - `format` string
        - `waiting_assignment` CallbackUrl
          - `url` string
          - `format` string
      - `reference` string
      - `ctype` string
      - `keyword_list` string
      - `satisfaction` integer, nullable
      - `completion` number
      - `can_post_message_to_author` boolean
      - `author_work` union
        - object
        - string
      - `author_id` string, nullable
      - `author_rating` integer
      - `original_content` string
      - `created_at` Date
        - `day` integer
        - `month` integer
        - `year` integer
        - `full` string
      - `updated_at` Date
        - `day` integer
        - `month` integer
        - `year` integer
        - `full` string
      - `completed_at` DateOrNull, nullable
        - `day` integer
        - `month` integer
        - `year` integer
        - `full` string
    - `glossaries` string[]: An array of IDs listing the Glossaries to add to the project.
    - `grammatical_person` string: Which personal pronoun should the content be written with? * not_specified: Same as "first_person_singular" * first_person_singular: I * second_person_singular: You * third_person_singular_masculine: He * third_person_singular_feminine: She * third_person_singular_neuter: It * first_person_plural: We * second_person_plural: You * third_person_plural: They
    - `language_from` string, required: (required) Bigram representing a language (ex: en-us). Full list available via API call.
    - `language_to` string: (required for translation projects) Bigram representing a language (ex: en-us). Full list available via API call.
    - `name` string, required: (required) Name of the Project
    - `options` object, required: (required) Options for the Project
      - `expertise` string
      - `language_level` string, required
      - `quality` boolean
      - `priority` boolean
      - `specific_attachment` boolean
      - `uniq_author` boolean
      - `translation_memory` boolean
      - `translation_diff` boolean
    - `project_briefing` string, required: (required) This is where you have to provide the general instructions for the project. All the information must be common to all documents and allow the authors to carry out their task in the best possible conditions. Providing more details will increase your chances of getting the best content.
    - `project_briefing_is_rich` boolean: Specifies if project briefing contains rich formatting (defaults to false). Unless 'true', HTML in briefing is escaped when displayed. Allowed tags (the rest is stipped): div h1 h2 h3 h4 h5 h6 p br a b strong i em u del strike ul ol li
    - `target_reader_groups` string: What is the age population target audience of this project? * not_specified (default): Any age * children: 0–13 * teenager: 14–18 * young_adults: 19–29 * adults: 30–59 * old_adults: 60+
    - `textmasters` string[]: Provide an array with the IDs of the authors you’d like to give the job to.
    - `vocabulary_type` string: What style are you expecting your content to be written with? * not_specified (default): Same as "popular" * popular: based on simple, every day words and sentences * technical: focused on precise and specific terms * fictional: writing style amplified, expanded and scripted
    - `work_template` unknown

## Response `200`

Project Created

- Project
  - `id` string
  - `name` string
  - `language_from` string
  - `language_to` string
  - `language_from_code` string
  - `language_to_code` string
  - `category` 'C001' | 'C002' | 'C003' | 'C004' | 'C005' | 'C006' | 'C007' | 'C008' | 'C009' | 'C010' | 'C011' | 'C012' | 'C013' | 'C014' | 'C015' | 'C016' | 'C017' | 'C018' | 'C019' | 'C020' | 'C021' | 'C022' | 'C023' | 'C024' | 'C025' | 'C026' | 'C027' | 'C028' | 'C029' | 'C030' | 'C031' | 'C032' | 'C033' | 'C034'
  - `vocabulary_type` 'not_specified' | 'popular' | 'technical' | 'fictional'
  - `target_reader_groups` 'not_specified' | 'children' | 'teenager' | 'young_adults' | 'adults' | 'old_adults'
  - `grammatical_person` 'not_specified' | 'first_person_singular' | 'second_person_singular' | 'third_person_singular_masculine' | 'third_person_singular_feminine' | 'third_person_singular_neuter' | 'first_person_plural' | 'second_person_plural' | 'third_person_plural'
  - `custom_data` object
  - `project_briefing` string
  - `project_briefing_is_rich` boolean
  - `priority` number
  - `status` 'in_creation' | 'in_progress' | 'in_review' | 'paused' | 'completed' | 'canceled'
  - `total_word_count` integer
  - `documents_statuses` object
    - `in_creation` integer
    - `waiting_assignment` integer
    - `in_progress` integer
    - `in_review` integer
    - `incomplete` integer
    - `completed` integer
    - `paused` integer
    - `canceled` integer
    - `quality_control` integer
    - `copyscape` integer
    - `counting_words` integer
    - `in_extra_review` integer
  - `progress` number
  - `same_author_must_do_entire_project` boolean
  - `callback` CallbackUrl
    - `url` string
    - `format` string
  - `external_id` string, nullable
  - `multi_project_id` string, nullable
  - `auto_launch` boolean
  - `project_template_id` string, nullable
  - `finalized` boolean
  - `word_count_error` string, nullable
  - `cost_in_credits` number
  - `ctype` 'translation' | 'copywriting' | 'proofreading'
  - `creation_channel` string
  - `reference` string
  - `cost_per_word` object
    - `currency` string, required
    - `amount` number, required
  - `options` object
    - `language_level` 'enterprise' | 'regular' | 'premium'
  - `option_values` object
    - `language_level` 'enterprise' | 'regular' | 'premium'
  - `textmasters` string[]
  - `glossaries` string[]
  - `cost_in_currency` object
    - `currency` string, required
    - `amount` number, required
  - `api_template_id` string, nullable
  - `created_at` Date
    - `day` integer
    - `month` integer
    - `year` integer
    - `full` string
  - `updated_at` Date
    - `day` integer
    - `month` integer
    - `year` integer
    - `full` string
  - `launched_at` DateOrNull, nullable
    - `day` integer
    - `month` integer
    - `year` integer
    - `full` string
  - `completed_at` DateOrNull, nullable
    - `day` integer
    - `month` integer
    - `year` integer
    - `full` string
  - `work_template` WorkTemplate
    - `name` string, required
    - `description` string, nullable
    - `image_preview_path` string, nullable
    - `ctype` 'public' | 'private', required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden

---

[API](https://skmtc.dev/textmaster/apis/textmaster-api-v1.md) - [All operations](https://skmtc.dev/textmaster/apis/textmaster-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/textmaster/apis/textmaster-api-v1/revisions/cb8425b56de9?raw)
