Citrix Endpoint Management REST API
REST API for managing mobile devices, applications, and policies in Citrix Endpoint Management, enabling integration with external systems for device lifecycle management and compliance.
REST API for managing mobile devices, applications, and policies in Citrix Endpoint Management, enabling integration with external systems for device lifecycle management and compliance.
openapi: 3.1.0
info:
title: Citrix Endpoint Management REST API
description: >-
REST API for managing mobile devices, applications, and policies in Citrix
Endpoint Management (formerly XenMobile), enabling integration with
external systems for device lifecycle management and compliance.
version: '1.0'
contact:
name: Citrix Support
url: https://support.citrix.com/
termsOfService: https://developer.cloud.com/citrix-developer-terms-of-use
externalDocs:
description: Citrix Endpoint Management REST APIs
url: https://docs.citrix.com/en-us/citrix-endpoint-management/rest-apis.html
servers:
- url: https://{xms-server}:4443/xenmobile/api/v1
description: Citrix Endpoint Management Server
variables:
xms-server:
default: xms.example.com
description: XenMobile server hostname
tags:
- name: Applications
description: Application management and deployment
- name: Authentication
description: Login and token management
- name: Delivery Groups
description: Delivery group management
- name: Devices
description: Device enrollment and lifecycle management
- name: Policies
description: Device and app policy management
- name: Users
description: User and group management
security:
- authToken: []
paths:
/authentication/login:
post:
operationId: login
summary: Citrix Authenticate to the API
description: >-
Log in with administrator credentials to obtain an authentication token.
tags:
- Authentication
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- login
- password
properties:
login:
type: string
description: Administrator username
password:
type: string
description: Administrator password
responses:
'200':
description: Authentication successful
content:
application/json:
schema:
type: object
properties:
auth_token:
type: string
description: Authentication token for subsequent requests
'401':
description: Authentication failed
security: []
/authentication/logout:
post:
operationId: logout
summary: Citrix Log out
description: >-
Invalidate the current authentication token.
tags:
- Authentication
responses:
'200':
description: Logout successful
/device/filter:
post:
operationId: filterDevices
summary: Citrix Filter devices
description: >-
Search and filter enrolled devices based on criteria.
tags:
- Devices
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceFilterRequest'
responses:
'200':
description: Filtered device list
content:
application/json:
schema:
type: object
properties:
filteredDevicesDataList:
type: array
items:
$ref: '#/components/schemas/Device'
'401':
description: Unauthorized
/device/{deviceId}:
get:
operationId: getDevice
summary: Citrix Get device details
description: >-
Retrieve detailed information about a specific enrolled device.
tags:
- Devices
parameters:
- name: deviceId
in: path
required: true
description: Device unique identifier
schema:
type: string
responses:
'200':
description: Device details
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
'401':
description: Unauthorized
'404':
description: Device not found
/device/wipe:
post:
operationId: wipeDevice
summary: Citrix Wipe a device
description: >-
Issue a full wipe command to a managed device.
tags:
- Devices
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- deviceId
properties:
deviceId:
type: string
description: Device ID to wipe
responses:
'200':
description: Wipe command sent
'401':
description: Unauthorized
'404':
description: Device not found
/device/selectivewipe:
post:
operationId: selectiveWipeDevice
summary: Citrix Selective wipe a device
description: >-
Issue a selective wipe to remove only corporate data from a device.
tags:
- Devices
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- deviceId
properties:
deviceId:
type: string
description: Device ID for selective wipe
responses:
'200':
description: Selective wipe command sent
'401':
description: Unauthorized
'404':
description: Device not found
/application/filter:
post:
operationId: filterApplications
summary: Citrix Filter applications
description: >-
Search and filter managed applications.
tags:
- Applications
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationFilterRequest'
responses:
'200':
description: Filtered application list
content:
application/json:
schema:
type: object
properties:
applicationListData:
type: array
items:
$ref: '#/components/schemas/Application'
'401':
description: Unauthorized
/device/policy/deploy:
post:
operationId: deployPolicy
summary: Citrix Deploy policies to devices
description: >-
Deploy device or application policies to specified devices.
tags:
- Policies
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- deviceIds
properties:
deviceIds:
type: array
items:
type: string
description: List of device IDs to receive the policy
responses:
'200':
description: Policy deployment initiated
'401':
description: Unauthorized
/user/filter:
post:
operationId: filterUsers
summary: Citrix Filter users
description: >-
Search and filter users and groups.
tags:
- Users
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserFilterRequest'
responses:
'200':
description: Filtered user list
content:
application/json:
schema:
type: object
properties:
userListData:
type: array
items:
$ref: '#/components/schemas/User'
'401':
description: Unauthorized
/deliverygroup/filter:
post:
operationId: filterDeliveryGroups
summary: Citrix Filter delivery groups
description: >-
Search and filter delivery groups.
tags:
- Delivery Groups
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeliveryGroupFilterRequest'
responses:
'200':
description: Filtered delivery group list
content:
application/json:
schema:
type: object
properties:
dgListData:
type: array
items:
$ref: '#/components/schemas/DeliveryGroup'
'401':
description: Unauthorized
components:
securitySchemes:
authToken:
type: apiKey
in: header
name: auth_token
description: Authentication token from login endpoint
schemas:
DeviceFilterRequest:
type: object
properties:
start:
type: integer
description: Start index for pagination
limit:
type: integer
description: Maximum number of results
sortOrder:
type: string
enum:
- ASC
- DESC
description: Sort order
search:
type: string
description: Search text
Device:
type: object
properties:
id:
type: string
description: Device unique identifier
serialNumber:
type: string
description: Device serial number
deviceModel:
type: string
description: Device model name
platform:
type: string
enum:
- iOS
- Android
- Windows
- macOS
description: Device platform
osVersion:
type: string
description: Operating system version
lastAccess:
type: string
format: date-time
description: Last access timestamp
userName:
type: string
description: Enrolled user name
jailbroken:
type: boolean
description: Whether the device is jailbroken or rooted
managed:
type: boolean
description: Whether the device is managed
compliant:
type: boolean
description: Whether the device is compliant with policies
ApplicationFilterRequest:
type: object
properties:
start:
type: integer
description: Start index for pagination
limit:
type: integer
description: Maximum number of results
Application:
type: object
properties:
id:
type: string
description: Application unique identifier
name:
type: string
description: Application name
description:
type: string
description: Application description
appType:
type: string
description: Application type
platform:
type: string
description: Target platform
disabled:
type: boolean
description: Whether the application is disabled
UserFilterRequest:
type: object
properties:
start:
type: integer
description: Start index for pagination
limit:
type: integer
description: Maximum number of results
search:
type: string
description: Search text
User:
type: object
properties:
id:
type: string
description: User unique identifier
userName:
type: string
description: Username
displayName:
type: string
description: Display name
email:
type: string
description: Email address
domain:
type: string
description: Active Directory domain
DeliveryGroupFilterRequest:
type: object
properties:
start:
type: integer
description: Start index for pagination
limit:
type: integer
description: Maximum number of results
DeliveryGroup:
type: object
properties:
id:
type: string
description: Delivery group unique identifier
name:
type: string
description: Delivery group name
description:
type: string
description: Description
disabled:
type: boolean
description: Whether the delivery group is disabled