---
title: "Create a new order"
method: POST
path: "/projects/{project_id}/orders"
tags: ["Orders"]
---

# Create a new order

`POST /projects/{project_id}/orders`

Create a new order. Access token scope must include `orders.create`.

## Path parameters

- `project_id` string, required

## Headers

- `X-PhraseApp-OTP` string

## Request body

- object
  - `branch` string — specify the branch to use
  - `name` string, required — the name of the order, default name is: Translation order from 'current datetime'
  - `lsp` string, required — Name of the LSP that should process this order. Can be one of gengo, textmaster.
  - `source_locale_id` string — Source locale for the order. Can be the name or id of the source locale. Preferred is id.
  - `target_locale_ids` string[] — List of target locales you want the source content translate to. Can be the name or id of the target locales. Preferred is id.
  - `translation_type` string — Name of the quality level, availability depends on the LSP. Can be one of: standard, pro (for orders processed by Gengo) and one of regular, premium, enterprise (for orders processed by TextMaster)
  - `tag` string — Tag you want to order translations for.
  - `message` string — Message that is displayed to the translators for description.
  - `styleguide_id` string — Style guide for translators to be sent with the order.
  - `unverify_translations_upon_delivery` boolean — Unverify translations upon delivery.
  - `include_untranslated_keys` boolean — Order translations for keys with untranslated content in the selected target locales.
  - `include_unverified_translations` boolean — Order translations for keys with unverified content in the selected target locales.
  - `category` string — Category to use (required for orders processed by TextMaster).
  - `quality` boolean — Extra proofreading option to ensure consistency in vocabulary and style. Only available for orders processed by TextMaster.
  - `priority` boolean — Indicates whether the priority option should be ordered which decreases turnaround time by 30%. Available only for orders processed by TextMaster.

## Response `201`

Created

- TranslationOrder
  - `id` string
  - `name` string
  - `lsp` string
  - `amount_in_cents` integer
  - `currency` string
  - `message` string
  - `state` string
  - `translation_type` string
  - `progress_percent` integer
  - `source_locale` LocalePreview
    - `id` string
    - `name` string
    - `code` string
  - `target_locales` LocalePreview[]
    - `id` string
    - `name` string
    - `code` string
  - `tag_name` string — Name of the tag whose keys are included in the order.
  - `styleguide` StyleguidePreview
    - `id` string
    - `title` string
  - `unverify_translations_upon_delivery` boolean
  - `quality` boolean
  - `priority` boolean
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `400` — Bad request. The request could not be parsed or a parameter failed validation. Verify the request body, the content type, and the parameter types, then retry.
- `401` — Unauthorized. Authentication failed because the access token is missing, expired, or invalid. Supply a valid access token and retry.
- `403` — Forbidden. The credentials are valid but not permitted for this request: the access token may lack the required scope, the user may lack permission on the resource, or the account plan may not include the feature. Use a token with the required scope on an account and user that hold the necessary permissions.
- `404` — Not found. The requested resource does not exist or is not visible to the authenticated user. Verify the identifiers in the request path and that the token has access to them, then retry.
- `422` — Unprocessable entity. The request was well-formed but failed validation. The response body lists each offending field in the `errors` array, with its resource, field, and a human-readable message. Correct the listed fields and retry.
- `429` — Too many requests. The rate limit has been exceeded. Wait until the time indicated by the `X-Rate-Limit-Reset` response header before retrying.

---

[API](https://skmtc.net/phrase/apis/control-hub-service.md) · [All operations](https://skmtc.net/phrase/apis/control-hub-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/phrase/control-hub-service/revisions/98ecac7ba2bf/schema)
