---
schema_version: "1"
id: 2c00ad91a3c45ebba7e9b247eaa66e5aae4a3599679f97fd6d5b74462e064e18
title: CMS User Management API
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/commerce-cloud/retail-cloud/reference/generated-api-specs/cms-user-management-api.md
canonical_url: https://developer.salesforce.com/docs/commerce/retail-cloud/references/cms-user-management-api
source_site: developer.salesforce.com
content_type: documentation
content_hash: 85ddbacf47d08b458b8c1e7366f588a7f35e9d9b002dba94b8e55c39937a869c
products:
  - Point of Sale for Developers
  - Salesforce APIs
---
CMS User Management API

# CMS User Management API

[Download specification](https://developer.salesforce.com/static/commercecloud/retail-cloud/cms-user-management-api/cms-user-management-api-oas-public.yaml)

Merchant API to create, search, update, and delete CMS users from the POS system.

**Version:** 2.3.4

## Tags

### CMS User Management API

[Download specification](https://developer.salesforce.com/static/commercecloud/retail-cloud/cms-user-management-api/cms-user-management-api-oas-public.yaml)

Merchant API to create, search, update, and delete CMS users from the POS system.

## Operations

### GET Get CMS users.

`GET /merchant/{version}/users`

Operation ID: `getUsers`. Tags: CMS User Management API.

Retrieve all CMS users.

#### Parameters

*   `PredictSpring-Secret` (header, string)
*   `version` (path, string, required) Supported: v1.  
    Pattern: v1|v2.

#### Responses

*   **default** Default response.
    
    Media type: `application/json`. Schema: `ListUserAccountsResponse`.
    

### PUT Update a CMS user.

`PUT /merchant/{version}/users`

Operation ID: `updateUser`. Tags: CMS User Management API.

Update a CMS user. If the user is updated successfully, the successful response includes a list of all users. Otherwise, the response includes ErrorMessage and ErrorCode corresponding to the failure.

#### Parameters

*   `PredictSpring-Secret` (header, string)
*   `version` (path, string, required) Supported: v1.  
    Pattern: v1|v2.

#### Request body

Media type: `application/json`. Schema: `EditUserRequest`.

#### Responses

*   **default** Default response.
    
    Media type: `application/json`. Schema: `ListUserAccountsResponse`.
    

### POST Create CMS users.

`POST /merchant/{version}/users`

Operation ID: `createUsers`. Tags: CMS User Management API.

Create CMS users. If the users are created successfully, the response includes all users. Otherwise, the response includes ErrorMessage and ErrorCode corresponding to the failure.

#### Parameters

*   `PredictSpring-Secret` (header, string)
*   `version` (path, string, required) Supported: v1.  
    Pattern: v1|v2.

#### Request body

Media type: `application/json`. Schema: `CreateCMSUsersRequest`.

#### Responses

*   **default** Default response.
    
    Media type: `application/json`. Schema: `ListUserAccountsResponse`.
    

### DELETE Delete a CMS user.

`DELETE /merchant/{version}/users`

Operation ID: `deleteUser`. Tags: CMS User Management API.

Delete the provided CMS user. On successful deletion, the response includes a list of all remaining users. Otherwise, it contains ErrorMessage and ErrorCode corresponding to the failure.

#### Parameters

*   `PredictSpring-Secret` (header, string)
*   `version` (path, string, required) Supported: v1.  
    Pattern: v1|v2.
*   `userId` (query, string)

#### Responses

*   **default** Default response.
    
    Media type: `application/json`. Schema: `ListUserAccountsResponse`.
    

### PATCH Update CMS users.

`PATCH /merchant/{version}/users`

Operation ID: `patchUsers`. Tags: CMS User Management API.

Update the CMS users in the request. If all users are updated successfully, the successful response includes a list of all users. Otherwise, the response includes ErrorMessage and ErrorCode corresponding to the failure.

**Limit:** 100 users per request.

Validation includes:

1.  Empty or null request
2.  Valid existing CMS users.

#### Parameters

*   `PredictSpring-Secret` (header, string)
*   `version` (path, string, required) Supported: v1.  
    Pattern: v1|v2.

#### Request body

Media type: `application/json`. Schema: `UpdatesCMSUsersRequest`.

#### Responses

*   **default** Default response.
    
    Media type: `application/json`. Schema: `ListUserAccountsResponse`.
    

### GET Get CMS user.

`GET /merchant/{version}/users/{userId}`

Operation ID: `getUserByUserId`. Tags: CMS User Management API.

Retrieve CMS user details.

#### Parameters

*   `PredictSpring-Secret` (header, string)
*   `version` (path, string, required) Supported: v1.  
    Pattern: v1|v2.
*   `userId` (path, string, required)

#### Responses

*   **default** Default response.
    
    Media type: `application/json`. Schema: `UserAccount`.
    

## Schemas

### ListUserAccountsResponse

Payload that contains the list of CMS users.

*   `errorMessage` (_string_, nullable) Error message shown to the user.  
    Example: `Invalid request. Please check the request and try again.`.
*   `errorCode` (_string_, nullable) Error code shown to the user.  
    Example: `INTERNAL_ERROR`.
*   `users` (_array of UserAccount_) List of CMS users.
*   `error` (_boolean_)

### EditUserRequest

*   `oldUserId` (_string_, required) The existing user ID.
*   `newUserId` (_string_, nullable) New user ID. Must be a valid Google account.
*   `role` (_string_, nullable) New Role.
*   `timeZoneId` (_string_, nullable) New timezone ID. Don't use a timezone abbreviation.  
    Example: `America/Los_Angeles`.
*   `userType` (_string_, nullable) New user type.  
    Allowed values: `GLOBAL`, `REGIONAL`. Example: `GLOBAL`.

### CreateCMSUsersRequest

Request payload to create the CMS users.

*   `userAccounts` (_array of UserAccount_) List of users for CMS account creation.

### UpdatesCMSUsersRequest

*   `userRequestList` (_array of EditUserRequest_)

### UserAccount

Payload that contains information about CMS user.

*   `userId` (_string_, required) User ID. Must be a valid Google account.
*   `merchantId` (_string_, required) Merchant ID.
*   `permissions` (_string_, nullable) User's permission in CMS in the JSON form.  
    Example: `{"role":"CMS POWER USER","permissions":[{"LAYOUTS":["EDIT"]},{"FEEDS":["EDIT"]}]}`.
*   `role` (_string_, nullable) User's role.  
    Default: `CMS POWER USER`.
*   `timeZoneId` (_string_, nullable) User's timezone ID. Don't use a timezone abbreviation.  
    Default: `UTC`. Example: `America/Los_Angeles`.
*   `userType` (_string_) User Type.  
    Allowed values: `GLOBAL`, `REGIONAL`. Default: `GLOBAL`.