### GET User Device and Activation Information Source: https://docs.samsungknox.com/dev/knox-manage/api-for-msp Retrieves detailed user information including activated device counts by type, activation status, assigned groups, and user profile details. Returns comprehensive device statistics across multiple platforms including Android, iOS, macOS, and Windows devices. ```APIDOC ## GET /api/users/{userId} ### Description Retrieves comprehensive user information including device activation counts, profile details, assigned groups, and device statistics across all supported platforms. ### Method GET ### Endpoint /api/users/{userId} ### Parameters #### Path Parameters - **userId** (string) - Required - The unique identifier of the user (e.g., "shawn_h.2019") ### Response #### Success Response (200) - **resultCode** (string) - Result code indicating success or failure - **resultMessage** (string) - Human-readable result message - **resultValue** (object) - Contains user object with all user details - **user** (object) - User profile object - **userId** (string) - Unique user identifier - **userName** (string) - Display name of the user - **email** (string) - User email address - **mobilePhone** (string) - Mobile phone number - **firstName** (string) - User first name - **lastName** (string) - User last name - **middleName** (string) - User middle name - **displayName** (string) - LDAP display name - **upn** (string) - User principal name - **guid** (string) - Global unique identifier - **tenantId** (string) - Tenant identifier - **orgName** (string) - Organization name - **orgCode** (string) - Organization code - **positionName** (string) - Job position name - **positionCode** (string) - Position code - **siteName** (string) - Site name - **siteCode** (string) - Site code - **countryCode** (string) - Country code (e.g., "US") - **contact** (string) - Contact information - **licenseType** (string) - License type: KM, KMKPE, or KS - **userType** (string) - User type classification: 0, 1, or 2 - **enabled** (string) - User enabled status: 1 or 0 - **activationType** (string) - Activation type: AE, AEFW, or LEGACY - **activationIdType** (string) - Activation ID type: USER or ORG - **dedicatedStagingType** (boolean) - Whether dedicated staging is enabled - **stageUser** (boolean) - Whether user is a stage user - **sharedDeviceType** (string) - Shared device type: N, M, S, or D - **activatedDeviceCount** (object) - Count of activated devices by type - **total** (integer) - Total activated devices - **android** (integer) - Android devices - **ios** (integer) - iOS devices - **macos** (integer) - macOS devices - **windows** (integer) - Windows devices - **androidKnox** (integer) - Android Knox devices - **androidWear** (integer) - Android Wear devices - **tizenWearable** (integer) - Tizen wearable devices - **amapi** (integer) - AMAPI devices - **enrolled** (integer) - Enrolled devices - **unenrolled** (integer) - Unenrolled devices - **provisioning** (integer) - Devices in provisioning state - **disconnected** (integer) - Disconnected devices - **expired** (integer) - Expired devices - **activationblocked** (integer) - Activation blocked devices - **blockedadmin** (integer) - Admin blocked devices - **deviceCount** (object) - Total device count by type (same structure as activatedDeviceCount) - **assignedGroupCount** (integer) - Number of assigned groups - **assignedContentCount** (integer) - Number of assigned content items - **assignInfo** (array) - List of assigned groups/profiles - **assignId** (string) - Assignment identifier - **assignName** (string) - Assignment name - **assignType** (string) - Assignment type: G for group - **assignMakeType** (string) - Assignment make type - **assignAppCount** (integer) - Number of assigned apps - **assignProfileCount** (integer) - Number of assigned profiles - **assignContentCount** (integer) - Number of assigned content items - **tenantId** (string) - Tenant identifier - **userId** (string) - User identifier - **userTags** (array) - Custom user tags - **domain** (string) - Tag domain: USER or DEVICE - **tagValue** (string) - Tag value - **mappedId** (string) - Mapped identifier - **tenantId** (string) - Tenant identifier - **created** (string) - ISO 8601 creation timestamp - **createdDate** (string) - ISO 8601 creation date - **updated** (string) - ISO 8601 last update timestamp - **stdFormatCreated** (string) - Standardized creation timestamp - **stdFormatUpdated** (string) - Standardized update timestamp - **passwordChangeable** (boolean) - Whether password can be changed - **passwdStatus** (string) - Password status - **vppStatus** (string) - VPP status: Invited, Registered, or Retired - **vppClientUserId** (string) - VPP client user identifier - **managedAppleId** (string) - Managed Apple ID - **directoryType** (string) - Directory type: AD, DS, DG, SA, SO, or SP - **dn** (string) - Distinguished name - **managerDn** (string) - Manager distinguished name - **msUserSid** (string) - Microsoft user security identifier - **emailUserName** (string) - LDAP email username - **empNo** (string) - Employee number - **securityLevelCode** (string) - Security level code - **securityLevelName** (string) - Security level name - **noSyncFlag** (string) - No sync flag #### Response Example { "resultCode": "0", "resultMessage": "No Error", "resultValue": { "user": { "userId": "shawn_h.2019", "userName": "Shawn_Andreas_Hwang", "email": "abc@www.org", "mobilePhone": "+82-10-001-0001", "firstName": "Shawn", "lastName": "Hwang", "middleName": "Andreas", "displayName": "LDAPDisplayName", "upn": "userID@mobiledesk.co.kr", "guid": "878ce8b7-2713-41a9-a765-5e3905ab5ef2", "tenantId": "yourcompany.com", "orgName": "organization1", "orgCode": "organizationCode1", "positionName": "position Name", "positionCode": "positionCode1", "siteName": "Site Name", "siteCode": "siteCode1", "countryCode": "US", "contact": "+82-2-001-0001", "licenseType": "KM", "userType": "0", "enabled": "1", "activationType": "AE", "activationIdType": "USER", "dedicatedStagingType": true, "stageUser": false, "sharedDeviceType": "N", "activatedDeviceCount": { "total": 100, "android": 70, "ios": 27, "macos": 2, "windows": 2, "androidKnox": 1, "androidWear": 1, "tizenWearable": 1, "amapi": 1, "enrolled": 2, "unenrolled": 5, "provisioning": 1, "disconnected": 0, "expired": 0, "activationblocked": 0, "blockedadmin": 0 }, "deviceCount": { "total": 100, "android": 70, "ios": 27, "macos": 2, "windows": 2 }, "assignedGroupCount": 7, "assignedContentCount": 1, "assignInfo": [ { "assignId": "sampleGroupID", "assignName": "sample Group Name", "assignType": "G", "assignMakeType": "0", "assignAppCount": 1, "assignProfileCount": 1, "assignContentCount": 1, "tenantId": "string", "userId": "string" } ], "userTags": [ { "domain": "USER", "tagValue": "tag example value", "mappedId": "shawn_h.2019", "tenantId": "string" } ], "created": "2019-08-24T14:15:22Z", "updated": "2019-08-24T14:15:22Z", "stdFormatCreated": "2024-12-03T22:30:01Z", "stdFormatUpdated": "2025-04-04T11:22:02Z", "passwordChangeable": true, "passwdStatus": "1", "vppStatus": "Registered", "vppClientUserId": "userID@tenantID", "managedAppleId": "user@examplecompany.com", "directoryType": "AD", "dn": "CN=userName,OU=yourcompany.com,DC=emm,DC=com", "managerDn": "CN=userName,OU=yourcompany.com,DC=emm,DC=com", "msUserSid": "S-1-5-21-3623811015-3361044348-30300820-1013", "emailUserName": "LDAPEmailUserName", "empNo": "Abc_123", "securityLevelCode": "securityLevelCode1", "securityLevelName": "Security Level Name", "noSyncFlag": "1" } } } #### Error Response (401) - **resultCode** (string) - Error code indicating authentication failure - **resultMessage** (string) - Error message describing the authentication failure ### Authentication _Bearer-Authentication_ - Required ### Content Type application/json ``` -------------------------------- ### GET /km/v1/group/selectGroups Source: https://docs.samsungknox.com/dev/knox-manage/api-for-msp Retrieves a list of groups based on specified query parameters. This endpoint allows filtering and pagination for group data. ```APIDOC ## GET /km/v1/group/selectGroups ### Description Retrieves a list of groups based on specified query parameters. This endpoint allows filtering and pagination for group data. ### Method GET ### Endpoint /km/v1/group/selectGroups ### Parameters #### Query Parameters - **groupId** (string, <= 50 characters) - Optional - Used when searching by Group ID (UUID). - **searchName** (string, <= 50 characters) - Optional - Used when searching by name. - **groupType** (string, <= 10 characters) - Optional - Group type. Possible values: 'USER', 'DEVICE', 'SYNC'. - **limit** (string, Default: "1000") - Optional - Records per page (0 < pageSize <= 1000). - **start** (string, Default: "0") - Optional - Page indexing begins from 0 (pageNum >= 0). - **needDeviceUserCount** (string, Default: "no") - Optional - Set to 'yes' to request the number of devices and users in the group, as well as the number of profiles, contents, and applications assigned to the group. - **needActiveDeviceCount** (string, Default: "no") - Optional - Set to 'yes' to request the number of active devices in a group. Requires 'needDeviceUserCount' to also be 'yes'. ### Request Example ``` GET /km/v1/group/selectGroups?groupId=dc95bc9e4dee47a4a8efd5b6064c9071&searchName=name1&groupType=USER&limit=20&start=0&needDeviceUserCount=yes&needActiveDeviceCount=yes ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Error Responses - **400** - Bad Request - **401** - Unauthorized - **403** - Forbidden - **404** - Not found - **409** - Conflict - **500** - Internal Server Error ``` -------------------------------- ### GET /km/v1/user/selectUserWithID Source: https://docs.samsungknox.com/dev/knox-manage/api-for-msp Retrieves user information based on a provided User ID. This endpoint allows searching for a specific user and returns their details if found. ```APIDOC ## GET /km/v1/user/selectUserWithID ### Description Retrieves user information based on a provided User ID. This endpoint allows searching for a specific user and returns their details if found. ### Method GET ### Endpoint /km/v1/user/selectUserWithID ### Parameters #### Query Parameters - **userId** (string) - Required - User ID (SQL equal condition). Maximum length is 50 characters. ### Request Example (No request body for GET requests with query parameters) ### Response #### Success Response (200) - **resultCode** (string) - Indicates the result of the operation. '0' means no error. - **resultMessage** (string) - A message describing the result of the operation. 'No Error' indicates success. - **resultValue** (object) - Contains the user details. - **enabled** (boolean) - Indicates if the user account is enabled. - **state** (string) - The current state of the user account (e.g., 'SUCCESS'). - **userId** (string) - The ID of the user. #### Error Responses - **400** Bad Request - **401** Unauthorized - **403** Forbidden - **404** Not Found - **409** Conflict - **500** Internal Server Error #### Response Example (200 OK) ```json { "resultCode": "0", "resultMessage": "No Error", "resultValue": { "enabled": true, "state": "SUCCESS", "userId": "shawn_h.2019" } } ``` ``` -------------------------------- ### API Endpoint for Selecting User by ID (GET Request) Source: https://docs.samsungknox.com/dev/knox-manage/api-for-msp This section describes the GET request endpoint for selecting a user based on their unique userId. It requires Bearer Authentication and accepts the userId as a query parameter. The endpoint is designed to return user details upon successful retrieval. ```http GET https://docs.samsungknox.com/km/v1/user/selectUserWithID?userId=user01 ``` -------------------------------- ### POST /km/v1/user/createUser Source: https://docs.samsungknox.com/dev/knox-manage/api-for-msp Creates a new user within the Knox Manage system. This endpoint allows for detailed configuration of user attributes, activation types, and license information. ```APIDOC ## POST /km/v1/user/createUser ### Description Creates a Knox Manage user with specified details. Supports various configuration options for activation, licensing, and user attributes. ### Method POST ### Endpoint /km/v1/user/createUser ### Parameters #### Request Body (application/x-www-form-urlencoded) - **activationIdType** (string) - Optional - Android Activation And License Configuration Type. Can be ORG or USER. - **activationType** (string) - Optional - Android Activation Type. Possible values: LEGACY, AE, AEFW. If null, follows organization configuration. - **contact** (string) - Optional - Contact phone number (<= 50 characters). Allowed characters: digits, space, +, #, *, -, (, ), /, \ - **countryCode** (string) - Optional - Country code (<= 2 characters). ISO 3166-1 alpha-2. - **dedicatedStagingType** (boolean) - Optional - Indicates if the device is dedicated for staging. - **emailrequired** (string) - Optional - Email Address (<= 100 characters). Must match pattern /^.{8,30}$/, /[0-9]+/, /[a-zA-Z]+/, /[^0-9a-z.../ - **empNo** (string) - Optional - Employee Number (<= 25 characters). Allowed characters: alphanumeric, -, _, . - **firstName** (string) - Optional - First Name (<= 256 characters). - **lastName** (string) - Optional - Last Name (<= 256 characters). - **licenseType** (string) - Optional - License Type. Possible values: KS, KM, KMKPE. If null, follows organization configuration. - **managedAppleId** (string) - Optional - Managed Apple ID. - **middleName** (string) - Optional - Middle Name (<= 256 characters). - **mobilePhone** (string) - Optional - Mobile Phone number for invitation SMS (<= 50 characters). Allowed characters: digits, space, +, #, *, -, (, ), /, \ - **msUserSid** (string) - Optional - Microsoft User Security Identifier (<= 200 characters). - **noSyncFlag** (string) - Optional - Synchronization flag with AD/LDAP. '0' for synchronize, '1' for do not synchronize (<= 50 characters). - **orgCode** (string) - Optional - Organization Code (<= 50 characters). - **passwdStatus** (string) - Optional - Password initialization flag. '1' for no initialization needed, '0' for initialization needed. - **positionCode** (string) - Optional - Position Code (<= 128 characters). Refer to Advanced > Reference Data > Position. - **requestEnrollment** (boolean) - Optional - If true, enrollment is requested via email upon user creation. - **securityLevelCode** (string) - Optional - Security Level Code (<= 128 characters). Refer to Advanced > Reference Data > Security Level. - **sharedDeviceType** (string) - Optional - Shared Device Type and Using Type. N: Default, S: Shared - Temporary, M: Shared - Persistent, D: Dedicated. - **siteCode** (string) - Optional - Site Code (<= 128 characters). Refer to Advanced > Reference Data > Site. - **stageUser** (boolean) - Optional - Staging User flag. If true, shared device types can be selected. [Android Only]. - **userIdrequired** (string) - Required - User ID (<= 50 characters). Allowed characters: English alphabet, numbers, _, :, ., -, +. - **userNamerequired** (string) - Required - User Name (<= 256 characters). - **userPassword** (string) - Optional - User Password (<= 50 characters). Must be 8-30 characters, contain at least one number, one letter, and one special character. If not provided, it defaults to userId. - **userType** (string) - Optional - User creation type. 0: Knox Manage, 1: Directory, 2: Google Admin. ### Responses #### Success Response (200) - **message** (string) - Success message. #### Error Responses - **400** Bad Request - **401** Unauthorized - **403** Forbidden - **404** Not Found - **409** Conflict - **500** Internal Server Error ``` -------------------------------- ### POST Request User Enrollment Source: https://docs.samsungknox.com/dev/knox-manage/api-for-msp Sends an enrollment request email to the user. This endpoint initiates the enrollment process by triggering an email notification to the specified user. ```APIDOC ## POST /api/users/{userId}/enrollment-request ### Description Sends an enrollment request email to initiate the user enrollment process. The email contains enrollment instructions and activation links. ### Method POST ### Endpoint /api/users/{userId}/enrollment-request ### Parameters #### Path Parameters - **userId** (string) - Required - The unique identifier of the user to send enrollment request to ### Authentication _Bearer-Authentication_ - Required ### Response #### Success Response (200) - **resultCode** (string) - Result code indicating successful enrollment request - **resultMessage** (string) - Confirmation message that enrollment email was sent #### Response Example { "resultCode": "0", "resultMessage": "Enrollment request email sent successfully" } #### Error Response (401) - **resultCode** (string) - Error code indicating authentication failure - **resultMessage** (string) - Error message describing the authentication failure ### Content Type application/json ``` -------------------------------- ### POST /km/v1/user/requestEnrollment Source: https://docs.samsungknox.com/dev/knox-manage/api-for-msp Requests enrollment for specified user IDs. This endpoint handles the process of initiating user enrollment within the Knox Manage system. ```APIDOC ## POST /km/v1/user/requestEnrollment ### Description Requests enrollment for specified user IDs. This endpoint handles the process of initiating user enrollment within the Knox Manage system. ### Method POST ### Endpoint /km/v1/user/requestEnrollment ### Parameters #### Query Parameters None #### Request Body - **userIds** (string) - Required - User IDs String. Delimiter is ; . ex)user01;user02;user03 ### Request Example ``` userIds=user01;user02;user03 ``` ### Response #### Success Response (200) - **resultCode** (string) - Indicates the result of the operation, '0' for success. - **resultMessage** (string) - Provides a message describing the result, 'No Error' for success. - **resultValue** (object) - Contains details about enrollment results. - **notExistUserId** (string) - Lists user IDs that do not exist. - **userIdWithoutEmail** (string) - Lists user IDs that lack an email address. #### Response Example ```json { "resultCode": "0", "resultMessage": "No Error", "resultValue": { "notExistUserId": "\"notExistUserID\": [shawn_h.2019],", "userIdWithoutEmail": "\"userIdWithoutEmail\": [shawn_h.2019]" } } ``` #### Error Responses - **400** Bad Request - **401** Unauthorized - **403** Forbidden - **404** Not found - **409** Conflict - **500** Internal Server Error ``` -------------------------------- ### Generate an OAuth Token Source: https://docs.samsungknox.com/dev/knox-manage/tutorial-authentication Obtain a bearer token by making a POST request to the token endpoint with your client credentials. ```APIDOC ## POST /emm/oauth/token ### Description Generates an OAuth 2.0 bearer token using client credentials. ### Method POST ### Endpoint `https://{Your Region}.manage.samsungknox.com/emm/oauth/token` ### Parameters #### Query Parameters - **client_idM** (string) - Required - The Client ID obtained after creating an OAuth client. - **client_secret** (string) - Required - The Client Secret obtained after creating an OAuth client. - **grant_type** (string) - Required - Must be set to `client_credentials`. ### Request Example ```json { "client_idM": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET", "grant_type": "client_credentials" } ``` ### Response #### Success Response (200) - **access_token** (string) - The bearer token for authenticating API requests. - **token_type** (string) - The type of the token, typically 'Bearer'. - **expires_in** (integer) - The time in seconds until the token expires. #### Response Example ```json { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "token_type": "Bearer", "expires_in": 3600 } ``` ``` -------------------------------- ### POST /km/v1/group/insertGroup Source: https://docs.samsungknox.com/dev/knox-manage/api-for-msp Creates a new user group or device group, optionally including specified units (users or devices). ```APIDOC ## POST /km/v1/group/insertGroup ### Description Creates a user group or a device group (including units, i.e. users or devices). ### Method POST ### Endpoint /km/v1/group/insertGroup ### Parameters #### Request Body - **deviceIds** (string) - Optional - List of device IDs to be included when creating a new device group. Construct a list of device IDs using delimiters (;). Example: `deviceIds=test1;test2;test3` - **groupName** (string) - Required - <= 50 characters. Group Name, unique group name. - **groupType** (string) - Required - <= 10 characters. Group type. Can be 'USER' or 'DEVICE'. - **userIds** (string) - Optional - List of user IDs to be included when creating a new user group. Construct a list of user IDs using delimiters (;). Example: `userIds=testUser1;testUser2;testUser3` ### Request Example ``` { "groupName": "Sales Group", "groupType": "USER", "userIds": "testUser1;testUser2" } ``` ### Response #### Success Response (200) - **resultCode** (string) - Indicates the result of the operation, '0' for success. - **resultMessage** (string) - Describes the result of the operation, 'No Error' for success. - **resultValue** (object) - Contains detailed information about the created group. - **groupInfo** (object) - **created** (string) - Timestamp of group creation. - **groupAdminId** (string) - ID of the group administrator. - **groupId** (string) - Unique identifier for the created group. - **groupName** (string) - Name of the created group. - **groupType** (string) - Type of the group ('USER' or 'DEVICE'). - **makeType** (string) - Type indicator. - **targetType** (string) - Target type indicator. - **tenantId** (string) - The tenant ID associated with the group. #### Response Example (200) ```json { "resultCode": "0", "resultMessage": "No Error", "resultValue": { "groupInfo": { "created": "2019-08-24T14:15:22Z", "groupAdminId": "samsungadmin", "groupId": "dc95bc9e4dee47a4a8efd5b6064c9071", "groupName": "Sales Group", "groupType": "USER", "makeType": "0", "targetType": "0", "tenantId": "yourcompany.com" } } } ``` #### Error Responses - **400**: Bad Request - **401**: Unauthorized - **403**: Forbidden - **404**: Not found - **409**: Conflict - **500**: Internal Server Error ``` -------------------------------- ### POST /km/v1/group/insertGroupUnits Source: https://docs.samsungknox.com/dev/knox-manage/api-for-msp Adds new units (users or devices) to an existing group. ```APIDOC ## POST /km/v1/group/insertGroupUnits ### Description Adds new units (users or devices) to an existing group. ### Method POST ### Endpoint /km/v1/group/insertGroupUnits ### Parameters #### Request Body - **applyProfile** (string) - Optional - Indicates whether the profile is transmitted when a group is modified or deleted. If '1', the profile is sent to members in the group after the group change. - **deviceIds** (string) - Required - List of device IDs to add or delete to the device group. Construct a list of device IDs using delimiters (;). Only used when updating a device group. Example: `deviceIds=test1;test2;test3`. Caution: Validity of received Device IDs is not checked. - **groupId** (string) - Required - <= 50 characters. Unique ID of the target group. - **userIds** (string) - Required - List of user IDs to add or delete to the user group. Construct a list of user IDs using delimiters (;). Only used when updating a user group. Example: `userIds=testUser1;testUser2;testUser3`. Caution: Validity of received User IDs is not checked. ### Request Example ``` { "groupId": "dc95bc9e4dee47a4a8efd5b6064c9071", "userIds": "newUser1;newUser2" } ``` ### Response #### Success Response (200) - **resultCode** (string) - Indicates the result of the operation, '0' for success. - **resultMessage** (string) - Describes the result of the operation, 'No Error' for success. #### Response Example (200) ```json { "resultCode": "0", "resultMessage": "No Error" } ``` #### Error Responses - **400**: Bad Request - **401**: Unauthorized - **403**: Forbidden - **404**: Not found - **409**: Conflict - **500**: Internal Server Error ``` -------------------------------- ### New APIs for Device Enrollment via QR Code Source: https://docs.samsungknox.com/dev/knox-manage/release-notes/25-07 Endpoints added to generate Base64-encoded QR codes for device enrollment on Android and Wear OS. ```APIDOC ## New APIs: Device Enrollment via QR Code These endpoints allow for generating Base64-encoded QR codes for device enrollment. ### POST /oapi/enrollment/selectAndroidEnrollmentQrCode * **Description**: Generates a QR code for Android device enrollment. * **Method**: POST * **Endpoint**: `/oapi/enrollment/selectAndroidEnrollmentQrCode` ### POST /oapi/enrollment/selectWearOsEnrollmentQrCode * **Description**: Generates a QR code for Wear OS device enrollment. * **Method**: POST * **Endpoint**: `/oapi/enrollment/selectWearOsEnrollmentQrCode` ``` -------------------------------- ### Request User Enrollment (POST /km/v1/user/requestEnrollment) Source: https://docs.samsungknox.com/dev/knox-manage/api-for-msp Initiates a user enrollment request for specified user IDs. The request body is expected in 'application/x-www-form-urlencoded' format. The response indicates success or various error conditions. The sample response shows a JSON object detailing results. ```json { "resultCode": "0", "resultMessage": "No Error", "resultValue": { "notExistUserId": "\"notExistUserID\": [shawn_h.2019],", "userIdWithoutEmail": "\"userIdWithoutEmail\": [shawn_h.2019]" } } ``` -------------------------------- ### New API to Map Profile to Groups Source: https://docs.samsungknox.com/dev/knox-manage/release-notes/25-07 Endpoint to assign a profile to one or more groups. ```APIDOC ## New API: Map Profile to Groups This endpoint allows assigning profiles to groups. ### POST /mdm/profileServiceWrapper/assign * **Description**: Assigns a profile to one or more groups. * **Method**: POST * **Endpoint**: `/mdm/profileServiceWrapper/assign` ``` -------------------------------- ### JSON Response Sample for User Data Source: https://docs.samsungknox.com/dev/knox-manage/api-for-msp This snippet shows a typical successful JSON response when retrieving user information. It includes a result code, message, and a result value object containing user-specific details like enabled status, state, and user ID. This format is common for successful API operations. ```json { "resultCode": "0", "resultMessage": "No Error", "resultValue": { "enabled": true, "state": "SUCCESS", "userId": "shawn_h.2019" } } ``` -------------------------------- ### Add Group (User or Device) - POST Request Source: https://docs.samsungknox.com/dev/knox-manage/api-for-msp Creates a new user or device group within Knox Manage. Requires specifying group name, type, and optionally user or device IDs. The API supports Bearer Authentication and expects form-urlencoded request bodies. Response samples are provided for success (200) and unauthorized (401) scenarios. ```json { "resultCode": "0", "resultMessage": "No Error", "resultValue": { "groupInfo": { "created": "2019-08-24T14:15:22Z", "groupAdminId": "samsungadmin", "groupId": "dc95bc9e4dee47a4a8efd5b6064c9071", "groupName": "Sales Group", "groupType": "USER", "makeType": "0", "targetType": "0", "tenantId": "yourcompany.com" } } } ``` -------------------------------- ### JSON Response Sample for User Data Source: https://docs.samsungknox.com/dev/knox-manage/api-for-msp This JSON structure represents a successful response (HTTP 200) when retrieving user information from the Samsung Knox Manage API. It includes detailed user attributes, device activation counts, and assigned group information. ```json { "resultCode": "0", "resultMessage": "No Error", "resultValue": { "user": { "activatedDeviceCount": { "activationblocked": 0, "amapi": 1, "amapiCowp": 1, "amapiDo": 1, "amapiPo": 1, "android": 70, "androidComp": 1, "androidCowp": 1, "androidDo": 1, "androidKme": 1, "androidKnox": 1, "androidLegacy": 1, "androidPo": 1, "androidRComp": 1, "androidSecondary": 1, "androidStageD": 1, "androidStageM": 1, "androidStageS": 1, "androidWear": 1, "blockedadmin": 0, "disconnected": 0, "enrolled": 2, "expired": 0, "ios": 27, "iosSecondary": 1, "iosStage": 1, "iosUserEnroll": 1, "macos": 2, "operator": "string", "provisioning": 1, "tizenWearable": 1, "tizenWearableHasPhoneNumber": 1, "total": 100, "unenrolled": 5, "windows": 2 }, "activationIdType": "USER | ORG", "activationType": "AE | AEFW | LEGACY", "assignInfo": [ { "assignAppCount": 1, "assignContentCount": 1, "assignId": "sampleGroupID", "assignMakeType": "0", "assignName": "sample Group Name", "assignProfileCount": 1, "assignType": "G", "tenantId": "string", "userId": "string" } ], "assignedContentCount": 1, "assignedGroupCount": 7, "contact": "+82-2-001-0001", "countryCode": "US", "created": "2019-08-24T14:15:22Z", "createdDate": "2019-08-24T14:15:22Z", "dedicatedStagingType": true, "deviceCount": { "activationblocked": 0, "amapi": 1, "amapiCowp": 1, "amapiDo": 1, "amapiPo": 1, "android": 70, "androidComp": 1, "androidCowp": 1, "androidDo": 1, "androidKme": 1, "androidKnox": 1, "androidLegacy": 1, "androidPo": 1, "androidRComp": 1, "androidSecondary": 1, "androidStageD": 1, "androidStageM": 1, "androidStageS": 1, "androidWear": 1, "blockedadmin": 0, "disconnected": 0, "enrolled": 2, "expired": 0, "ios": 27, "iosSecondary": 1, "iosStage": 1, "iosUserEnroll": 1, "macos": 2, "operator": "string", "provisioning": 1, "tizenWearable": 1, "tizenWearableHasPhoneNumber": 1, "total": 100, "unenrolled": 5, "windows": 2 }, "directoryType": "AD | DS | DG | SA | SO | SP", "displayName": "LDAPDisplayName", "dn": "CN=userName,OU=yourcompany.com,DC=emm,DC=com", "email": "abc@www.org", "emailUserName": "LDAPEmailUserName", "empNo": "Abc_123", "enabled": "1 | 0", "firstName": "Shawn", "guid": "878ce8b7-2713-41a9-a765-5e3905ab5ef2", "lastName": "Hwang", "licenseType": "KM | KMKPE | KS", "managedAppleId": "user@examplecompany.com", "managerDn": "CN=userName,OU=yourcompany.com,DC=emm,DC=com", "middleName": "Andreas", "mobilePhone": "+82-10-001-0001", "msUserSid": "S-1-5-21-3623811015-3361044348-30300820-1013", "noSyncFlag": "1", "orgCode": "organizationCode1", "orgName": "organization1", "passwdStatus": "1", "passwordChangeable": true, "positionCode": "positionCode1", "positionName": "position Name", "securityLevelCode": "securityLevelCode1", "securityLevelName": "Security Level Name", "sharedDeviceType": "N | M | S | D ", "siteCode": "siteCode1", "siteName": "Site Name", "stageUser": false, "stdFormatCreated": "2024-12-03T22:30:01Z", "stdFormatUpdated": "2025-04-04T11:22:02Z", "tenantId": "yourcompany.com", "updated": "2019-08-24T14:15:22Z", "upn": "userID@mobiledesk.co.kr", "userId": "shawn_h.2019", "userName": "Shawn_Andreas_Hwang", "userPassword": "alpha1!!", "userTags": [ { "domain": "USER | DEVICE", "mappedId": "shawn_h.2019", "tagValue": "tag example value", "tenantId": "string" } ], "userType": "0 | 1 | 2", "vppClientUserId": "userID@tenantID", "vppStatus": "Invited | Registered | Retired" } } } ```