Avnet /IOTCONNECT File API

Upload, update, delete and bulk-upload files and resolve file URLs used by device telemetry. Part of Avnet's /IOTCONNECT IoT platform REST API (6 operations, API version 1.1); every request carries a JWT bearer token issued by the Authenticate API and the docs page serves the live Swagger 2.0 definition per module, environment and cloud platform (Azure or AWS).

Operations 6

POST /api/v1.1/File Upload a file
PUT /api/v1.1/File/{fileGuid} Update File by file guid
DELETE /api/v1.1/File/{moduleType}/{fileGuid} Delete a file
GET /api/v1.1/File/{moduleType}/{fileRefGuid} Get file list
GET /api/v1.1/File/device-telemetry/{uniqueId} Get device telemetry file url(s)
POST /api/v1.1/File/bulk Upload multiple files

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/avnet-iotconnect-file-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

avnet-iotconnect-file-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: /IOTCONNECT™ File API
  description: "File REST API contains information of file add, update, delete and get.\n<br /><h2>Headers</h2><p>Needed Headers\
    \ for all the API. \n<br />\n<br /> Authorization &emsp;&nbsp;  &emsp;<b><i style=\"font-style: italic !important;\">Bearer\
    \ + access_token (Generated From api/v1.1/auth/login API)</i></b>\n<br /> Content-Type &emsp;&nbsp;&emsp;<b><i style=\"\
    font-style: italic !important;\">application/json</i></b></p>"
  version: '1.1'
  x-source: https://file.iotconnect.io/api/v1.1/swagger-json
  x-harvested: '2026-09-18'
  x-original: openapi/_original/avnet-iotconnect-file-azure-prod-swagger.json
  x-conversion: Swagger 2.0 -> OpenAPI 3.0.0 via swagger2openapi; operations, parameters, schemas and responses are as published
    — only servers[] and these x- provenance keys were added. No operationIds are published by the provider and none were
    invented.
  x-ownership: IoTConnect is Avnet's own IoT platform (docs.iotconnect.io is titled "Avnet /IOTCONNECT", carries "Copyright
    Avnet, Inc." and links github.com/avnet-iotconnect); the product lives on iotconnect.io rather than avnet.com.
servers:
- url: https://file.iotconnect.io
  description: /IOTCONNECT production (Azure platform) — the host the docs page resolves for env=prod&pf=az; paths carry the
    /api/v1.1 prefix
