---
title: "Create Customer"
method: POST
path: "/customers"
tags: ["Customer"]
---

# Create Customer

`POST /customers`

Create customer in a tenant.

For adding a customer to a tenant the authenticated user must have 'Create Customer' permission.

To also create an account for the key contact, you need to have the specific entitlements.

## Query parameters

- `fields` string

## Headers

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

## Request body

- CustomerCreateRequest — Input for Customer creation. It will create an invitation for an account user account.
  - `name` string, required — The name of the customer.\ Unsupported characters in the name: `\` `/` `:` ` *` `?` `"` `<` `>` `|`
  - `location` string — The identifier of the parent folder for the customer.
  - `firstName` string — Key contact first name. If you provide this field, pleaase also provide email and last name
  - `lastName` string — Key contact last name. If you provide this field, pleaase also provide email and first name
  - `email` string — Key contact email.. If you provide this field, pleaase also provide first name and last name

## Response `201`

The customer was successfully created.

- Customer — Customer resource.
  - `id` string, required — Customer identifier.
  - `name` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">Customer name.</div>
  - `keyContact` User — User in the account.
    - `id` string, required — User account identifier.
    - `description` string — Description of this account user. For Service account users only.
    - `email` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The user's email address. Retrieved only for RWS ID (formerly SDL ID) users (not service users) that the authenticated entity is authorized to read.</div>
    - `name` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The user's name. Retrieved only for Service users (not RWS ID users) that the authenticated entity is authorized to read.</div>
    - `firstName` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The user's first name. Retrieved only for RWS ID (formerly SDL ID) users (not service users) that the authenticated entity is authorized to read.</div>
    - `lastName` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The user's last name. Retrieved only for RWS ID (formerly SDL ID) users (not service users) that the authenticated entity is authorized to read.</div>
    - `anonymized` boolean, nullable — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">This shows if the authenticated entity has access to read the details of the user or not. If true, then the 'anonymizedUserName' should be retrieved.</div>
    - `anonymizedUserName` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">Retrieved if the authenticated entity does not have access to read the User.</div>
    - `account` Account
      - `id` string, required — The account identifier.
      - `name` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The account name.</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.
    - `groups` Group[]
      - `id` string, required — The group identifier.
      - `name` string — <div style="display:inline; float:right; color:#008080; margin-top:-23px; font-size:11px">default</div><div style="display: inline;">The group name.</div>
      - `description` string — The group description.
      - `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.
      - `users` User[]
      - `roles` Role[] — **Note**: The identifier of `Administrator` role will not be exposed publicly and a `********` placeholder will be returned on this endpoint for the role.
        - `id` string, required — The identifier of the role.
        - `type` 'provisioned' | 'custom', required — The role type.
        - `name` string, required — Name of the role.
        - `description` string — Description of the role.
        - `permissions` Permission[] — List of permissions associated with role.
          - `name` string, required — Name of the permission.
          - `description` string, required — Human-readable description of the permission.
          - `category` string, required — The category a permission belongs to.
          - `entityType` PermissionEntityType, required — The entity type a permission applies to.
            - `name` string, required — Name of the entity type.
            - `description` string, required — Human-readable description of the entity type.
          - `dependsOn` string[], required — List of permission names that this permission depends on. Empty array if no dependencies.
      - `additionalRoles` GroupAdditionalRoles[]
        - `location` FolderV2, required — 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.
        - `roles` Role[], required
          - `id` string, required — The identifier of the role.
          - `type` 'provisioned' | 'custom', required — The role type.
          - `name` string, required — Name of the role.
          - `description` string — Description of the role.
          - `permissions` Permission[] — List of permissions associated with role.
            - `name` string, required — Name of the permission.
            - `description` string, required — Human-readable description of the permission.
            - `category` string, required — The category a permission belongs to.
            - `entityType` PermissionEntityType, required — The entity type a permission applies to.
              - …
            - `dependsOn` string[], required — List of permission names that this permission depends on. Empty array if no dependencies.
      - `groupType` 'default' | 'custom' | 'vendor' | 'customer' — - default : groups in the Root folder (location) provisioned by the system, automatically. Examples: Administrator, Project Manager, Engineer, Terminologist. - customer : groups provisioned by the system, automatically, for each customer location you add. Examples: Customer Requester, Customer Reviewer. - vendor : group provisioned by the system, automatically, for each vendor location you add. Examples: Vendor Project Manager. - custom : groups you can create in a location of your choice. Examples: Project Manager, Translator.
      - `metadata` unknown
    - `userType` 'user' | 'serviceUser' — The type of the account user.
    - `status` 'inactive' | 'active' | 'deleted' | 'provisioned' — Status of this account user.
    - `invitationLink` string — The user's invitation link. Retrieved only for RWS ID (formerly SDL ID) users—not service users. It is available only if the user has not yet accepted the invitation (status is `inactive`).
    - `membership` 'member' | 'collaborator' — Type of membership of this account user.
    - `metadata` unknown
  - `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.
  - `ragStatus` 'green' | 'amber' | 'red'
  - `customFieldDefinitions` CustomFieldResource[] — The custom field definitions.
    - `key` string, required — Custom Field friendly key.
    - `value` object, required — The value of the custom property. A date will be serialized as an ISO_8601 string.

## Other responses

- `400` — Error responses: * “invalid”: invalid input specified in the error details. * "empty": empty input for required field specified in the error details. * "maxSize": The maximum size was exceeded for the value mentioned in the "name" field. * "deleted": Some of the selected values were deleted and cannot be selected for some values of the "customFields" field.
- `401` — The user could not be identified.
- `403` — Error codes: "forbidden": - The authenticated user is not allowed to create a customer or if you intend to create the key contact account, you might not have sufficient permissions.
- `408` — Error responses: * "timeout": The request took longer than expected. The system might be overloaded. You might try again.
- `409` — Error responses: * “duplicate”: duplicate value for the field mentioned in the error details.

---

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