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 all updates available to a device given its identification and the version currently being run.
Item |
Description |
URI |
|
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.
Item |
Description |
URI |
|
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 the manifest file which contains details of all files required to achieve the update.
Item |
Description |
URI |
|
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.
Item |
Description |
URI |
|
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"
}
FlexNet Operations 2020 R1 SP1 User GuideMarch 2020 |