paths:
  /api/v1.1/File:
    post:
      tags:
      - File
      summary: Upload a file
      description: <p>This API endpoint allows you to upload files on the cloud. You can upload different files like user
        profile, device image, firmware file etc. For that, you need to send <i>ModuleType</i>, defining the type of file.
        The <i>fileRefGuid</i> is a reference guid, saying a file belongs to which module. For example, for a user profile,
        it requires a user guid to define that to which user the file belongs.</p>
      responses:
        '200':
          description: Indicates that the file uploaded successfully and returns file details.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/FileAddResponse'
        '401':
          description: Indicates that authentication is failed because of the token is invalid or expired or missing.
        '409':
          description: "Indicates that the request could not be carried out because of one of the below or other conflicts\
            \ on the server.\r\ninvalid logged user or company."
        '412':
          description: Indicates that a condition set for this request is failed, and the request cannot be carried out.
        '500':
          description: Indicates that the request could not be carried out because of some technical error on the server.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorsResponse'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                fileRefGuid:
                  description: "Reference Guid. \r\n            <b>Eg.</b><ul><li>deviceGuid for deviceimage</li><li>companyGuid\
                    \ for companylogo</li><li>firmwareUpgradeGuid for firmware</li><li>userGuid for userprofile</li><li>importBatchGuid\
                    \ for importbatch</li><li>solutionGuid for solutionimage</li><li>deviceCertificateGuid for devicecertificate</li><li>any\
                    \ guid for custom</li><li>moduleGuid for module</li><li>dashboardWidgetGuid for widgetimage</li><li>dashboardBackgroundGuid\
                    \ for dashboardimage</li></ul>"
                  type: string
                  format: uuid
                Tag:
                  description: Tag of file
                  type: string
                ModuleType:
                  description: "Module type should be one of below items \r\n<ul><li>deviceimage</li><li>companylogo</li><li>firmware</li><li>userprofile</li><li>importbatch</li><li>solutionimage</li><li>devicecertificate</li><li>custom</li><li>module</li><li>widgetimage</li><li>deviceupdate</li></ul>"
                  type: string
                FileData:
                  description: Upload new file
                  type: string
                  format: binary
                CompanyGuid:
                  description: Company Guid.
                  type: string
                  format: uuid
                IsSphere:
                  type: boolean
              required:
              - fileRefGuid
              - ModuleType
              - FileData
        required: true
  /api/v1.1/File/{fileGuid}:
    put:
      tags:
      - File
      summary: Update File by file guid
      description: <p>This API endpoint lets you update a file on the cloud. For that, you need to send <i>fileGuid</i> in
        request url and updated file in the request body.</p>
      parameters:
      - name: fileGuid
        in: path
        description: File Guid
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                ModuleType:
                  description: "Module type should be one of below items \r\n<ul><li>deviceimage</li><li>companylogo</li><li>firmware</li><li>userprofile</li><li>importbatch</li><li>solutionimage</li><li>devicecertificate</li><li>custom</li><li>module</li><li>widgetimage</li><li>deviceupdate</li></ul>"
                  type: string
                FileData:
                  description: Upload new file
                  type: string
                  format: binary
                CompanyGuid:
                  description: Company Guid.
                  type: string
                  format: uuid
                IsSphere:
                  type: boolean
              required:
              - ModuleType
              - FileData
        required: true
      responses:
        '200':
          description: Indicates that the file updated successfully and returns updated file details.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/FileUpdateResponse'
        '401':
          description: Indicates that authentication is failed because of the token is invalid or expired or missing.
        '409':
          description: "Indicates that the request could not be carried out because of one of the below or other conflicts\
            \ on the server.\r\ninvalid logged user or company."
        '412':
          description: Indicates that a condition set for this request is failed, and the request cannot be carried out.
        '500':
          description: Indicates that the request could not be carried out because of some technical error on the server.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorsResponse'
  /api/v1.1/File/{moduleType}/{fileGuid}:
    delete:
      tags:
      - File
      summary: Delete a file
      description: <p>This API endpoint permits you to delete a file from the cloud. For that, you need to send <i>modelType</i>
        and <i>fileGuid</i> in request url.</p>
      parameters:
      - name: moduleType
        in: path
        description: "Module type should be one of below items\r\n<ul><li>deviceimage</li><li>companylogo</li><li>firmware</li><li>userprofile</li><li>importbatch</li><li>solutionimage</li><li>devicecertificate</li><li>custom</li><li>module</li><li>widgetimage</li></ul>"
        required: true
        schema:
          type: string
      - name: fileGuid
        in: path
        description: File Guid
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Indicates that the file deleted successfully.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/FileDeleteResponse'
        '204':
          description: Indicates that the file not found.
        '401':
          description: Indicates that authentication is failed because of the token is invalid or expired or missing.
        '409':
          description: "Indicates that the request could not be carried out because of one of the below or other conflicts\
            \ on the server.\r\ninvalid logged user or company."
        '412':
          description: Indicates that a condition set for this request is failed, and the request cannot be carried out.
        '500':
          description: Indicates that the request could not be carried out because of some technical error on the server.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorsResponse'
  /api/v1.1/File/{moduleType}/{fileRefGuid}:
    get:
      tags:
      - File
      summary: Get file list
      description: <p>This API endpoint allows you to download files from the cloud. For that, you need to send <i>moduleType</i>
        and <i>fileRefGuid</i> in request url.</p>
      parameters:
      - name: moduleType
        in: path
        description: "Module type should be one of below items\r\n<ul><li>deviceimage</li><li>companylogo</li><li>firmware</li><li>userprofile</li><li>importbatch</li><li>solutionimage</li><li>devicecertificate</li><li>custom</li><li>module</li><li>widgetimage</li></ul>"
        required: true
        schema:
          type: string
      - name: fileRefGuid
        in: path
        description: Reference Guid.<b>Eg.</b>
        required: true
        schema:
          type: string
          format: uuid
      - name: isSphere
        in: query
        description: Is Sphere to get sphere firmware file list.<b>Eg.</b><ul><li>deviceGuid for deviceimage</li><li>companyGuid
          for companylogo</li><li>firmwareUpgradeGuid for firmware</li><li>userGuid for userprofile</li><li>importBatchGuid
          for importbatch</li><li>solutionGuid for solutionimage</li><li>deviceCertificateGuid for devicecertificate</li><li>any
          guid for custom</li><li>moduleGuid for module</li><li>dashboardWidgetGuid for widgetimage</li></ul>
        schema:
          type: boolean
      responses:
        '200':
          description: Indicates that the file list received successfully.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/FileDeleteResponse'
        '204':
          description: Indicates that the file list not found.
        '401':
          description: Indicates that authentication is failed because of the token is invalid or expired or missing.
        '409':
          description: "Indicates that the request could not be carried out because of one of the below or other conflicts\
            \ on the server.\r\ninvalid logged user or company."
        '412':
          description: Indicates that a condition set for this request is failed, and the request cannot be carried out.
        '500':
          description: Indicates that the request could not be carried out because of some technical error on the server.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorsResponse'
  /api/v1.1/File/device-telemetry/{uniqueId}:
    get:
      tags:
      - File
      summary: Get device telemetry file url(s)
      description: <p>This API endpoint allows you to download device telemetry file from the cloud. For that, you need to
        send <i>uniqueId</i> in request url.</p>
      parameters:
      - name: uniqueId
        in: path
        description: device uniqueId
        required: true
        schema:
          type: string
      - name: imageViewer
        in: query
        description: Image Viewer
        schema:
          type: boolean
      responses:
        '200':
          description: Indicates that the device telemetry file received successfully.
        '204':
          description: Indicates that the file not found.
        '401':
          description: Indicates that authentication is failed because of the token is invalid or expired or missing.
        '409':
          description: "Indicates that the request could not be carried out because of one of the below or other conflicts\
            \ on the server.\r\ndevice not found, invalid logged user or company."
        '412':
          description: Indicates that a condition set for this request is failed, and the request cannot be carried out.
        '500':
          description: Indicates that the request could not be carried out because of some technical error on the server.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorsResponse'
  /api/v1.1/File/bulk:
    post:
      tags:
      - File
      summary: Upload multiple files
      description: <p>This API endpoint allows you to upload multiple files on the cloud. You can upload different files like
        user profile, device image, firmware file etc. For that, you need to send <i>ModuleType</i>, defining the type of
        file. The <i>fileRefGuid</i> is a reference guid, saying a file belongs to which module. For example, for a user profile,
        it requires a user guid to define that to which user the file belongs.</p>
      responses:
        '200':
          description: Indicates that the file uploaded successfully and returns files details.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BulkFileAddResponse'
        '401':
          description: Indicates that authentication is failed because of the token is invalid or expired or missing.
        '409':
          description: "Indicates that the request could not be carried out because of one of the below or other conflicts\
            \ on the server.\r\ninvalid logged user or company."
        '412':
          description: Indicates that a condition set for this request is failed, and the request cannot be carried out.
        '500':
          description: Indicates that the request could not be carried out because of some technical error on the server.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorsResponse'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                fileRefGuid:
                  description: "Reference Guid. \r\n            <b>Eg.</b><ul><li>deviceGuid for deviceimage</li><li>companyGuid\
                    \ for companylogo</li><li>firmwareUpgradeGuid for firmware</li><li>userGuid for userprofile</li><li>importBatchGuid\
                    \ for importbatch</li><li>solutionGuid for solutionimage</li><li>deviceCertificateGuid for devicecertificate</li><li>any\
                    \ guid for custom</li><li>moduleGuid for module</li><li>dashboardWidgetGuid for widgetimage</li><li>dashboardBackgroundGuid\
                    \ for dashboardimage</li></ul>"
                  type: string
                  format: uuid
                Tag:
                  description: Tag of file
                  type: string
                ModuleType:
                  description: "Module type should be one of below items \r\n<ul><li>deviceimage</li><li>companylogo</li><li>firmware</li><li>userprofile</li><li>importbatch</li><li>solutionimage</li><li>devicecertificate</li><li>custom</li><li>module</li><li>widgetimage</li><li>deviceupdate</li></ul>"
                  type: string
                fileDatas:
                  description: Upload new files
                  type: array
                CompanyGuid:
                  description: Company Guid.
                  type: string
                  format: uuid
              required:
              - fileRefGuid
              - ModuleType
              - fileDatas
        required: true
