---
title: "Create a Document"
method: POST
path: "/v1/clients/projects/{project_id}/documents"
tags: ["Documents"]
---

# Create a Document

`POST /v1/clients/projects/{project_id}/documents`

## Request

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

## Path parameters

- `project_id` string, required

## Request body

- object
  - `document` object
    - `title` string: Title of the Document
    - `type` string: Type of document. * standard (default): defined with a template * key_value: defines multiple phrases with an associated key
    - `word_count` integer: (required unless perform_word_count is true) Base number of words. See the word_count_rule parameter.
    - `word_count_rule` 0 | 1 | 2: Specifies how to treat the specified "word_count". * 0: +/- 10% [word_count] words * 1: at least [word_count] words * 2: maximum [word_count] words
    - `perform_word_count` boolean: Automated word count is possible for translation and proofreading projects
    - `original_content` union: Content for translation or proofreading projects.
      - string
      - object
    - `markup_in_content` boolean: Does the content contains markup (HTML, XML, etc) or not?
    - `remote_file_url` string: URL to a stored file (see Uploading files to TextMaster for more information).
    - `remote_file_help_url` string: URL to a stored help file providing instructions/comments for the authors (see Uploading files to TextMaster for more information).
    - `instructions` string: Specific briefing. Add here any information specific to this Document.
    - `keyword_list` string: The keywords you the Author must include in the content (a comma-separated list).
    - `keywords_repeat_count` integer: (required if keyword_list is provided) Each key word should be repeated at least X times.
    - `callback` object: List of callbacks to be called upon Document status changes.
      - `in_creation` object
        - `url` string, required
      - `waiting_assignment` object
        - `url` string, required
      - `in_progress` object
        - `url` string, required
      - `incomplete` object
        - `url` string, required
      - `paused` object
        - `url` string, required
      - `quality_control` object
        - `url` string, required
      - `copyscape` object
        - `url` string, required
      - `counting_words` object
        - `url` string, required
      - `in_review` object
        - `url` string, required
      - `in_extra_review` object
        - `url` string, required
      - `completed` object
        - `url` string, required
      - `canceled` object
        - `url` string, required
      - `word_count_finished` object
        - `url` string, required
      - `complete` object
        - `url` string, required
      - `support_message_created` object
        - `url` string, required
    - `deliver_work_as_file` boolean: Should the Authors submit their work as a file?

## Response `200`

Document Created

- Document
  - `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

## 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)
