---
title: "Create Pricing Model"
method: POST
path: "/pricing-models"
tags: ["Pricing Model"]
---

# Create Pricing Model

`POST /pricing-models`

Creates a new pricing model.

## Query parameters

- `fields` string

## Headers

- `Authorization` string, required
- `X-LC-Tenant` string, required

## Request body

- PricingModelCreateRequest
  - `name` string, required — The name of the Pricing Model.
  - `description` string — The description of the Pricing Model.
  - `currencyCode` string, required — The currency code (ISO 4217).
  - `location` string, required — The location of the pricing model.
  - `languageDirectionPricing` LanguageDirectionCostRequest[], required — Costs applied for languages.
    - `sourceLanguage` string, required — The source language code. For example: "en-US", "de-DE".
    - `targetLanguage` string, required — The target language code. For example: "en-US", "de-DE".
    - `contextMatch` number — The price of context matches.
    - `exactMatch` number — The price of exact matches.
    - `new` number — The price of new matches.
    - `perfectMatch` number — The price of PerfectMatches.
    - `repetition` number — The price of repetition matches.
    - `machineTranslation` number — The price of machine translation matches.
    - `pricingUnit` 'words' | 'characters'
    - `fuzzyMatches` FuzzyMatch[] — All fuzzyMatches categories should be the same for all the language directions.
      - `price` number, required — Fuzzy match price for the range expressed in the category field.
      - `category` FuzzyMatchCategory, required — Fuzzy match category range.
        - `minimumMatchValue` integer, nullable, required — Minimum matching value of this range.
        - `maximumMatchValue` integer, nullable, required — Maximum matching value of this range.
    - `additionalCosts` LanguageCostRequest[] — Additional costs applied at language level.
      - `name` string, required — The name of the additional cost.
      - `type` 'volume' | 'hourly' | 'percentage' | 'perPage' | 'conditional' | 'adhoc' | 'adhocVolume', required
      - `index` number — The number of the cost.
      - `costPerUnit` number — The cost of a unit.
      - `unitCount` number — The number of units for which a cost is applied.
      - `volumeUnitType` 'words' | 'characters' | 'custom'
      - `conditionalCostType` 'absolute' | 'relative' | 'percentage'
      - `conditionalCostOperator` 'less' | 'lessOrEqual' | 'greater' | 'greaterOrEqual'
      - `conditionalCostVariable` 'wordCount' | 'runningTotal'
      - `operand` number — Operand of the Conditional type cost.
      - `serviceTypes` string[] — Array of Service Type identifiers where this cost is applied.
      - `customUnitName` string — The name of the custom unit. Required when `volumeUnitType` is `custom`.
  - `additionalCosts` ProjectCostRequest[] — Additional costs applied at project level.
    - `name` string, required — The name of the additional cost.
    - `type` 'volume' | 'perTargetLanguage' | 'perFile' | 'hourly' | 'percentage' | 'perPage' | 'conditional' | 'adhoc' | 'adhocVolume', required
    - `index` number — The number of the additional cost.
    - `costPerUnit` number — The cost of a unit.
    - `unitCount` number — The number of units for which a cost is applied.
    - `volumeUnitType` 'words' | 'characters' | 'custom'
    - `conditionalCostType` 'absolute' | 'relative' | 'percentage'
    - `costOperator` 'less' | 'lessOrEqual' | 'greater' | 'greaterOrEqual'
    - `costVariable` 'wordCount' | 'runningTotal'
    - `operand` number — Operand of the Conditional type cost.
    - `serviceTypes` string[] — Array of Service Type identifiers where this additional cost is applied.
    - `customUnitName` string — The name of the custom unit. Required when `volumeUnitType` is `custom`.

## Response `201`

