---
title: "Create User"
method: POST
path: "/users"
tags: ["User"]
---

# Create User

`POST /users`

Creates a new user in an account.

## Query parameters

- `fields` string

## Headers

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

## Request body

- UserCreateRequest — If you need to create a Service User, send only the `serviceUserDetails` object and omit the `userDetails`object, vice-versa for a normal user.
  - `groups` ObjectId[], required — The identifiers for the user groups. At least one valid group must be provided.
    - `id` string, required
  - `location` string — The identifier of the parent folder for the account user. If it isn't mentioned, it will be created in the Root folder.
  - `serviceUserDetails` ServiceUserDetails — The account details. Provide these to create a Service User.
    - `name` string, required — The Service User name.
    - `description` string — The Service User description.
  - `userDetails` UserDetails — The account details. Provide these to invite a user.
    - `membership` 'member' | 'collaborator', required — Type of membership of this account user.
    - `email` string, email, required — The user email.
    - `firstName` string, required — The First Name of the account user.
    - `lastName` string, required — The Last Name of the account user.
    - `invitationMessage` string — A personalized message that will be included in the invitation.
    - `sendInvitationEmail` boolean — If enabled, the user will receive an email at the specified address containing the invitation details.
    - `inviteInCustomerPortal` boolean — Enable this if the invited user is meant to be a Customer Reviewer or Customer Requester. When enabled, the user will always be redirected to the Customer Portal.

## Response `201`

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

## Other responses

- `400` — Error codes: * “invalid”: Invalid input in “name” field on the error response. * “maxSize“: The maximum size was exceeded for the value mentioned in the "name" field.
- `401` — The user could not be identified.
- `403` — Error codes: * "forbidden": the authenticated user is not allowed to read the resource.
- `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)
