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-telemetry-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: 3.0.0
info:
title: /IOTCONNECT™ Telemetry API
description: Telementry REST API contains information of Telemetry modules. Its main REST API Device-Cloud and Cloud-Device
communication through HTTP(S) and MQTT protocols.
version: '2.0'
x-source: https://telemetry.iotconnect.io/api/v2/swagger-json
x-harvested: '2026-09-18'
x-original: openapi/_original/avnet-iotconnect-telemetry-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://telemetry.iotconnect.io
description: /IOTCONNECT production (Azure platform) — the host the docs page resolves for env=prod&pf=az; paths carry the
/api/v2 prefix
paths:
/api/v2/Telemetry/device/{deviceGuid}:
get:
tags:
- Telemetry
summary: Get device sensor list
description: <p>This API endpoint gives you the list of sensors/attributes associated with a device. For that, you need
to send <i>deviceGuid</i> in request url. In response, attributeValue shows the latest sensor value received from
a device.</p>
parameters:
- name: deviceGuid
in: path
description: Device Guid
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Indicates that the device sensor detail list received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/DeviceSensorDetailResponse'
'204':
description: Indicates that the request has been successfully processed and no records found.
content:
'*/*':
schema:
$ref: '#/components/schemas/NoContentResult'
'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\nThe device not found and 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/v2/Telemetry/stomp-reader:
get:
tags:
- Telemetry
summary: Get stomp reader information
description: <p>This API endpoint provides you the information of stomp reader or an UI alert. For that, you need to
send a stomp or UI alert in the query string parameter <i>type</i>.</p>
parameters:
- name: type
in: query
description: type should be 'stomp','ui-alert' or 'signalr', default value is 'stomp'
schema:
type: string
responses:
'200':
description: Indicates that the stomp reader information received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/StompReaderResponse'
'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/v2/Telemetry/mqtt-reader:
get:
tags:
- Telemetry
summary: Get mqtt reader information
description: <p>This API endpoint gives you the information of the MQTT reader.</p>
responses:
'200':
description: Indicates that the mqtt reader information received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/MqttReaderResponse'
'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/v2/Telemetry/attribute-history/attribute/{attributeGuid}/device/{uniqueId}/from/{fromDate}/to/{toDate}:
get:
tags:
- Telemetry
summary: Get telemetry historical data for single attribute
description: <p>This API endpoint lets you access the historical data for your device sensors. For that, you need to
send device unique id in <i>uniqueId</i> parameter and attribute/sensor name in <i>attributeGuid</i> parameter along
with the fromDate and toDate.</p>
parameters:
- name: attributeGuid
in: path
description: Enter Attribute Name
required: true
schema:
type: string
- name: uniqueId
in: path
description: Device Unique Id
required: true
schema:
type: string
- name: fromDate
in: path
description: From date should be UTC and format should be YYYY-MM-DD or YYYY-MM-DD HH:mm:ss
required: true
schema:
type: string
- name: toDate
in: path
description: To date should be UTC and format should be YYYY-MM-DD or YYYY-MM-DD HH:mm:ss
required: true
schema:
type: string
responses:
'200':
description: Indicates that the telemetry historical data received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/AttributeHistoryResponse'
'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/v2/Telemetry/attribute-history/device/{uniqueId}/from/{fromDate}/to/{toDate}:
get:
tags:
- Telemetry
summary: Get telemetry historical data for all attributes
description: <p>This API endpoint gives you the historical data for all device sensors. For that, you need to send device
unique id in <i>uniqueId</i> parameter along with fromDate and toDate.</p>
parameters:
- name: uniqueId
in: path
description: Device Unique Id
required: true
schema:
type: string
- name: fromDate
in: path
description: From date should be UTC and format should be YYYY-MM-DD or YYYY-MM-DD HH:mm:ss
required: true
schema:
type: string
- name: toDate
in: path
description: To date should be UTC and format should be YYYY-MM-DD or YYYY-MM-DD HH:mm:ss
required: true
schema:
type: string
responses:
'200':
description: Indicates that the telemetry historical data received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/AttributeDeviceHistoryResponse'
'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/v2/Telemetry/template:
post:
tags:
- Telemetry
summary: Get template data
description: "<p>This API endpoint provides you the list of devices associated with provided templates.</p>\r\n<p>Here,\
\ you can send multiple templates under the <i>template</i> parameter. It gives you the list of all template devices.\
\ If you send attribute guid in <i>attributes</i> parameter, it provides you data for those attributes only for all\
\ template devices. Otherwise, it gives you all the attributes.</p>"
responses:
'200':
description: Indicates that template data received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/DeviceDetailByTemplateResponse'
'204':
description: Indicates that the request has been successfully processed and no records found.
content:
'*/*':
schema:
$ref: '#/components/schemas/NoContentResult'
'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/json:
schema:
$ref: '#/components/schemas/DeviceDetailsByTemplateRequest'
description: Json object
/api/v2/Telemetry/{uniqueId}/mqtt-reader:
get:
tags:
- Telemetry
summary: Get mqtt reader information for device
description: <p>This API endpoint gives you the information of the MQTT reader.</p>
parameters:
- name: uniqueId
in: path
required: true
schema:
type: string
responses:
'200':
description: Indicates that device's mqtt reader information received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/MqttReaderResponse'
'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, device is not acquired and 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/v2/Telemetry/{uniqueId}/stomp-reader:
get:
tags:
- Telemetry
summary: Get stomp reader information for device
description: <p>This API endpoint provides you the information of stomp reader or an UI alert. For that, you need to
send a stomp or UI alert in the query string parameter <i>type</i>.</p>
parameters:
- name: uniqueId
in: path
description: device uniqueId
required: true
schema:
type: string
- name: type
in: query
description: type should be 'stomp','ui-alert' or 'signalr', default value is 'stomp'
schema:
type: string
responses:
'200':
description: Indicates that device's mqtt reader information received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/StompReaderResponse'
'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, device is not acquired and 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/v2/Telemetry/{gateway}/{uniqueid}/mqtt-reader:
get:
tags:
- Telemetry
summary: Get mqtt reader information for gateway child device
description: <p>This API endpoint provides you the information of stomp reader or an UI alert. For that, you need to
send a stomp or UI alert in the query string parameter <i>type</i>.</p>
parameters:
- name: gateway
in: path
description: Gateway uniqueid
required: true
schema:
type: string
- name: uniqueid
in: path
description: Child device uniqueid
required: true
schema:
type: string
responses:
'200':
description: Indicates that device's mqtt reader information received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/TelemetryGatewayMqttReaderResponse'
'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, device is not acquired and 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/v2/Telemetry/{gateway}/{uniqueid}/stomp-reader:
get:
tags:
- Telemetry
summary: Get stomp reader information for gateway child device
description: <p>This API endpoint provides you the information of stomp reader or an UI alert. For that, you need to
send a stomp or UI alert in the query string parameter <i>type</i>.</p>
parameters:
- name: gateway
in: path
description: Gateway uniqueId
required: true
schema:
type: string
- name: uniqueid
in: path
description: Childdevice uniqueId
required: true
schema:
type: string
- name: type
in: query
description: type should be 'stomp','ui-alert' or 'signalr', default value is 'stomp'
schema:
type: string
responses:
'200':
description: Indicates that child device stomp reader information received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/TelemetryGatewayStompReaderResponse'
'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, device is not acquired and 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/v2/Telemetry/device/{uniqueId}/recent/{dataPoints}:
post:
tags:
- Telemetry
summary: Get recent data of device's attributes
description: <p>This API endpoint gives you the recent N dataPoints data for a device. For that, you need to send device's
unique id in <i>uniqueId</i> parameter along with number of dataPoints in <i>dataPoints</i> parameter request body.</p>
parameters:
- name: uniqueId
in: path
description: Device Unique Id
required: true
schema:
type: string
- name: dataPoints
in: path
description: <i>dataPoints</i> should be numeric and should be in range of 10 to 500
required: true
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceAttrRecentRequest'
description: <i>request</i> Json request containing childs'id and filter attributes
responses:
'200':
description: Indicates that device attribute recent data received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/DeviceAttributeRecentDataResponse'
'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/v2/Telemetry/history:
post:
tags:
- Telemetry
summary: Get telemetry history for multiple devices
description: <p>This API endpoint gives you the telemetry history data for multiple devices. For that, you need to send
the device unique id list along with date range in the request body.</p>
responses:
'200':
description: Indicates that the devices telemetry history received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/TelemetryHistoryResponse'
'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/json:
schema:
$ref: '#/components/schemas/TelemetryHistoryRequest'
description: Json object
/api/v2/Telemetry/device/{uniqueId}/attribute-history:
post:
tags:
- Telemetry
summary: Get telemetry historical data for all attributes
description: <p>This API endpoint gives you the historical data for all device sensors. For that, you need to send device
unique id in <i>uniqueId</i> parameter and request body along with fromDate, toDate, pageSize and continuationToken
.</p>
parameters:
- name: uniqueId
in: path
description: Device Unique Id
required: true
schema:
type: string
requestBody:
$ref: '#/components/requestBodies/AttributeHistoryRequest'
responses:
'200':
description: Indicates that the device telemetry history received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/AttributeHistoryResponse'
'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/v2/Telemetry/device/{uniqueId}/attribute-history/{attributeGuid}:
post:
tags:
- Telemetry
summary: Get telemetry historical data for single attribute
description: <p>This API endpoint lets you access the historical data for your device sensors. For that, you need to
send device unique id in <i>uniqueId</i> parameter and attribute/sensor name in <i>attributeGuid</i> parameter and
request body along with fromDate, toDate, pageSize and continuationToken.</p>
parameters:
- name: uniqueId
in: path
description: Device Unique Id
required: true
schema:
type: string
- name: attributeGuid
in: path
description: Enter Attribute Name when device message version in template is 2.0 or later (Eg. flowrate, gps.latitude)
and enter AttributeGuid when device message version in template is 1.0
required: true
schema:
type: string
requestBody:
$ref: '#/components/requestBodies/AttributeHistoryRequest'
responses:
'200':
description: Indicates that the device telemetry history received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/AttributeHistoryResponse'
'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/v2/Telemetry/device/{uniqueId}/history:
post:
tags:
- Telemetry
summary: Get telemetry historical data for all attributes (Non native SDK)
description: <p>This API endpoint gives you the historical data for all device sensors. For that, you need to send device
unique id in <i>uniqueId</i> parameter and request body along with fromDate, toDate, pageSize and continuationToken
.</p>
parameters:
- name: uniqueId
in: path
description: Device Unique Id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/HistoryV2Request'
responses:
'200':
description: Indicates that the device telemetry history received successfully.
content:
'*/*':
schema:
$ref: '#/components/schemas/AttributeHistoryResponse'
'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'
security:
- Bearer: []
tags:
# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/avnet/refs/heads/main/openapi/avnet-iotconnect-telemetry-openapi.yml