IotHub TALQ
  1. Device Class
IotHub TALQ
  • API
    • Guia
      • Vendor
        • Create a Guia Vendor
        • List Guia Vendors
        • Modify a Guia Vendor
        • Modify a Guia Photo Vendor
      • Devices
        • List Guia Devices
        • Get a Guia Device
        • Get a Guia Device Attribute History
        • List Guia Gateways
        • Modify devices
        • Modify device
        • Modify device function
        • Modify device - Set External Id
        • Modify device function attribute
        • Modify a Guia Change Asset Device
        • Create a Guia Device From Identified Material
        • Create a Guia Device Multiple From Identified Material
      • Device classes
        • List Guia Device Classes
        • Get a Guia Device Class
        • List Guia Device Class Functions
      • Functions
        • List Guia Functions
        • List Guia Function Attributes
        • List Guia Function Types
      • Attributes
        • List Guia Attributes get
        • List Guia Function Attributes
      • Groups
        • Create a Guia Group
        • List Guia Groups
        • Get a Guia Group
        • Get Count
        • Get a Guia Group Member Count
        • Update Groups
        • Update a Guia Group
        • Update a Guia Group Member
        • Delete a Guia Group
        • Delete a Guia Group Member
    • TALQ
      • Device Class
        • Create a Talq Device Class
          POST
        • Update Talq Device Class
          PUT
        • Delete a Talq Device Class
          DELETE
        • Update a Talq Device Class
          PUT
      • Device
        • Create a Talq Device
        • List Talq Devices
        • Modify a Talq Device
        • Update Talq Devices
        • Delete a Talq Device
        • Get a Talq Device
        • Modify a Talq Device patch
        • Update a Talq Device
        • Get a Talq Device Function
        • Get a Talq Device Attribute
      • Services
        • Create a Talq Service
      • Group
        • List Talq Groups
        • Get a Talq Group
    • Google Pub
      • Sub
        • List Pubsub Failed Messages
        • Get a Pubsub Failed Message
        • Delete a Pubsub Failed Message
        • Create a Pubsub Guia Device Multiple Devices Partial Update
        • Create a Pubsub Guia Device Partial Device Update
        • Create a Pubsub Guia Device Attribute Value Update
        • Create a Pubsub Guia Device Function Update
        • Create a Pubsub Guia Device Set External Id
        • Create a Pubsub Vendor Dispatcher Dispatch
    • Clients
      • Create a Client
      • Modify a Client Synchronize
    • Vendors
      • Create a Vendor
      • List Vendors
      • Create a Vendor Client Service Cod
      • Get a Vendor Client Service Cod
      • Delete a Vendor Client Service Cod
    • Health Check
      • List Health
  • Docs TALQ
    • Visão Geral do Projeto
    • Processo de Inicialização - Bootstrap Process
    • API TALQ
    • API GUIA
    • Tratamento de Erros
    • Configurações da instância
    • Sobreposição de comandos
  1. Device Class

Update a Talq Device Class

PUT
/talq/device-classes/{className}
Update a device class supported by the gateway. Although this is a PUT operation, a device class cannot have its scope reduced, so this operation updates or adds functions/attributes

Request

Path Params

Query Params

Body Params application/json

