Devices¶
devices
¶
DeviceId
¶
Bases: str
Unique ID of a device.
DeviceFingerprint
¶
Bases: str
Device fingerprint.
DeviceFingerprintId
¶
Bases: str
Device fingerprint ID.
DeviceCertificateId
¶
Bases: str
Unique ID of a device certificate.
DeviceConnectionId
¶
Bases: str
Unique ID of a device connection.
CertificateFingerprint
¶
Bases: str
Fingerprint of a device certificate.
DeviceEventId
¶
Bases: str
ID of a device event (unique per device).
QueryDevicesAction
¶
Bases: BaseModel
Query the devices of the instance.
QueryDevicesOutput
¶
Bases: BaseModel
Output of querying the devices of the instance.
QueryDevicesItem
¶
Bases: BaseModel
Device item.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
project_id
class-attribute
instance-attribute
¶
project_id = Field(
description="Project ID of the device.",
validation_alias="projectId",
serialization_alias="projectId",
)
is_connected
class-attribute
instance-attribute
¶
is_connected = Field(
description="Indicates whether the device is currently connected.",
validation_alias="isConnected",
serialization_alias="isConnected",
)
last_connected_at
class-attribute
instance-attribute
¶
last_connected_at = Field(
default=None,
description="Timestamp when the device was last connected (current or most recent connection).",
validation_alias="lastConnectedAt",
serialization_alias="lastConnectedAt",
)
current_connection_duration_secs
class-attribute
instance-attribute
¶
current_connection_duration_secs = Field(
default=None,
description="Duration of the current connection in seconds (null if not connected).",
validation_alias="currentConnectionDurationSecs",
serialization_alias="currentConnectionDurationSecs",
)
GetDeviceDetailsAction
¶
Bases: BaseModel
Get information about a device.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
GetDeviceDetailsOutput
¶
Bases: BaseModel
Output of getting information about a device.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
project_id
class-attribute
instance-attribute
¶
project_id = Field(
description="Project ID of the device.",
validation_alias="projectId",
serialization_alias="projectId",
)
fingerprint_id
class-attribute
instance-attribute
¶
fingerprint_id = Field(
description="Fingerprint ID the device.",
validation_alias="fingerprintId",
serialization_alias="fingerprintId",
)
name
class-attribute
instance-attribute
¶
is_connected
class-attribute
instance-attribute
¶
is_connected = Field(
description="Indicates whether the device is online.",
validation_alias="isConnected",
serialization_alias="isConnected",
)
certificates
class-attribute
instance-attribute
¶
connections
class-attribute
instance-attribute
¶
DeviceCertificate
¶
Bases: BaseModel
Device certificate.
certificate_id
class-attribute
instance-attribute
¶
certificate_id = Field(
description="ID of the certificate.",
validation_alias="certificateId",
serialization_alias="certificateId",
)
status
class-attribute
instance-attribute
¶
fingerprint
class-attribute
instance-attribute
¶
first_seen
class-attribute
instance-attribute
¶
first_seen = Field(
description="Timestamp when the certificate was first seen.",
validation_alias="firstSeen",
serialization_alias="firstSeen",
)
DeviceConnection
¶
Bases: BaseModel
Device connection.
connection_id
class-attribute
instance-attribute
¶
connection_id = Field(
description="ID of the connection.",
validation_alias="connectionId",
serialization_alias="connectionId",
)
node_id
class-attribute
instance-attribute
¶
node_id = Field(
description="ID of the cluster node.",
validation_alias="nodeId",
serialization_alias="nodeId",
)
connected_at
class-attribute
instance-attribute
¶
connected_at = Field(
description="Timestamp when the connection was established.",
validation_alias="connectedAt",
serialization_alias="connectedAt",
)
connected_for_secs
class-attribute
instance-attribute
¶
connected_for_secs = Field(
description="Duration of the connection in seconds.",
validation_alias="connectedForSecs",
serialization_alias="connectedForSecs",
)
DeviceConnectionLog
¶
Bases: BaseModel
Device connection log entry (for connection history).
connection_id
class-attribute
instance-attribute
¶
connection_id = Field(
description="ID of the connection.",
validation_alias="connectionId",
serialization_alias="connectionId",
)
node_id
class-attribute
instance-attribute
¶
node_id = Field(
description="ID of the cluster node.",
validation_alias="nodeId",
serialization_alias="nodeId",
)
connected_at
class-attribute
instance-attribute
¶
connected_at = Field(
description="Timestamp when the connection was established.",
validation_alias="connectedAt",
serialization_alias="connectedAt",
)
ended_at
class-attribute
instance-attribute
¶
ended_at = Field(
default=None,
description="Timestamp when the connection ended (null if still connected).",
validation_alias="endedAt",
serialization_alias="endedAt",
)
end_reason
class-attribute
instance-attribute
¶
end_reason = Field(
default=None,
description="Reason why the connection ended (null if still connected).",
validation_alias="endReason",
serialization_alias="endReason",
)
duration_secs
class-attribute
instance-attribute
¶
duration_secs = Field(
description="Duration of the connection in seconds.",
validation_alias="durationSecs",
serialization_alias="durationSecs",
)
CreateDeviceAction
¶
Bases: BaseModel
Create a new device.
CreateDeviceOutput
¶
Bases: BaseModel
Output of creating a new device.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
DeleteDeviceAction
¶
Bases: BaseModel
Delete a device.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
SetDeviceNameAction
¶
Bases: BaseModel
Set the name of a device.
IssueDeviceTokenAction
¶
Bases: BaseModel
Issue a JWT for a device with user-defined claims.
Note: Only use this action for integration with external systems.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
valid_for_secs
class-attribute
instance-attribute
¶
valid_for_secs = Field(
default=None,
description="Token validity duration in seconds.",
validation_alias="validForSecs",
serialization_alias="validForSecs",
)
claims
class-attribute
instance-attribute
¶
IssueDeviceTokenOutput
¶
Bases: BaseModel
Output of issuing a JWT for a device.
ValidateDeviceTokenAction
¶
Bases: BaseModel
Validate a device JWT.
Note: Only use this action for integration with external systems.
ValidateDeviceTokenSuccess
¶
Bases: BaseModel
Successful validation of a device JWT.
AuthenticateDeviceAction
¶
AuthenticateDeviceOutput
¶
Bases: BaseModel
Output of authenticating a device.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
token_id
class-attribute
instance-attribute
¶
token_id = Field(
description="ID of the deployment token.",
validation_alias="tokenId",
serialization_alias="tokenId",
)
fingerprint_id
class-attribute
instance-attribute
¶
fingerprint_id = Field(
description="ID of the fingerprint.",
validation_alias="fingerprintId",
serialization_alias="fingerprintId",
)
certificate_id
class-attribute
instance-attribute
¶
certificate_id = Field(
description="ID of the certificate.",
validation_alias="certificateId",
serialization_alias="certificateId",
)
actor
class-attribute
instance-attribute
¶
AddDeviceCertificateAction
¶
Bases: BaseModel
Add a device certificate.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
fingerprint
class-attribute
instance-attribute
¶
status
class-attribute
instance-attribute
¶
status = Field(
default=None,
description="Initial status of the certificate.\n\nDefaults to `Pending`.",
)
AddDeviceCertificateOutput
¶
Bases: BaseModel
Output of adding a device certificate.
certificate_id
class-attribute
instance-attribute
¶
certificate_id = Field(
description="ID of the certificate.",
validation_alias="certificateId",
serialization_alias="certificateId",
)
DeleteDeviceCertificateAction
¶
Bases: BaseModel
Delete a device certificate.
certificate_id
class-attribute
instance-attribute
¶
certificate_id = Field(
description="ID of the certificate.",
validation_alias="certificateId",
serialization_alias="certificateId",
)
SetDeviceCertificateStatusAction
¶
Bases: BaseModel
Set the status of a device certificate.
RegisterDeviceConnectionAction
¶
Bases: BaseModel
Register a connection of a device to a cluster node.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
node_id
class-attribute
instance-attribute
¶
node_id = Field(
description="ID of the cluster node.",
validation_alias="nodeId",
serialization_alias="nodeId",
)
connection_id
class-attribute
instance-attribute
¶
connection_id = Field(
description="Pre-generated ID of the connection.",
validation_alias="connectionId",
serialization_alias="connectionId",
)
RegisterDeviceConnectionOutput
¶
Bases: BaseModel
Output of registering a connection of a device to a cluster node.
connection_id
class-attribute
instance-attribute
¶
connection_id = Field(
description="ID of the connection.",
validation_alias="connectionId",
serialization_alias="connectionId",
)
UnregisterDeviceConnectionAction
¶
Bases: BaseModel
Unregister a connection of a device to a cluster node.
connection_id
class-attribute
instance-attribute
¶
connection_id = Field(
description="ID of the connection.",
validation_alias="connectionId",
serialization_alias="connectionId",
)
end_reason
class-attribute
instance-attribute
¶
end_reason = Field(
description="Reason for ending the connection.",
validation_alias="endReason",
serialization_alias="endReason",
)
QueryDeviceConnectionsAction
¶
Bases: BaseModel
Query the connection history of a device.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
limit
class-attribute
instance-attribute
¶
active_only
class-attribute
instance-attribute
¶
active_only = Field(
default=None,
description="Include only active connections.",
validation_alias="activeOnly",
serialization_alias="activeOnly",
)
QueryDeviceConnectionsOutput
¶
Bases: BaseModel
Output of querying device connections.
connections
class-attribute
instance-attribute
¶
IssueDeviceHttpProxyTokenAction
¶
Bases: BaseModel
Issue a HTTP proxy JWT.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
valid_for_secs
class-attribute
instance-attribute
¶
valid_for_secs = Field(
default=None,
description="Token validity duration in seconds.",
validation_alias="validForSecs",
serialization_alias="validForSecs",
)
hostname
class-attribute
instance-attribute
¶
hostname = Field(
default=None,
description="Hostname to accept requests for.\n\nDefaults to a device-specific pseudo-random subdomain of the instance domain.",
)
port
class-attribute
instance-attribute
¶
redirect
class-attribute
instance-attribute
¶
redirect = Field(
default=None,
description="Redirect URL in case the token is expired or invalid.",
)
IssueDeviceHttpProxyTokenOutput
¶
ValidateDeviceHttpProxyTokenAction
¶
Bases: BaseModel
Validate a HTTP proxy JWT.
ValidateDeviceHttpProxyTokenInvalid
¶
Bases: BaseModel
Validation of a HTTP proxy JWT failed.
redirect
class-attribute
instance-attribute
¶
ValidateDeviceHttpProxyTokenSuccess
¶
Bases: BaseModel
Successful validation of a HTTP proxy JWT.
PublishDeviceEventsAction
¶
QueryDeviceEventsAction
¶
Bases: BaseModel
Query device events.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
limit
class-attribute
instance-attribute
¶
limit = Field(
default=None,
description="Limit the number of events to return.\n\nDefault to `100`.",
)
QueryDeviceEventsOutput
¶
Bases: BaseModel
Output of querying device events.
DeviceEvent
¶
Bases: BaseModel
Event emitted by a device.
event_id
class-attribute
instance-attribute
¶
event_id = Field(
description="ID of the event.",
validation_alias="eventId",
serialization_alias="eventId",
)
category
class-attribute
instance-attribute
¶
category = Field(
default=None,
description="Event category (optional, low-cardinality category of the event).",
)
severity
class-attribute
instance-attribute
¶
emitted_at
class-attribute
instance-attribute
¶
emitted_at = Field(
description="Timestamp when the event was emitted.",
validation_alias="emittedAt",
serialization_alias="emittedAt",
)
received_at
class-attribute
instance-attribute
¶
received_at = Field(
default=None,
description="Timestamp when the event was received.",
validation_alias="receivedAt",
serialization_alias="receivedAt",
)
SetDevicePropertyAction
¶
Bases: BaseModel
Set a property of a device.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
protected
class-attribute
instance-attribute
¶
protected = Field(
default=None,
description="Indicates whether the property should be protected.",
)
expected_version
class-attribute
instance-attribute
¶
expected_version = Field(
default=None,
description="If set, the property is only updated when its current version matches\nthis value (compare-and-swap). Returns `VersionConflict` when the\nversion does not match, or `Deleted` when the property no longer exists.",
validation_alias="expectedVersion",
serialization_alias="expectedVersion",
)
SetDevicePropertyVersionConflict
¶
Bases: BaseModel
Details of a version conflict when setting a device property.
current_version
class-attribute
instance-attribute
¶
current_version = Field(
description="The current version of the property.",
validation_alias="currentVersion",
serialization_alias="currentVersion",
)
GetDevicePropertyAction
¶
RemoveDevicePropertyAction
¶
Bases: BaseModel
Remove a property from a device.
QueryDevicePropertiesAction
¶
Bases: BaseModel
Query the properties of a device.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
QueryDevicePropertiesOutput
¶
Bases: BaseModel
Output of querying the properties of a device.
properties
class-attribute
instance-attribute
¶
DeviceProperty
¶
Bases: BaseModel
Device property.
QueryDeviceAuditLogAction
¶
Bases: BaseModel
Query the audit log of a device.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
QueryDeviceAuditLogOutput
¶
Bases: BaseModel
Output of querying the audit log of a device.
QueryDeviceCommandsAction
¶
Bases: BaseModel
Query the on-demand commands supported by a device.
device_id
class-attribute
instance-attribute
¶
device_id = Field(
description="ID of the device.",
validation_alias="deviceId",
serialization_alias="deviceId",
)
QueryDeviceCommandsOutput
¶
Bases: BaseModel
Output of querying device commands.
DeviceCommandInvokeData
¶
Bases: BaseModel
Command invocation parameters.
stream_log
class-attribute
instance-attribute
¶
stream_log = Field(
default=None,
description="Stream log output back to the hub during execution (defaults to false).",
validation_alias="streamLog",
serialization_alias="streamLog",
)
timeout_secs
class-attribute
instance-attribute
¶
timeout_secs = Field(
default=None,
description="Timeout in seconds.",
validation_alias="timeoutSecs",
serialization_alias="timeoutSecs",
)
DeviceCommandDoneData
¶
Bases: BaseModel
Command completion.
output
class-attribute
instance-attribute
¶
error
class-attribute
instance-attribute
¶
log_tail
class-attribute
instance-attribute
¶
log_tail = Field(
description="Last lines of the command's diagnostic log output.",
validation_alias="logTail",
serialization_alias="logTail",
)
duration_ms
class-attribute
instance-attribute
¶
duration_ms = Field(
description="Execution duration in milliseconds.",
validation_alias="durationMs",
serialization_alias="durationMs",
)
DeviceStatus_Healthy
¶
Bases: RootModel[Literal['healthy']]
DeviceStatus_Warning
¶
Bases: RootModel[Literal['warning']]
DeviceStatus_Error
¶
Bases: RootModel[Literal['error']]
DeviceStatus_Offline
¶
Bases: RootModel[Literal['offline']]
DeviceStatus
¶
DeviceStatus = (
DeviceStatus_Healthy
| DeviceStatus_Warning
| DeviceStatus_Error
| DeviceStatus_Offline
)
DeviceCertificateStatus_Pending
¶
Bases: RootModel[Literal['Pending']]
DeviceCertificateStatus_Active
¶
Bases: RootModel[Literal['Active']]
DeviceCertificateStatus_Rejected
¶
Bases: RootModel[Literal['Rejected']]
DeviceCertificateStatus_Revoked
¶
Bases: RootModel[Literal['Revoked']]
DeviceCertificateStatus_Conflict
¶
Bases: RootModel[Literal['Conflict']]
DeviceCertificateStatus
¶
DeviceCertificateStatus = (
DeviceCertificateStatus_Pending
| DeviceCertificateStatus_Active
| DeviceCertificateStatus_Rejected
| DeviceCertificateStatus_Revoked
| DeviceCertificateStatus_Conflict
)
ConnectionEndReason_Unknown
¶
Bases: RootModel[Literal['Unknown']]
ConnectionEndReason_Disconnected
¶
Bases: RootModel[Literal['Disconnected']]
ConnectionEndReason_NodeCrashed
¶
Bases: RootModel[Literal['NodeCrashed']]
ConnectionEndReason_ServerShutdown
¶
Bases: RootModel[Literal['ServerShutdown']]
ConnectionEndReason
¶
ConnectionEndReason = (
ConnectionEndReason_Unknown
| ConnectionEndReason_Disconnected
| ConnectionEndReason_NodeCrashed
| ConnectionEndReason_ServerShutdown
)
ValidateDeviceTokenOutput_Invalid
¶
Bases: BaseModel
ValidateDeviceTokenOutput_Valid
¶
Bases: ValidateDeviceTokenSuccess
ValidateDeviceTokenOutput
¶
ValidateDeviceTokenOutput = Annotated[
ValidateDeviceTokenOutput_Invalid
| ValidateDeviceTokenOutput_Valid,
Discriminator("result"),
]
ValidateDeviceHttpProxyTokenOutput_Invalid
¶
ValidateDeviceHttpProxyTokenOutput_Valid
¶
ValidateDeviceHttpProxyTokenOutput
¶
ValidateDeviceHttpProxyTokenOutput = Annotated[
ValidateDeviceHttpProxyTokenOutput_Invalid
| ValidateDeviceHttpProxyTokenOutput_Valid,
Discriminator("result"),
]
DeviceEventSeverity_Trace
¶
Bases: RootModel[Literal['Trace']]
DeviceEventSeverity_Debug
¶
Bases: RootModel[Literal['Debug']]
DeviceEventSeverity_Info
¶
Bases: RootModel[Literal['Info']]
DeviceEventSeverity_Warning
¶
Bases: RootModel[Literal['Warning']]
DeviceEventSeverity_Error
¶
Bases: RootModel[Literal['Error']]
DeviceEventSeverity_Critical
¶
Bases: RootModel[Literal['Critical']]
DeviceEventSeverity
¶
DeviceEventSeverity = (
DeviceEventSeverity_Trace
| DeviceEventSeverity_Debug
| DeviceEventSeverity_Info
| DeviceEventSeverity_Warning
| DeviceEventSeverity_Error
| DeviceEventSeverity_Critical
)
SetDevicePropertyOutput_Set
¶
Bases: BaseModel
SetDevicePropertyOutput_VersionConflict
¶
SetDevicePropertyOutput_Deleted
¶
Bases: BaseModel
SetDevicePropertyOutput
¶
SetDevicePropertyOutput = Annotated[
SetDevicePropertyOutput_Set
| SetDevicePropertyOutput_VersionConflict
| SetDevicePropertyOutput_Deleted,
Discriminator("result"),
]
GetDevicePropertyOutput_NotFound
¶
Bases: BaseModel
GetDevicePropertyOutput_Found
¶
Bases: DeviceProperty
GetDevicePropertyOutput
¶
GetDevicePropertyOutput = Annotated[
GetDevicePropertyOutput_NotFound
| GetDevicePropertyOutput_Found,
Discriminator("result"),
]
RemoveDevicePropertyOutput_NotFound
¶
Bases: BaseModel
RemoveDevicePropertyOutput_Removed
¶
Bases: BaseModel
RemoveDevicePropertyOutput
¶
RemoveDevicePropertyOutput = Annotated[
RemoveDevicePropertyOutput_NotFound
| RemoveDevicePropertyOutput_Removed,
Discriminator("result"),
]
DeviceCommandStatus_Ok
¶
Bases: RootModel[Literal['Ok']]
DeviceCommandStatus_Error
¶
Bases: RootModel[Literal['Error']]
DeviceCommandHubFrame_Invoke
¶
Bases: DeviceCommandInvokeData
DeviceCommandDeviceFrame_Log
¶
Bases: DeviceCommandLogData
DeviceCommandDeviceFrame_Done
¶
Bases: DeviceCommandDoneData
DeviceCommandDeviceFrame
¶
DeviceCommandDeviceFrame = Annotated[
DeviceCommandDeviceFrame_Log
| DeviceCommandDeviceFrame_Done,
Discriminator("type"),
]