openapi: 3.2.0 info: title: /IOTCONNECT™ Firmware Firmware Upgrade API description: 'Firmware REST API contains information of Device modules. It will give API methods to firmware communication and OTA. Headers Needed Headers for all the API. Authorization    Bearer + access_token (Generated From api/v1.1/auth/login API) Content-Type    application/json' version: '2.0' security: - Bearer: [] tags: - name: FirmwareUpgrade description: FirmwareUpgrade Api List paths: /api/v2/firmware-upgrade: post: tags: - FirmwareUpgrade summary: Add new firmware upgrade description: 'This API endpoint allows you to add new firmware software versions of your firmware. Here, firmwareGuid defines you want the upgrade of which firmware. Software is a firmware software version. The firmwareFile requires a firmware upgrade file. Note : Once firmware upgrade created successfully, API returns firmwareUpgradeGuid and you must required to upload firmware file in file service API with firmwareUpgradeGuid, for gateway device requires to send tag in file request body.' responses: '412': description: Indicates that a condition set for this request is failed, and the request cannot be carried out. '401': description: Indicates that authentication is failed because of the token is invalid or expired or missing. '500': description: Indicates that the request could not be carried out because of some technical error on the server. content: application/json: schema: $ref: '#/components/schemas/ErrorsResponse' '200': description: Indicates that firmware upgrade created successfully. content: application/json: schema: $ref: '#/components/schemas/FirmwareUpgradeCreateResponse' '403': description: Indicates that the user is not authorized to access this section. '409': description: 'Indicates that the request could not be carried out because of one of the below or other conflicts on the server. firmware not found, firmware software version already exists and invalid logged user or company.' requestBody: content: application/json: schema: $ref: '#/components/schemas/FirmwareUpgradeCreateV2Request' description: Json object operationId: postApiV2FirmwareUpgrade x-operation-id-source: derived get: tags: - FirmwareUpgrade summary: Get firmware software list description: 'This API endpoint provides you the list of firmware software versions. To get software versions of a particular firmware, you need to send firmware guid in the firmwareGuid parameter. Here, the type parameter is mandatory. It must be draft or released. You can also add the filters as given in the parameters. Though the filters are optional, to apply them, you need to send these filter parameters in a query string.' parameters: - name: firmwareguid in: query description: Firmware guid schema: type: string format: uuid - name: type in: query description: Firmware upgrade type should be draft or released or both. required: true schema: type: string - name: pageNumber in: query description: 'To fetch specific page data. Eg: 2' schema: type: integer format: int32 - name: pageSize in: query description: 'To define number of records in single page. Eg: 25' schema: type: integer format: int32 - name: searchText in: query description: To search for specific texts in the list. schema: type: string - name: sortBy in: query description: To sort the list. To do that, Specify Field name to sort with and sorting order. Eg. version asc, version desc, version etc schema: type: string responses: '412': description: Indicates that a condition set for this request is failed, and the request cannot be carried out. '401': description: Indicates that authentication is failed because of the token is invalid or expired or missing. '500': description: Indicates that the request could not be carried out because of some technical error on the server. content: application/json: schema: $ref: '#/components/schemas/ErrorsResponse' '200': description: Indicates that firmware upgrade list received successfully. content: application/json: schema: $ref: '#/components/schemas/FirmwareUpgradeGetListResonse' '204': description: Indicates that the request has been successfully processed and no records found. content: application/json: schema: $ref: '#/components/schemas/NoContentResult' '403': description: Indicates that the user is not authorized to access this section. '409': description: 'Indicates that the request could not be carried out because of one of the below or other conflicts on the server. invalid logged user or company.' operationId: getApiV2FirmwareUpgrade x-operation-id-source: derived /api/v2/firmware-upgrade/{firmwareUpgradeGuid}: put: tags: - FirmwareUpgrade summary: Update firmware upgrade description: 'This API endpoint helps you to update a firmware software version. For that, you need to send firmwareUpgradeGuid in request url and updated firmware software version details in the request body. Here, firmwareGuid defines you want the upgrade of which firmware. Software is a firmware software version. The firmwareFile requires a firmware upgrade file.' parameters: - name: firmwareUpgradeGuid in: path description: Firmware Upgrade Guid required: true schema: type: string format: uuid responses: '412': description: Indicates that a condition set for this request is failed, and the request cannot be carried out. '401': description: Indicates that authentication is failed because of the token is invalid or expired or missing. '500': description: Indicates that the request could not be carried out because of some technical error on the server. content: application/json: schema: $ref: '#/components/schemas/ErrorsResponse' '200': description: Indicates that firmware upgrade updated successfully. content: application/json: schema: $ref: '#/components/schemas/FirmwareUpgradeUpdateResponse' '403': description: Indicates that the user is not authorized to access this section. '409': description: 'Indicates that the request could not be carried out because of one of the below or other conflicts on the server. Firmware software version is released, firmware software version already exists, firmware hardware version already exists and invalid logged user or company.' requestBody: content: application/json: schema: $ref: '#/components/schemas/FirmwareUpgradeUpdateV2Request' description: Json object operationId: putApiV2FirmwareUpgradeByFirmwareUpgradeGuid x-operation-id-source: derived delete: tags: - FirmwareUpgrade summary: Delete firmware upgrade description: This API endpoint allows you to delete the firmware software version. For that, you need to send firmwareUpgradeGuid in request url. parameters: - name: firmwareUpgradeGuid in: path description: Firmware upgrade Guid required: true schema: type: string format: uuid - name: isDeleteSingleFirmware in: query description: "send true to forcefully delete if only this single draft firmware upgrade exists in firmware. \n Otherwise systme will check that any other firmware upgrade must be exists in associated firmware" schema: type: boolean responses: '412': description: Indicates that a condition set for this request is failed, and the request cannot be carried out. '401': description: Indicates that authentication is failed because of the token is invalid or expired or missing. '500': description: Indicates that the request could not be carried out because of some technical error on the server. content: application/json: schema: $ref: '#/components/schemas/ErrorsResponse' '200': description: Indicates that firmware upgrade deleted successfully. content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '403': description: Indicates that the user is not authorized to access this section. '409': description: 'Indicates that the request could not be carried out because of one of the below or other conflicts on the server. firmware upgrade not found, released firmware upgrade can not delete, single firmware upgrade can not delete and invalid logged user or company.' operationId: deleteApiV2FirmwareUpgradeByFirmwareUpgradeGuid x-operation-id-source: derived get: tags: - FirmwareUpgrade summary: Get firmware upgrade details description: This API endpoint gives you a detailed description of firmware upgrade details. parameters: - name: firmwareUpgradeGuid in: path description: Firmware upgrade guid required: true schema: type: string format: uuid responses: '412': description: Indicates that a condition set for this request is failed, and the request cannot be carried out. '401': description: Indicates that authentication is failed because of the token is invalid or expired or missing. '500': description: Indicates that the request could not be carried out because of some technical error on the server. content: application/json: schema: $ref: '#/components/schemas/ErrorsResponse' '200': description: Indicates that firmware upgrade details received successfully. content: application/json: schema: $ref: '#/components/schemas/FirmwareUpGradeListResponse' '409': description: 'Indicates that the request could not be carried out because of one of the below or other conflicts on the server. firmware upgrade not found and invalid logged user or company.' operationId: getApiV2FirmwareUpgradeByFirmwareUpgradeGuid x-operation-id-source: derived /api/v2/firmware-upgrade/{firmwareUpgradeGuid}/publish: put: tags: - FirmwareUpgrade summary: Publish firmware upgrade description: This API endpoint helps you to publish/release firmware software versions. For that, you need to send firmwareUpgradeGuid in request url. This lets you publish firmware software versions with draft status only. parameters: - name: firmwareUpgradeGuid in: path description: Firmware upgrade guid required: true schema: type: string format: uuid responses: '412': description: Indicates that a condition set for this request is failed, and the request cannot be carried out. '401': description: Indicates that authentication is failed because of the token is invalid or expired or missing. '500': description: Indicates that the request could not be carried out because of some technical error on the server. content: application/json: schema: $ref: '#/components/schemas/ErrorsResponse' '200': description: Indicates that firmware upgrade publish process started successfully. content: application/json: schema: $ref: '#/components/schemas/PublishFirmwareUpgradeResponse' '403': description: Indicates that the user is not authorized to access this section. '409': description: 'Indicates that the request could not be carried out because of one of the below or other conflicts on the server. firmware upgrade not found, released firmware upgrade already published and invalid logged user or company.' operationId: putApiV2FirmwareUpgradeByFirmwareUpgradeGuidPublish x-operation-id-source: derived /api/v2/firmware/{firmwareGuid}/lookup: get: tags: - FirmwareUpgrade summary: Get firmware software version lookup list description: This API endpoint lets you access the lookup list of firmware software versions. For that, you need to send firmwareGuid in request url. parameters: - name: firmwareGuid in: path description: Firmware guid required: true schema: type: string format: uuid - name: isDraft in: query description: send true to get draft firmware upgrades schema: type: boolean - name: isSphere in: query description: To get sphere firmwares schema: type: boolean responses: '412': description: Indicates that a condition set for this request is failed, and the request cannot be carried out. '401': description: Indicates that authentication is failed because of the token is invalid or expired or missing. '500': description: Indicates that the request could not be carried out because of some technical error on the server. content: application/json: schema: $ref: '#/components/schemas/ErrorsResponse' '200': description: Indicates that firmware upgrade lookup received successfully. content: application/json: schema: $ref: '#/components/schemas/FirmWareLookupListResponse' '409': description: 'Indicates that the request could not be carried out because of one of the below or other conflicts on the server. invalid logged user or company.' operationId: getApiV2FirmwareByFirmwareGuidLookup x-operation-id-source: derived /api/v2/firmware-upgrade/lookup/{firmwareGuid}: get: tags: - FirmwareUpgrade summary: Get firmware upgrade lookup list description: This API endpoint gives you the lookup list of firmware software versions. For that, you need to send firmwareGuid in request url. parameters: - name: firmwareGuid in: path description: Firmware guid required: true schema: type: string format: uuid - name: isSphere in: query description: To get sphere firmwares schema: type: boolean responses: '412': description: Indicates that a condition set for this request is failed, and the request cannot be carried out. '401': description: Indicates that authentication is failed because of the token is invalid or expired or missing. '500': description: Indicates that the request could not be carried out because of some technical error on the server. content: application/json: schema: $ref: '#/components/schemas/ErrorsResponse' '200': description: Indicates that firmware upgrade lookup received successfully. content: application/json: schema: $ref: '#/components/schemas/FirmWareLookupListResponse' '403': description: Indicates that the user is not authorized to access this section. '409': description: 'Indicates that the request could not be carried out because of one of the below or other conflicts on the server. invalid logged user or company.' operationId: getApiV2FirmwareUpgradeLookupByFirmwareGuid x-operation-id-source: derived components: schemas: FirmwareUpgradeGetList: type: object properties: guid: type: - string - 'null' readOnly: true firmwareGuid: type: - string - 'null' readOnly: true firmwareName: type: - string - 'null' firmwareDescription: type: - string - 'null' firmwareUpgradeDescription: type: - string - 'null' fileName: type: - string - 'null' isDraft: type: - string - 'null' hardware: type: - string - 'null' software: type: - string - 'null' createdDate: type: string format: date-time createdby: type: - string - 'null' readOnly: true updatedDate: type: string format: date-time updatedByName: type: - string - 'null' fileUrl: type: - string - 'null' urls: type: - array - 'null' items: $ref: '#/components/schemas/FileUrl' additionalProperties: false FirmwareUpGradeList: type: object properties: firmwareguid: type: - string - 'null' readOnly: true name: type: - string - 'null' hardware: type: - string - 'null' guid: type: - string - 'null' readOnly: true software: type: - string - 'null' firmwareUpgradeDescription: type: - string - 'null' description: type: - string - 'null' fileName: type: - string - 'null' isDraft: type: - string - 'null' createdDate: type: string format: date-time createdBy: type: - string - 'null' readOnly: true updatedDate: type: string format: date-time updatedBy: type: - string - 'null' readOnly: true fileUrl: type: - string - 'null' deviceTemplateGuid: type: - string - 'null' readOnly: true urls: type: - array - 'null' items: $ref: '#/components/schemas/FileUrl' additionalProperties: false PublishFirmwareUpgradeResponse: type: object properties: data: type: - array - 'null' items: type: - object - 'null' status: enum: - 100 - 101 - 102 - 103 - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226 - 300 - 301 - 302 - 303 - 304 - 305 - 306 - 307 - 308 - 400 - 401 - 402 - 403 - 404 - 405 - 406 - 407 - 408 - 409 - 410 - 411 - 412 - 413 - 414 - 415 - 416 - 417 - 421 - 422 - 423 - 424 - 426 - 428 - 429 - 431 - 451 - 500 - 501 - 502 - 503 - 504 - 505 - 506 - 507 - 508 - 510 - 511 type: integer format: int32 message: type: - string - 'null' count: type: - integer - 'null' format: int64 additionalProperties: false FirmWareLookupListResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/FirmWareLookupList' status: enum: - 100 - 101 - 102 - 103 - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226 - 300 - 301 - 302 - 303 - 304 - 305 - 306 - 307 - 308 - 400 - 401 - 402 - 403 - 404 - 405 - 406 - 407 - 408 - 409 - 410 - 411 - 412 - 413 - 414 - 415 - 416 - 417 - 421 - 422 - 423 - 424 - 426 - 428 - 429 - 431 - 451 - 500 - 501 - 502 - 503 - 504 - 505 - 506 - 507 - 508 - 510 - 511 type: integer format: int32 message: type: - string - 'null' count: type: - integer - 'null' format: int64 additionalProperties: false ErrorModel: type: object properties: param: type: - string - 'null' message: type: - string - 'null' additionalProperties: false FirmwareUpgradeCreate: type: object properties: newId: type: - string - 'null' readOnly: true additionalProperties: false FileUrl: type: object properties: url: type: - string - 'null' tag: type: - string - 'null' name: type: - string - 'null' additionalProperties: false NoContentResult: type: object properties: statusCode: type: integer format: int32 additionalProperties: false FirmwareUpGradeListResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/FirmwareUpGradeList' status: enum: - 100 - 101 - 102 - 103 - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226 - 300 - 301 - 302 - 303 - 304 - 305 - 306 - 307 - 308 - 400 - 401 - 402 - 403 - 404 - 405 - 406 - 407 - 408 - 409 - 410 - 411 - 412 - 413 - 414 - 415 - 416 - 417 - 421 - 422 - 423 - 424 - 426 - 428 - 429 - 431 - 451 - 500 - 501 - 502 - 503 - 504 - 505 - 506 - 507 - 508 - 510 - 511 type: integer format: int32 message: type: - string - 'null' count: type: - integer - 'null' format: int64 additionalProperties: false FirmwareUpgradeCreateResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/FirmwareUpgradeCreate' status: enum: - 100 - 101 - 102 - 103 - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226 - 300 - 301 - 302 - 303 - 304 - 305 - 306 - 307 - 308 - 400 - 401 - 402 - 403 - 404 - 405 - 406 - 407 - 408 - 409 - 410 - 411 - 412 - 413 - 414 - 415 - 416 - 417 - 421 - 422 - 423 - 424 - 426 - 428 - 429 - 431 - 451 - 500 - 501 - 502 - 503 - 504 - 505 - 506 - 507 - 508 - 510 - 511 type: integer format: int32 message: type: - string - 'null' count: type: - integer - 'null' format: int64 additionalProperties: false FirmwareUpgradeGetListResonse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/FirmwareUpgradeGetList' status: enum: - 100 - 101 - 102 - 103 - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226 - 300 - 301 - 302 - 303 - 304 - 305 - 306 - 307 - 308 - 400 - 401 - 402 - 403 - 404 - 405 - 406 - 407 - 408 - 409 - 410 - 411 - 412 - 413 - 414 - 415 - 416 - 417 - 421 - 422 - 423 - 424 - 426 - 428 - 429 - 431 - 451 - 500 - 501 - 502 - 503 - 504 - 505 - 506 - 507 - 508 - 510 - 511 type: integer format: int32 message: type: - string - 'null' count: type: - integer - 'null' format: int64 additionalProperties: false FirmwareUpgradeCreateV2Request: required: - firmwareGuid - software type: object properties: firmwareGuid: minLength: 1 type: string description: Associated firmware guid description: maxLength: 250 type: - string - 'null' description: Firmware Description firmwareDescription: maxLength: 250 type: - string - 'null' description: Firmware hardware Description software: maxLength: 20 minLength: 1 type: string description: Firmware Software Version tag: type: - array - 'null' items: type: string description: "Tag of device template \nRequired if device template has enabled gateway support." operationId: type: - string - 'null' description: OperationId for azure sphere image upload operation. format: uuid additionalProperties: false FirmWareLookupList: type: object properties: guid: type: - string - 'null' readOnly: true software: type: - string - 'null' additionalProperties: false FirmwareUpgradeUpdateV2Request: required: - firmwareGuid - software type: object properties: firmwareGuid: minLength: 1 type: string description: Associated firmware guid description: maxLength: 250 type: - string - 'null' description: Firmware Description firmwareDescription: maxLength: 250 type: - string - 'null' description: Firmware hardware Description software: maxLength: 20 minLength: 1 type: string description: Firmware Software Version tag: type: - array - 'null' items: type: string description: "Tag of device template \nRequired if device template has enabled gateway support." operationId: type: - string - 'null' description: OperationId for azure sphere image upload operation. format: uuid additionalProperties: false ErrorsResponse: type: object properties: status: type: integer format: int32 message: type: - string - 'null' error: type: - array - 'null' items: $ref: '#/components/schemas/ErrorModel' additionalProperties: false SuccessResponse: type: object properties: message: type: - string - 'null' status: type: integer format: int32 data: type: - array - 'null' items: type: - object - 'null' additionalProperties: false FirmwareUpgradeUpdateResponse: type: object properties: data: type: - array - 'null' items: type: - object - 'null' status: enum: - 100 - 101 - 102 - 103 - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226 - 300 - 301 - 302 - 303 - 304 - 305 - 306 - 307 - 308 - 400 - 401 - 402 - 403 - 404 - 405 - 406 - 407 - 408 - 409 - 410 - 411 - 412 - 413 - 414 - 415 - 416 - 417 - 421 - 422 - 423 - 424 - 426 - 428 - 429 - 431 - 451 - 500 - 501 - 502 - 503 - 504 - 505 - 506 - 507 - 508 - 510 - 511 type: integer format: int32 message: type: - string - 'null' count: type: - integer - 'null' format: int64 additionalProperties: false securitySchemes: Bearer: type: apiKey description: Please enter JWT with Bearer into field name: Authorization in: header