Updates

The sequence of calls for an update is described in the following sections:

Find Available Updates
Poll for Response to the Request for Updates
Request Manifest File
Poll for Response to the Request for Manifest File

Find Available Updates

Find all updates available to a device given its identification and the version currently being run.

Find Available Updates

Item

Description

URI

/uai/2.0/updates 

Method

POST 

Query parameters

updatesRequest 

Request body

{

    "id": "string",

    "idType": "string",

    "language": 0,

    "platform": "string",

    "publisherName": "string",

    "updateFromPkgId": "string"

}

Note:For devices that are assigned to an account, it is recommended to populate the fields id, idType, and publisherName. For anonymous devices, these fields should be left blank.

Response codes

200: Not used

202: Asynchronous request. Use the URL returned to poll for a response. The response will indicate whether the request succeeded.

Sample Response

If the request has been accepted (status 202), a URL including a polling ID to poll for completion of the search is returned:

{

   "url": "string"

}

Poll for Response to the Request for Updates

Poll for a response to the request for updates, using the polling ID returned by a POST to the /uai/2.0/updates API. It can be used repeatedly until a 200 response is received.

Poll for Response to the Request for Updates

Item

Description

URI

/uai/2.0/updates/{pollingId} 

Method

GET 

Query parameters

pollingId: ID returned in Find Available Updates service

Request body

N/A

Response codes

200: Processing complete.

202: Submitted request is still being processed. Use the URL returned to continue to poll for the response.

401: The request is unauthorized. This could be because a JWT was not found in the header, the token has expired, the signature is invalid, or a public key could not be identified (most commonly because the public key has not been uploaded to FlexNet Operations).

Sample Response

This is the data structure for a response (status 200) to the request for available updates. In case of an error, the structure will be populated with relevant error details:

{

   "error": {

      "arguments": "string",

      "key": "string",

      "message": "string"

   },

   "updateItems": [

      {

          "commandLine": "string",

          "description": "string",

          "expireDate": "string",

          "fromPackageId": "string",

          "languageCode": 0,

          "manifestURL": "string",

          "productName": "string",

          "startDate": "string",

          "title": "string",

          "toPackageId": "string",

          "updateId": "string",

          "updateName": "string"

      }

   ]

}

If the request is still being processed (status 202), a URL to poll for completion of the request is returned:

{

   "url": "string"

}

Request Manifest File

Request the manifest file which contains details of all files required to achieve the update.

Request Manifest File

Item

Description

URI

/uai/2.0/updates/manifests

Method

POST

Query parameters

manifestRequest

Request body

{

    "uuid": "string"

}

Response codes

200: Not used

202: Submitted request is still being processed. Use the URL returned to continue to poll for the response.

Sample Response

If the request has been accepted (status 202), a URL including a polling ID to poll for completion of the request is returned:

{

   "url": "string"

}

Poll for Response to the Request for Manifest File

Poll for a response to the request for the manifest file, using the polling ID returned by a POST to the /uai/2.0/updates/manifests API. It can be used repeatedly until a 200 response is received.

Poll for Response to the Request for Manifest File

Item

Description

URI

/uai/2.0/updates/manifests/{pollingId}

Method

GET

Query parameters

pollingId: The ID returned in Find Available Updates service.

Request body

N/A

Response codes

200: Success

202: Submitted request is still being processed. Use the URL returned to continue to poll for the response.

401: The request is unauthorized. This could be because a JWT was not found in the header, the token has expired, the signature is invalid, or a public key could not be identified (most commonly because the public key has not been uploaded to FlexNet Operations).

410: A response for the polling ID could not be found. This could be a result of using an incorrect polling ID, or of too much time having elapsed, so that the polling ID is no longer valid.

Sample Response

This is the data structure for a successful response (status 200) to the request for the manifest file:

{

   "manifestFiles": [

      {

         "execute": "string",

         "fileSize": "string",

         "fileUrl": "string",

         "md5Hash": "string",

         "sha256Hash": "string"

      }

   ],

   "manifestVersion": "string"

}

If the request is still being processed (status 202), a URL to poll for completion of the request is returned:

{

   "url": "string"

}

If a response for the polling ID could not be found (status 410), the response body will describe the error, as shown in the following example:

{

   "arguments": "string",

   "key": "string",

   "message": "string"

}