Citrix StoreFront Web API
HTTP API for building custom client applications that authenticate users, enumerate available applications and desktops, manage HDX sessions, and launch resources from Citrix StoreFront.
HTTP API for building custom client applications that authenticate users, enumerate available applications and desktops, manage HDX sessions, and launch resources from Citrix StoreFront.
openapi: 3.1.0
info:
title: Citrix StoreFront Web API
description: >-
HTTP API for building custom client applications that authenticate users,
enumerate available applications and desktops, manage HDX sessions, and
launch resources from Citrix StoreFront.
version: '1.0'
contact:
name: Citrix Support
url: https://support.citrix.com/
termsOfService: https://developer.cloud.com/citrix-developer-terms-of-use
externalDocs:
description: StoreFront Web API Documentation
url: https://developer-docs.citrix.com/en-us/storefront/storefront-web-api/overview.html
servers:
- url: https://{storefront-server}/Citrix/Store
description: StoreFront Server
variables:
storefront-server:
default: storefront.example.com
description: StoreFront server hostname
tags:
- name: Authentication
description: User authentication and session management
- name: Launch
description: Launch applications and desktops
- name: Resources
description: Enumerate available applications and desktops
- name: Sessions
description: Manage HDX session lifecycle
security:
- csrfToken: []
paths:
/Authentication/GetAuthMethods:
post:
operationId: getAuthMethods
summary: Citrix Get authentication methods
description: >-
Retrieve available authentication methods for the StoreFront store.
tags:
- Authentication
responses:
'200':
description: Available authentication methods
content:
application/xml:
schema:
type: string
description: XML document listing available auth methods
security: []
/ExplicitAuth/Login:
post:
operationId: explicitLogin
summary: Citrix Log in with explicit credentials
description: >-
Authenticate using explicit username and password credentials.
tags:
- Authentication
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- username
- password
properties:
username:
type: string
description: Username for authentication
password:
type: string
description: Password for authentication
domain:
type: string
description: Domain name
responses:
'200':
description: Login successful with session cookies set
'401':
description: Authentication failed
security: []
/ExplicitAuth/Logout:
post:
operationId: explicitLogout
summary: Citrix Log out
description: >-
End the current authenticated session.
tags:
- Authentication
parameters:
- $ref: '#/components/parameters/CsrfToken'
responses:
'200':
description: Logout successful
/Resources/List:
post:
operationId: listResources
summary: Citrix List available resources
description: >-
Enumerate all applications and desktops available to the
authenticated user.
tags:
- Resources
parameters:
- $ref: '#/components/parameters/CsrfToken'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
format:
type: string
enum:
- json
- xml
description: Response format
resourcesDetails:
type: string
enum:
- Default
- Full
description: Level of detail in response
responses:
'200':
description: List of available resources
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcesResponse'
'401':
description: Not authenticated
/Sessions/List:
post:
operationId: listSessions
summary: Citrix List active sessions
description: >-
Retrieve all active HDX sessions for the authenticated user.
tags:
- Sessions
parameters:
- $ref: '#/components/parameters/CsrfToken'
responses:
'200':
description: List of active sessions
content:
application/json:
schema:
type: object
properties:
sessions:
type: array
items:
$ref: '#/components/schemas/Session'
'401':
description: Not authenticated
/Sessions/Disconnect:
post:
operationId: disconnectSession
summary: Citrix Disconnect a session
description: >-
Disconnect an active HDX session without logging off.
tags:
- Sessions
parameters:
- $ref: '#/components/parameters/CsrfToken'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- sessionId
properties:
sessionId:
type: string
description: Session ID to disconnect
responses:
'200':
description: Session disconnected
'401':
description: Not authenticated
'404':
description: Session not found
/Sessions/Logoff:
post:
operationId: logoffSession
summary: Citrix Log off a session
description: >-
Log off an active HDX session.
tags:
- Sessions
parameters:
- $ref: '#/components/parameters/CsrfToken'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- sessionId
properties:
sessionId:
type: string
description: Session ID to log off
responses:
'200':
description: Session logged off
'401':
description: Not authenticated
'404':
description: Session not found
/Resources/GetLaunchStatus/{resourceId}:
get:
operationId: getLaunchStatus
summary: Citrix Get launch status
description: >-
Check if a resource is ready to launch. If not ready, returns a
retry interval.
tags:
- Launch
parameters:
- $ref: '#/components/parameters/CsrfTokenQuery'
- name: resourceId
in: path
required: true
description: Resource identifier to check
schema:
type: string
responses:
'200':
description: Launch status
content:
application/json:
schema:
$ref: '#/components/schemas/LaunchStatus'
'401':
description: Not authenticated
/Resources/LaunchIca/{resourceId}:
get:
operationId: launchResource
summary: Citrix Launch a resource
description: >-
Get an ICA file to launch a specific application or desktop resource.
tags:
- Launch
parameters:
- $ref: '#/components/parameters/CsrfTokenQuery'
- name: resourceId
in: path
required: true
description: Resource identifier to launch
schema:
type: string
responses:
'200':
description: ICA launch file
content:
application/x-ica:
schema:
type: string
description: ICA file contents for launching the resource
'401':
description: Not authenticated
'404':
description: Resource not found
components:
securitySchemes:
csrfToken:
type: apiKey
in: header
name: Csrf-Token
description: CSRF token from session cookie for POST requests
parameters:
CsrfToken:
name: Csrf-Token
in: header
required: true
description: CSRF token read from the session cookie
schema:
type: string
CsrfTokenQuery:
name: CsrfToken
in: query
required: true
description: CSRF token as query parameter for GET requests
schema:
type: string
schemas:
ResourcesResponse:
type: object
properties:
resources:
type: array
items:
$ref: '#/components/schemas/Resource'
description: Available applications and desktops
Resource:
type: object
properties:
id:
type: string
description: Resource identifier
name:
type: string
description: Resource display name
type:
type: string
enum:
- Citrix.MPS.Application
- Citrix.MPS.Desktop
description: Resource type
iconurl:
type: string
description: URL to the resource icon
launchurl:
type: string
description: URL to launch the resource
launchstatusurl:
type: string
description: URL to check launch readiness
Session:
type: object
properties:
sessionId:
type: string
description: Session unique identifier
appName:
type: string
description: Name of the application
publishedName:
type: string
description: Published name of the resource
initialApp:
type: string
description: Initial application that created the session
isActive:
type: boolean
description: Whether the session is currently active
LaunchStatus:
type: object
properties:
status:
type: string
enum:
- ready
- notReady
description: Whether the resource is ready to launch
pollTimeout:
type: integer
description: Seconds to wait before polling again