Troubleshooting Citrix cloud licensing APIs

Last published : Oct 31, 2026
An unsuccessful Citrix cloud licensing API request returns the following information in the response body:
  • Type: A link to the standard HTTP response code.
  • Details: A brief description of the error.
  • Error_Description: An optional string object to provide the service response error description.
    Sample API error response
{
    "type": "404",
    "detail": "resource not found",
    "parameters":
    {
    "name": "entityType",
    "value": "the request URL"
    }
}

API 1: GET/ license/enterprise/cloud/cvad/ud/historicalusage

  • This API is called to get historical usage for Citrix DaaS (formerly Citrix Virtual Apps and Desktops service) UserDevice model in the specified time range.

GET query parameters

  • startDate
    • Start date from which userdevice historical usage to be retrived.
    • Should be specified as yyyy-MM.
  • endDate
    • End date to which userdevice historical usage to be retrived.
    • Should be specified as yyyy-MM.

Response codes

The following section lists the response codes for the APIs with examples.

200 OK

  • GET/ license/enterprise/cloud/cvad/ud/historicalusage

Records retrived successfully

{
    "customerId": "xingqit48867",
    "historicalUsageType": "Monthly",
    "productEdition": "XAXDFull",
    "xenAppXenDesktopHistoricalUsageList": [
        {
            "cumulativeAssignedCount": 3,
            "newAssignedCount": 0,
            "totalAvailableLicenseCount": 50,
            "timeStamp": "2021-10-01T00:00:00.0000000Z",
            "releasedCount": 0
        },
        {
            "cumulativeAssignedCount": 3,
            "newAssignedCount": 0,
            "totalAvailableLicenseCount": 50,
            "timeStamp": "2021-11-01T00:00:00.0000000Z",
            "releasedCount": 0
        },
        {
            "cumulativeAssignedCount": 3,
            "newAssignedCount": 0,
            "totalAvailableLicenseCount": 25,
            "timeStamp": "2021-12-01T00:00:00.0000000Z",
            "releasedCount": 0
        }
    ],
    "historicalUsageList": [
        {
            "timeStamp": "2021-10-01T00:00:00.0000000Z",
            "totalAvailableLicenseCount": 50,
            "deviceLicenseUsage": {
                "cumulativeAssignedCount": 3,
                "newAssignedCount": 0,
                "releasedCount": 0
            },
            "userLicenseUsage": {
                "cumulativeAssignedCount": 3,
                "newAssignedCount": 0,
                "releasedCount": 0
            }
        },
        {
            "timeStamp": "2021-11-01T00:00:00.0000000Z",
            "totalAvailableLicenseCount": 50,
            "deviceLicenseUsage": {
                "cumulativeAssignedCount": 3,
                "newAssignedCount": 0,
                "releasedCount": 0
            },
            "userLicenseUsage": {
                "cumulativeAssignedCount": 3,
                "newAssignedCount": 0,
                "releasedCount": 0
            }
        },
        {
            "timeStamp": "2021-12-01T00:00:00.0000000Z",
            "totalAvailableLicenseCount": 25,
            "deviceLicenseUsage": {
                "cumulativeAssignedCount": 3,
                "newAssignedCount": 0,
                "releasedCount": 0
            },
            "userLicenseUsage": {
                "cumulativeAssignedCount": 3,
                "newAssignedCount": 0,
                "releasedCount": 0
            }
        }
    ]
}

400 Validation errors

If the parameters are provided incorrectly, the following error occurs:
  • GET/ license/enterprise/cloud/cvad/ud/historicalusage

Case 1: DateTime range is invalid

Error 1: If the startDate or endDate format is not set correctly. Should use this date format 'yyyy-MM'

{
    "error_description": "{\"Code\":400,\"Message\":\"Invalid time format.\",\"Details\":\"Invalid time format.\"}"
}

Error 2: If the endDate is earlier than the startDate will retuen following error. Make sure the time interval is correct

{
     "error_description": "{\"Code\":400,\"Message\":\"StartDate can't be later than EndDate.\",\"Details\":\"StartDate can't be later than EndDate.\"}"
}   

401 Unauthorized

  • GET/ license/enterprise/cloud/cvad/ud/historicalusage

Case 1: If the authorization header is empty or missing the reason mentioned in the parameters value is missing

{
    "type": "https://errors-api.cloud.com/common/authentication",
    "detail": "Missing or invalid authentication details",
    "parameters": [
        {
            "name": "reason",
            "value": "missing"
        }
    ]
}

Case 2: If the authorization header is invalid the reason mentioned in the parameters value is invalid

{
    "type": "https://errors-api.cloud.com/common/authentication",
    "detail": "Missing or invalid authentication details",
    "parameters": [
        {
            "name": "reason",
            "value": "invalid"
        }
    ]
}

403 Forbidden

If the authorization details are provided incorrectly in the header then following error occurs:
  • GET/ license/enterprise/cloud/cvad/ud/historicalusage

Case 1: Customer (Bearer Token) details are not correct

{
    "type": "https://errors-api.cloud.com/common/authorization",
    "detail": "Access denied"
}

404 Not found

  • GET/ license/enterprise/cloud/cvad/ud/historicalusage

Case 1: In case the url is not as per the swagger document

{
    "type": "https://errors-api.cloud.com/licensing/notFound",
    "detail": "resource not found",
    "parameters": [
        {
            "name": "entityType",
            "value": "/personalizati"
        }
    ]
}

500 Internal server error

Report these errors directly to the engineering team to help resolve the issues. Take a note of the customer ID and Transaction ID from the customer to troubleshoot further.
  • GET/ license/enterprise/cloud/cvad/ud/historicalusage

Case 1: Server Errors

{
    "type": "https://errors-api.cloud.com/systemlog/internalerror",
    "detail": "There was a internal issue"
}