security:
- Bearer: []
tags:
- name: File
  description: File Api List
components:
  securitySchemes:
    Bearer:
      type: apiKey
      description: Please enter JWT with Bearer into field
      name: Authorization
      in: header
  schemas:
    BulkFileAddResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/FileDetail'
          nullable: true
        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
          nullable: true
        count:
          type: integer
          format: int64
          nullable: true
      additionalProperties: false
    ErrorModel:
      type: object
      properties:
        param:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
      additionalProperties: false
    ErrorsResponse:
      type: object
      properties:
        status:
          type: integer
          format: int32
        message:
          type: string
          nullable: true
        error:
          type: array
          items:
            $ref: '#/components/schemas/ErrorModel'
          nullable: true
      additionalProperties: false
    FileAddResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/FileDetail'
          nullable: true
        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
          nullable: true
        count:
          type: integer
          format: int64
          nullable: true
      additionalProperties: false
    FileBaseDetail:
      type: object
      properties:
        guid:
          type: string
          nullable: true
        file:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
      additionalProperties: false
    FileDeleteResponse:
      type: object
      properties:
        data:
          type: object
          nullable: true
        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
          nullable: true
        count:
          type: integer
          format: int64
          nullable: true
      additionalProperties: false
    FileDetail:
      type: object
      properties:
        tag:
          type: string
          nullable: true
        operationId:
          type: string
          format: uuid
          nullable: true
        guid:
          type: string
          nullable: true
        file:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
      additionalProperties: false
    FileUpdateResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/FileBaseDetail'
          nullable: true
        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
          nullable: true
        count:
          type: integer
          format: int64
          nullable: true
      additionalProperties: false