- PricingModel — Pricing Model resource. (Not available for List Projects endpoint)
  - `id` string, required — The pricing model identifier.
  - `name` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The name of the Pricing Model.</div>
  - `description` string — The description of the Pricing Model.
  - `currencyCode` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The currency code (ISO 4217).</div>
  - `location` FolderV2 — Folder used for resource storage.
    - `id` string, required — The folder identifier.
    - `name` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The name of the folder.</div>
    - `hasParent` boolean, nullable — Indicates if the folder has a parent folder.
    - `path` FolderPath[] — The hierarchical path. It consists of all the items of the path in reverse order, the parent of the current folder being the first in the list, and the root of the account being the last.
      - `id` string, required — The folder identifier.
      - `name` string, required — The name of the folder.
      - `location` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div>The location identifier.
      - `hasParent` boolean, nullable — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div>Indicates if the folder has a parent folder.
  - `languageDirectionPricing` LanguageDirectionCost[] — Costs applied for languages.
    - `sourceLanguage` string, required — The source language code. For example: "en-US", "de-DE".
    - `targetLanguage` string, required — The target language code. For example: "en-US", "de-DE".
    - `contextMatch` number — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The price of context matches.
    - `exactMatch` number — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;"> The price of exact matches.
    - `new` number — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The price of new matches.
    - `perfectMatch` number — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The price of PerfectMatches.
    - `repetition` number — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The price of repetition matches.
    - `machineTranslation` number — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;"> The price of machine translation matches.
    - `pricingUnit` 'words' | 'characters'
    - `fuzzyMatches` FuzzyMatch[] — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">
      - `price` number, required — Fuzzy match price for the range expressed in the category field.
      - `category` FuzzyMatchCategory, required — Fuzzy match category range.
        - `minimumMatchValue` integer, nullable, required — Minimum matching value of this range.
        - `maximumMatchValue` integer, nullable, required — Maximum matching value of this range.
    - `additionalCosts` LanguageCost[] — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">
      - `name` string, required — The name of the additional cost.
      - `type` 'volume' | 'hourly' | 'percentage' | 'perPage' | 'conditional' | 'adhoc' | 'adhocVolume', required
      - `index` number, required — The number of the additional cost.
      - `costPerUnit` number, required — The cost of a unit.
      - `unitCount` number, required — The number of units for which a cost is applied.
      - `volumeUnitType` 'words' | 'characters' | 'custom'
      - `conditionalCostType` 'absolute' | 'relative' | 'percentage'
      - `costOperator` 'less' | 'lessOrEqual' | 'greater' | 'greaterOrEqual'
      - `costVariable` 'wordCount' | 'runningTotal'
      - `operand` number — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div>Operand of the Conditional type cost.
      - `serviceTypes` string[] — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div> Array of Service Type identifiers where this additional cost is applied.
      - `customUnitName` string — The name of the custom unit.
  - `additionalCosts` ProjectCost[] — Additional costs applied at project level.
    - `name` string, required — The name of the additional cost.
    - `type` 'volume' | 'perTargetLanguage' | 'perFile' | 'hourly' | 'percentage' | 'perPage' | 'conditional' | 'adhoc' | 'adhocVolume', required
    - `index` number, required — The number of the additional cost.
    - `costPerUnit` number, required — The cost of a unit.
    - `unitCount` number, required — The number of units for which a cost is applied.
    - `volumeUnitType` 'words' | 'characters' | 'custom'
    - `conditionalCostType` 'absolute' | 'relative' | 'percentage'
    - `costOperator` 'less' | 'lessOrEqual' | 'greater' | 'greaterOrEqual'
    - `costVariable` 'wordCount' | 'runningTotal'
    - `operand` number — Operand of the Conditional type cost.
    - `serviceTypes` string[] — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div> Array of Service Type identifiers where this additional cost is applied.
    - `customUnitName` string — The name of the custom unit.

## Other responses

- `400` — Error codes: * “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. * "empty": Empty mandatory value mentioned in the "name" field on the error response. * "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. * "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response.
- `401` — The user could not be identified.
- `403` — Error codes: * “forbidden”: The authenticated user is not allowed to create the pricing model

---

[API](https://skmtc.net/rws/apis/trados-cloud-platform-api.md) · [All operations](https://skmtc.net/rws/apis/trados-cloud-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rws/trados-cloud-platform-api/revisions/d42dac7c28a3/schema)