Example
{
    "name": "cls:AllAttributes",
    "functions": [
        {
            "functionId": "fBasicFunction",
            "type": "BasicFunction",
            "vendorAttributes": [
                {
                    "scope": "configuration",
                    "type": "AttributeBinary",
                    "name": "Binary"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeBoolean",
                    "name": "Boolean"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeBooleanState",
                    "name": "BooleanState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeCabinetActuatingType",
                    "name": "CabinetActuatingType"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeCabinetSegmentsConfiguration",
                    "name": "CabinetSegmentsConfiguration"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeCCTColorState",
                    "name": "CCTColorState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeCommand",
                    "name": "Command"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeContentsType",
                    "name": "ContentsType"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeDateTime",
                    "name": "DateTime"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeFactorSense",
                    "name": "FactorSense"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeFloat",
                    "name": "Float"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeFloatKVPArray",
                    "name": "FloatKVPArray"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeFloatState",
                    "name": "FloatState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeGasName",
                    "name": "GasName"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeInteger",
                    "name": "Integer"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeIntegerState",
                    "name": "IntegerState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLevelAndCCTColorState",
                    "name": "LevelAndCCTColorState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLevelAndRGBWAFColorState",
                    "name": "LevelAndRGBWAFColorState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLevelAndXYColorState",
                    "name": "LevelAndXYColorState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLevelState",
                    "name": "LevelState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLocalOverride",
                    "name": "LocalOverride"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLocation",
                    "name": "Location"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLuminaireConnectionType",
                    "name": "LuminaireConnectionType"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeMountingOption",
                    "name": "MountingOption"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeOrientation",
                    "name": "Orientation"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeParkingSlotDataArray",
                    "name": "ParkingSlotDataArray"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeParkingSlotOccupancyStatus",
                    "name": "ParkingSlotOccupancyStatus"
                },
                {
                    "scope": "configuration",
                    "type": "AttributePercent",
                    "name": "Percent"
                },
                {
                    "scope": "configuration",
                    "type": "AttributePositionedTextState",
                    "name": "PositionedTextState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributePowerSource",
                    "name": "PowerSource"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeRGBState",
                    "name": "RGBState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeRGBWAFColorState",
                    "name": "RGBWAFColorState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeRoadUser",
                    "name": "RoadUser"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeString",
                    "name": "String"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeStringArray",
                    "name": "StringArray"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeSupplyType",
                    "name": "SupplyType"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeTextState",
                    "name": "TextState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeTrafficDirection",
                    "name": "TrafficDirection"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeUri",
                    "name": "Uri"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeVelocity",
                    "name": "Velocity"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeWindDirection",
                    "name": "WindDirection"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeXYColorState",
                    "name": "XYColorState"
                }
            ]
        }
    ]
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location -g --request PUT 'https://iot.exati.com.br/talq/device-classes/cls:AllAttributes?clientAddress={{gateway-uuid}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "cls:AllAttributes",
    "functions": [
        {
            "functionId": "fBasicFunction",
            "type": "BasicFunction",
            "vendorAttributes": [
                {
                    "scope": "configuration",
                    "type": "AttributeBinary",
                    "name": "Binary"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeBoolean",
                    "name": "Boolean"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeBooleanState",
                    "name": "BooleanState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeCabinetActuatingType",
                    "name": "CabinetActuatingType"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeCabinetSegmentsConfiguration",
                    "name": "CabinetSegmentsConfiguration"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeCCTColorState",
                    "name": "CCTColorState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeCommand",
                    "name": "Command"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeContentsType",
                    "name": "ContentsType"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeDateTime",
                    "name": "DateTime"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeFactorSense",
                    "name": "FactorSense"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeFloat",
                    "name": "Float"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeFloatKVPArray",
                    "name": "FloatKVPArray"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeFloatState",
                    "name": "FloatState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeGasName",
                    "name": "GasName"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeInteger",
                    "name": "Integer"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeIntegerState",
                    "name": "IntegerState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLevelAndCCTColorState",
                    "name": "LevelAndCCTColorState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLevelAndRGBWAFColorState",
                    "name": "LevelAndRGBWAFColorState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLevelAndXYColorState",
                    "name": "LevelAndXYColorState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLevelState",
                    "name": "LevelState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLocalOverride",
                    "name": "LocalOverride"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLocation",
                    "name": "Location"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeLuminaireConnectionType",
                    "name": "LuminaireConnectionType"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeMountingOption",
                    "name": "MountingOption"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeOrientation",
                    "name": "Orientation"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeParkingSlotDataArray",
                    "name": "ParkingSlotDataArray"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeParkingSlotOccupancyStatus",
                    "name": "ParkingSlotOccupancyStatus"
                },
                {
                    "scope": "configuration",
                    "type": "AttributePercent",
                    "name": "Percent"
                },
                {
                    "scope": "configuration",
                    "type": "AttributePositionedTextState",
                    "name": "PositionedTextState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributePowerSource",
                    "name": "PowerSource"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeRGBState",
                    "name": "RGBState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeRGBWAFColorState",
                    "name": "RGBWAFColorState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeRoadUser",
                    "name": "RoadUser"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeString",
                    "name": "String"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeStringArray",
                    "name": "StringArray"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeSupplyType",
                    "name": "SupplyType"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeTextState",
                    "name": "TextState"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeTrafficDirection",
                    "name": "TrafficDirection"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeUri",
                    "name": "Uri"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeVelocity",
                    "name": "Velocity"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeWindDirection",
                    "name": "WindDirection"
                },
                {
                    "scope": "configuration",
                    "type": "AttributeXYColorState",
                    "name": "XYColorState"
                }
            ]
        }
    ]
}'

Responses

🟢200OK
application/json
The device class that has been updated
Body

Example
[
    {
        "name": "string",
        "functions": [
            {
                "functionId": "BasicFunction02",
                "type": "BasicFunction",
                "vendorAttributes": [
                    {
                        "name": "string",
                        "description": "string",
                        "minValue": 0,
                        "maxValue": 0,
                        "regex": "string",
                        "readOnly": true,
                        "enumValues": [
                            "string"
                        ],
                        "unit": "string",
                        "vendorUuid": "string",
                        "scope": "measurement",
                        "type": "AttributeBinary",
                        "commands": {},
                        "types": {}
                    }
                ],
                "attributes": [
                    {
                        "name": "string",
                        "description": "string",
                        "minValue": 0,
                        "maxValue": 0,
                        "regEx": "string",
                        "readOnly": true,
                        "enumValues": [
                            "string"
                        ],
                        "unit": "string",
                        "commands": {
                            "scope": "default",
                            "attributes": "reason",
                            "states": {},
                            "levels": {}
                        },
                        "types": {
                            "address": "string",
                            "name": "LuminaireType",
                            "properties": [
                                {
                                    "name": "string",
                                    "description": "string",
                                    "minValue": 0,
                                    "maxValue": 0,
                                    "regEx": "string",
                                    "readOnly": true,
                                    "enumValues": [
                                        "string"
                                    ],
                                    "unit": "string"
                                }
                            ]
                        }
                    }
                ],
                "events": [
                    {
                        "name": "string",
                        "description": "string",
                        "uuid": "string",
                        "functionUuid": "string",
                        "type": "string"
                    }
                ]
            }
        ]
    }
]
🟠400Bad Request
🟠403Forbidden
🟠404Record Not Found
🟠409409
🟠422Parameter Error
Modified at 2025-07-30 17:07:38
Previous
Delete a Talq Device Class
Next
Create a Talq Device