### GET /iot/ota/{initId} Source: https://connhex.com/api/core/latest/firmwares/api.json Downloads firmware binary file for OTA updates ```markdown ### Parameters - **initId** (string, path, required): Device initialization ID ### Responses #### 200 - response #### 401 - Missing or invalid thing key provided Missing or invalid thing key provided #### 404 - Firmware not found Firmware not found #### 500 - response Unexpected server-side error occurred ### Example Usage ```bash curl -X GET "https://apis./iot/ota/{initId}" ``` ``` -------------------------------- ### GET /iot/firmwares/{firmwareId} Source: https://connhex.com/api/core/latest/firmwares/api.json Retrieves firmware configuration by ID Required Permission: - Resource: ```core:firmwares:{id}``` - Action: ```core:firmwares:get``` ```markdown ### Parameters - **firmwareId** (string, path, required): Firmware identifier ### Responses #### 200 - response **Firmware** - **id** (string): Unique firmware identifier - **name** (string): Firmware name - **architecture** (string): Hardware architecture - **description** (string): Description - **metadata** (object): Custom metadata - **tags** (array (string)): Tags - **active_release** (string): Currently active release version - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **updated_by** (string): ID of user who last updated #### 401 - Missing or invalid access token provided Missing or invalid access token provided #### 403 - User not authorized to access firmware User not authorized to access firmware #### 404 - Firmware not found Firmware not found #### 500 - response Unexpected server-side error occurred ### Example Usage ```bash curl -X GET "https://apis./iot/firmwares/{firmwareId}" ``` ``` -------------------------------- ### HEAD /iot/ota/{initId} Source: https://connhex.com/api/core/latest/firmwares/api.json Gets firmware file metadata for OTA updates ```markdown ### Parameters - **initId** (string, path, required): Device initialization ID ### Responses #### 200 - Firmware file metadata Empty response body #### 401 - Missing or invalid thing key provided Missing or invalid thing key provided #### 404 - Firmware not found Firmware not found #### 500 - response Unexpected server-side error occurred ### Example Usage ```bash curl -X HEAD "https://apis./iot/ota/{initId}" ``` ``` -------------------------------- ### GET /iot/firmwares/{firmwareId}/releases Source: https://connhex.com/api/core/latest/firmwares/api.json Gets all releases for a firmware with pagination Required Permission: - Resource: ```core:firmwares:{id}``` - Action: ```core:firmwares:listReleases``` ```markdown ### Parameters - **firmwareId** (string, path, required): Firmware identifier - **offset** (integer, query, optional): Number of items to skip - **limit** (integer, query, optional): Maximum items per page ### Responses #### 200 - response **ReleasesPage** - **total** (integer): Total number of items - **offset** (integer): Number of items to skip - **limit** (integer): Maximum items per page - **releases** (array (Release)) Array items: - **id** (string): Unique release identifier - **version** (string): Version number - **note** (string): Release notes - **mandatory** (boolean): Whether update is mandatory - **min_version** (string): Minimum version that can update to this - **max_version** (string): Maximum version that can update to this - **filename** (string): Original firmware file name - **size** (integer): File size in bytes - **checksum** (string): File checksum - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **updated_by** (string): ID of user who last updated #### 401 - Missing or invalid access token provided Missing or invalid access token provided #### 403 - User not authorized to access firmware User not authorized to access firmware #### 404 - Firmware not found Firmware not found #### 500 - response Unexpected server-side error occurred ### Example Usage ```bash curl -X GET "https://apis./iot/firmwares/{firmwareId}/releases?offset=0&limit=10" ``` ``` -------------------------------- ### POST /iot/firmwares Source: https://connhex.com/api/core/latest/firmwares/api.json Creates a new firmware model configuration Required Permission: - Resource: ```core:firmwares``` - Action: ```core:firmwares:create``` ```markdown ### Request Body **Content-Type:** application/json - **model_id** (string) (required) - **name** (string) (required) - **architecture** (string) (required) - **description** (string) - **metadata** (object) - **tags** (array (string)) ### Responses #### 201 - response Firmware created #### 400 - Failed due to malformed JSON Failed due to malformed JSON #### 401 - Missing or invalid access token provided Missing or invalid access token provided #### 403 - User not authorized to create firmware User not authorized to create firmware #### 409 - Firmware with provided ID already exists Firmware with provided ID already exists #### 415 - Missing or invalid content type Missing or invalid content type #### 500 - response Unexpected server-side error occurred ### Example Usage ```bash curl -X POST "https://apis./iot/firmwares" \ -H "Content-Type: application/json" \ -d '{ "example": "data" }' ``` ``` -------------------------------- ### Security: $ref Source: https://connhex.com/api/core/latest/firmwares/api.json Security scheme: $ref ```markdown ## Security: $ref **Description:** Security scheme: $ref **Type:** unknown ``` -------------------------------- ### POST /iot/firmwares/{firmwareId}/releases Source: https://connhex.com/api/core/latest/firmwares/api.json Creates a new firmware release version Required Permission: - Resource: ```core:firmwares:{id}``` - Action: ```core:firmwares:createRelease``` ```markdown ### Parameters - **firmwareId** (string, path, required): Firmware identifier ### Request Body **Content-Type:** multipart/form-data - **version** (string) (required) - **note** (string) - **mandatory** (boolean) - **min_version** (string) - **max_version** (string) - **filename** (string) (required) - **bin** (string (binary)) (required) ### Responses #### 201 - response **Release** - **id** (string): Unique release identifier - **version** (string): Version number - **note** (string): Release notes - **mandatory** (boolean): Whether update is mandatory - **min_version** (string): Minimum version that can update to this - **max_version** (string): Maximum version that can update to this - **filename** (string): Original firmware file name - **size** (integer): File size in bytes - **checksum** (string): File checksum - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **updated_by** (string): ID of user who last updated #### 400 - Failed due to malformed request Failed due to malformed request #### 401 - Missing or invalid access token provided Missing or invalid access token provided #### 403 - User not authorized to create release User not authorized to create release #### 404 - Firmware not found Firmware not found #### 415 - Missing or invalid content type Missing or invalid content type #### 500 - response Unexpected server-side error occurred ### Example Usage ```bash curl -X POST "https://apis./iot/firmwares/{firmwareId}/releases" \ -H "Content-Type: application/json" \ -d '{ "example": "data" }' ``` ``` -------------------------------- ### Schema: Release Source: https://connhex.com/api/core/latest/firmwares/api.json Schema definition for Release ```markdown ## Schema: Release Schema definition for Release **Type:** object - **id** (string): Unique release identifier - **version** (string): Version number - **note** (string): Release notes - **mandatory** (boolean): Whether update is mandatory - **min_version** (string): Minimum version that can update to this - **max_version** (string): Maximum version that can update to this - **filename** (string): Original firmware file name - **size** (integer): File size in bytes - **checksum** (string): File checksum - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **updated_by** (string): ID of user who last updated ``` -------------------------------- ### POST /iot/firmwares/{firmwareId}/releases/{releaseId}/activate Source: https://connhex.com/api/core/latest/firmwares/api.json Sets a release version as the active version Required Permission: - Resource: ```core:firmwares:{id}``` - Action: ```core:firmwares:activateRelease``` ```markdown ### Parameters - **firmwareId** (string, path, required): Firmware identifier - **releaseId** (string, path, required): Release identifier ### Responses #### 204 - Release activated Empty response body #### 401 - Missing or invalid access token provided Missing or invalid access token provided #### 403 - User not authorized to activate release User not authorized to activate release #### 404 - Firmware or release not found Firmware or release not found #### 500 - response Unexpected server-side error occurred ### Example Usage ```bash curl -X POST "https://apis./iot/firmwares/{firmwareId}/releases/{releaseId}/activate" ``` ``` -------------------------------- ### PUT /iot/firmwares/{firmwareId} Source: https://connhex.com/api/core/latest/firmwares/api.json Updates firmware configuration Required Permission: - Resource: ```core:firmwares:{id}``` - Action: ```core:firmwares:update``` ```markdown ### Parameters - **firmwareId** (string, path, required): Firmware identifier ### Request Body **Content-Type:** application/json - **name** (string) - **description** (string) - **architecture** (string) - **metadata** (object) - **tags** (array (string)) ### Responses #### 200 - Firmware updated Empty response body #### 400 - Failed due to malformed request Failed due to malformed request #### 401 - Missing or invalid access token provided Missing or invalid access token provided #### 403 - User not authorized to update firmware User not authorized to update firmware #### 404 - Firmware not found Firmware not found #### 415 - Missing or invalid content type Missing or invalid content type #### 500 - response Unexpected server-side error occurred ### Example Usage ```bash curl -X PUT "https://apis./iot/firmwares/{firmwareId}" \ -H "Content-Type: application/json" \ -d '{ "example": "data" }' ``` ``` -------------------------------- ### Schema: ReleasesPage Source: https://connhex.com/api/core/latest/firmwares/api.json Schema definition for ReleasesPage ```markdown ## Schema: ReleasesPage Schema definition for ReleasesPage **Type:** object - **total** (integer): Total number of items - **offset** (integer): Number of items to skip - **limit** (integer): Maximum items per page - **releases** (array (Release)) Array items: - **id** (string): Unique release identifier - **version** (string): Version number - **note** (string): Release notes - **mandatory** (boolean): Whether update is mandatory - **min_version** (string): Minimum version that can update to this - **max_version** (string): Maximum version that can update to this - **filename** (string): Original firmware file name - **size** (integer): File size in bytes - **checksum** (string): File checksum - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **updated_by** (string): ID of user who last updated ``` -------------------------------- ### Schema: Firmware Source: https://connhex.com/api/core/latest/firmwares/api.json Schema definition for Firmware ```markdown ## Schema: Firmware Schema definition for Firmware **Type:** object - **id** (string): Unique firmware identifier - **name** (string): Firmware name - **architecture** (string): Hardware architecture - **description** (string): Description - **metadata** (object): Custom metadata - **tags** (array (string)): Tags - **active_release** (string): Currently active release version - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **updated_by** (string): ID of user who last updated ``` -------------------------------- ### API Overview: Connhex Firmware Service Source: https://connhex.com/api/core/latest/firmwares/api.json HTTP API for managing firmware versions and releases ```yaml # Connhex Firmware Service # Version: 1.5.0 HTTP API for managing firmware versions and releases # Base URL: https://apis. ``` -------------------------------- ### DELETE /iot/firmwares/{firmwareId} Source: https://connhex.com/api/core/latest/firmwares/api.json Deletes firmware configuration and all its releases Required Permission: - Resource: ```core:firmwares:{id}``` - Action: ```core:firmwares:delete``` ```markdown ### Parameters - **firmwareId** (string, path, required): Firmware identifier ### Responses #### 204 - Firmware removed Empty response body #### 401 - Missing or invalid access token provided Missing or invalid access token provided #### 403 - User not authorized to delete firmware User not authorized to delete firmware #### 404 - Firmware not found Firmware not found #### 500 - response Unexpected server-side error occurred ### Example Usage ```bash curl -X DELETE "https://apis./iot/firmwares/{firmwareId}" ``` ``` -------------------------------- ### DELETE /iot/firmwares/{firmwareId}/releases/{releaseId} Source: https://connhex.com/api/core/latest/firmwares/api.json Deletes a firmware release version Required Permission: - Resource: ```core:firmwares:{id}``` - Action: ```core:firmwares:deleteRelease``` ```markdown ### Parameters - **firmwareId** (string, path, required): Firmware identifier - **releaseId** (string, path, required): Release identifier ### Responses #### 204 - Release removed Empty response body #### 401 - Missing or invalid access token provided Missing or invalid access token provided #### 403 - User not authorized to delete release User not authorized to delete release #### 404 - Firmware or release not found Firmware or release not found #### 422 - Cannot remove active release Cannot remove active release #### 500 - response Unexpected server-side error occurred ### Example Usage ```bash curl -X DELETE "https://apis./iot/firmwares/{firmwareId}/releases/{releaseId}" ``` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.