Camera Methods
dispatchAuthenticationPrompt
Parameter
Type Definitions
DispatchAuthenticationPromptParams
| Property | Type | Required | Description |
|---|---|---|---|
args | DispatchAuthenticationPromptArgs | ✓ | |
includeFields | IncludeFieldsEnum[] |
DispatchAuthenticationPromptArgs
| Property | Type | Required | Description |
|---|---|---|---|
authenticationId | string | ✓ |
IncludeFieldsEnum
enum
One of: id, label, valid, documentationURL, fields.
Result
Type Definitions
DispatchAuthenticationPromptResult
Represents a standalone authentication method or “form”. This object serves as a mechanism to logically group fields required for authentication. For example: a device may require an access token to communicate over the LAN. The integration may also support communicating via a cloud api, requiring a clientId and clientSecret. In this case, the integration would return two Authentication objects, one for the LAN method and one for the cloud method, each with their respective fields and types.
| Property | Type | Required | Description |
|---|---|---|---|
documentationURL | string (uri) | null | A url to documentation describing how to set/configure this authentication method. This is intended to be displayed to the user as guidance for how to obtain the necessary credentials or complete the necessary steps to successfully authenticate. | |
fields | AuthenticationField[] | null | A list of authentication fields required for this authentication method. Each field has a type that indicates how the value should be obtained or set. | |
id | string | The unique identifier for this authentication method. This is used when setting authentication values. | |
label | string | A short description of the authentication method. For example: “Local Network Authentication”, “Cloud Authentication”, etc… This will be displayed to the user. | |
valid | boolean | Reports the state of this authentication method. If false, one or more of the fields are missing or invalid. There is no way to report the validity of an individual field within the authentication method itself. |
AuthenticationField
Represents a single field within an authentication method.
| Property | Type | Required | Description |
|---|---|---|---|
credentialType | AuthenticationFieldCredentialType | ||
key | string | The unique identifier for this authentication field. | |
label | string | A short, user-facing label describing this field. For example: “Password”, “Access Token”, etc… | |
type | TypeEnum | The type of this authentication field, indicating how the value should be obtained or set. Pay close attention any specific requirements or constraints for the type being used. - “STRING”: An authentication field of type string. For example: a password, pin, preshared-key, access token, etc… - “PROMPT”: Prompt triggers an out-of-band authentication flow. For example: displaying a prompt on the device requesting permissions, or having a user scan a QR code. There is a 30 second timeout for a prompt to resolve. If an authentication method’s fields list contains a field of type PROMPT, it must be the only field present in the list. | |
value | string | null | The current value of this authentication field. This typically only applies for the STRING types, but may be populated for other authentication types as well. |
AuthenticationFieldCredentialType
| Property | Type | Required | Description |
|---|---|---|---|
type | TypeEnum | - “OTHER”: - “USERNAME”: - “CLIENTID”: - “CLIENTSECRET”: - “PASSWORD”: - “ACCESSTOKEN”: - “APIKEY”: |
TypeEnum
-
“OTHER”:
-
“USERNAME”:
-
“CLIENTID”:
-
“CLIENTSECRET”:
-
“PASSWORD”:
-
“ACCESSTOKEN”:
-
“APIKEY”:
enum
One of: OTHER, USERNAME, CLIENTID, CLIENTSECRET, PASSWORD, ACCESSTOKEN, APIKEY.
dispatchFirmwareUpdate
Parameter
Type Definitions
DispatchFirmwareUpdateParams
| Property | Type | Required | Description |
|---|---|---|---|
args | DispatchFirmwareUpdateArgs | ✓ | |
includeFields | IncludeFieldsEnum[] |
DispatchFirmwareUpdateArgs
| Property | Type | Required | Description |
|---|---|---|---|
versionId | string | ✓ |
IncludeFieldsEnum
enum
One of: version, status.
Result
Type Definitions
DispatchFirmwareUpdateResult
| Property | Type | Required | Description |
|---|---|---|---|
status | FirmwareStatus | ||
version | FirmwareVersion | null |
FirmwareStatus
| Property | Type | Required | Description |
|---|---|---|---|
updateStatus | UpdateStatusEnum | The current status of any ongoing firmware update operation. - “UNSUPPORTED”: Indicates that the integration does not support monitoring firmware update status, or that it cannot determine the current status of a firmware update operation. This DOES NOT indicate that the integration does not support firmware updates at all. See the updateCandidates field on the firmware type for that information.- “READY”: Communicates that the device is ready to begin a firmware update, and supports monitoring the status of the update once it has begun. This does not indicate that a firmware update is available. See the updateCandidates field on the firmware type for that information.- “COMPLETE”: Indicates that the firmware update has completed successfully. - “INPROGRESS”: Indicates that a firmware update is currently in progress. - “FAILED”: Indicates that the firmware update has failed. |
UpdateStatusEnum
The current status of any ongoing firmware update operation.
-
“UNSUPPORTED”: Indicates that the integration does not support monitoring firmware update status, or that it cannot determine the current status of a firmware update operation. This DOES NOT indicate that the integration does not support firmware updates at all. See the
updateCandidatesfield on the firmware type for that information. -
“READY”: Communicates that the device is ready to begin a firmware update, and supports monitoring the status of the update once it has begun. This does not indicate that a firmware update is available. See the
updateCandidatesfield on the firmware type for that information. -
“COMPLETE”: Indicates that the firmware update has completed successfully.
-
“INPROGRESS”: Indicates that a firmware update is currently in progress.
-
“FAILED”: Indicates that the firmware update has failed.
enum
One of: UNSUPPORTED, READY, COMPLETE, INPROGRESS, FAILED.
FirmwareVersion
| Property | Type | Required | Description |
|---|---|---|---|
current | FirmwareVersionDetails | null | The current firmware version details for the device. | |
updateCandidates | FirmwareVersionDetails[] | null | A list of firmware versions available for update. A non-empty list indicates that a firmware update is available and that this integration supports dispatching firmware updates. A null value indicates that the integration does not support firmware updates, or that it cannot determine if there are any updates available. An empty list indicates that there are no firmware updates currently available for this device, but that the integration does support firmware updates. |
FirmwareVersionDetails
An object describing an available firmware version for the device.
| Property | Type | Required | Description |
|---|---|---|---|
documentationUrl | string | null | A url pointing to documentation for this firmware version. This is used for display purposes in the UI when listing available firmware versions, and can be used by the user to learn more about this firmware version before deciding to update. | |
friendlyName | string | A user-friendly name for this firmware version. This is used for display purposes in the UI when listing available firmware versions. | |
id | string | A unique identifier for this firmware version. This is used when dispatching a firmware update to specify which version to update to. | |
releaseDate | string (date-time) | null | The date this firmware version was released. | |
releaseNotes | string | null | A description of the changes included in this firmware version. This is used for display purposes in the UI when listing available firmware versions. | |
size | number | null | The size of the firmware file in bytes. |
dispatchPowerReboot
Dispatches a reboot action to the camera.
Parameter
Type Definitions
DispatchPowerRebootParams
| Property | Type | Required | Description |
|---|---|---|---|
args | DispatchPowerRebootArgs | ✓ | |
includeFields | string[] |
DispatchPowerRebootArgs
No properties.
Result
getAuthentication
Authentication methods supported by the integration.
Parameter
Type Definitions
GetAuthenticationParams
| Property | Type | Required | Description |
|---|---|---|---|
args | GetAuthenticationArgs | ✓ | |
includeFields | IncludeFieldsEnum[] |
GetAuthenticationArgs
No properties.
IncludeFieldsEnum
enum
One of: methods.
Result
Type Definitions
GetAuthenticationResult
The container for all authentication items.
| Property | Type | Required | Description |
|---|---|---|---|
methods | Authentication[] | null | A list of authentication methods required or available for a user to use. |
Authentication
Represents a standalone authentication method or “form”. This object serves as a mechanism to logically group fields required for authentication. For example: a device may require an access token to communicate over the LAN. The integration may also support communicating via a cloud api, requiring a clientId and clientSecret. In this case, the integration would return two Authentication objects, one for the LAN method and one for the cloud method, each with their respective fields and types.
| Property | Type | Required | Description |
|---|---|---|---|
documentationURL | string (uri) | null | A url to documentation describing how to set/configure this authentication method. This is intended to be displayed to the user as guidance for how to obtain the necessary credentials or complete the necessary steps to successfully authenticate. | |
fields | AuthenticationField[] | null | A list of authentication fields required for this authentication method. Each field has a type that indicates how the value should be obtained or set. | |
id | string | The unique identifier for this authentication method. This is used when setting authentication values. | |
label | string | A short description of the authentication method. For example: “Local Network Authentication”, “Cloud Authentication”, etc… This will be displayed to the user. | |
valid | boolean | Reports the state of this authentication method. If false, one or more of the fields are missing or invalid. There is no way to report the validity of an individual field within the authentication method itself. |
AuthenticationField
Represents a single field within an authentication method.
| Property | Type | Required | Description |
|---|---|---|---|
credentialType | AuthenticationFieldCredentialType | ||
key | string | The unique identifier for this authentication field. | |
label | string | A short, user-facing label describing this field. For example: “Password”, “Access Token”, etc… | |
type | TypeEnum | The type of this authentication field, indicating how the value should be obtained or set. Pay close attention any specific requirements or constraints for the type being used. - “STRING”: An authentication field of type string. For example: a password, pin, preshared-key, access token, etc… - “PROMPT”: Prompt triggers an out-of-band authentication flow. For example: displaying a prompt on the device requesting permissions, or having a user scan a QR code. There is a 30 second timeout for a prompt to resolve. If an authentication method’s fields list contains a field of type PROMPT, it must be the only field present in the list. | |
value | string | null | The current value of this authentication field. This typically only applies for the STRING types, but may be populated for other authentication types as well. |
AuthenticationFieldCredentialType
| Property | Type | Required | Description |
|---|---|---|---|
type | TypeEnum | - “OTHER”: - “USERNAME”: - “CLIENTID”: - “CLIENTSECRET”: - “PASSWORD”: - “ACCESSTOKEN”: - “APIKEY”: |
TypeEnum
-
“OTHER”:
-
“USERNAME”:
-
“CLIENTID”:
-
“CLIENTSECRET”:
-
“PASSWORD”:
-
“ACCESSTOKEN”:
-
“APIKEY”:
enum
One of: OTHER, USERNAME, CLIENTID, CLIENTSECRET, PASSWORD, ACCESSTOKEN, APIKEY.
getFirmware
Firmware metadata reported by the camera.
Parameter
Type Definitions
GetFirmwareParams
| Property | Type | Required | Description |
|---|---|---|---|
args | GetFirmwareArgs | ✓ | |
includeFields | IncludeFieldsEnum[] |
GetFirmwareArgs
No properties.
IncludeFieldsEnum
enum
One of: version, status.
Result
Type Definitions
GetFirmwareResult
| Property | Type | Required | Description |
|---|---|---|---|
status | FirmwareStatus | ||
version | FirmwareVersion | null |
FirmwareStatus
| Property | Type | Required | Description |
|---|---|---|---|
updateStatus | UpdateStatusEnum | The current status of any ongoing firmware update operation. - “UNSUPPORTED”: Indicates that the integration does not support monitoring firmware update status, or that it cannot determine the current status of a firmware update operation. This DOES NOT indicate that the integration does not support firmware updates at all. See the updateCandidates field on the firmware type for that information.- “READY”: Communicates that the device is ready to begin a firmware update, and supports monitoring the status of the update once it has begun. This does not indicate that a firmware update is available. See the updateCandidates field on the firmware type for that information.- “COMPLETE”: Indicates that the firmware update has completed successfully. - “INPROGRESS”: Indicates that a firmware update is currently in progress. - “FAILED”: Indicates that the firmware update has failed. |
UpdateStatusEnum
The current status of any ongoing firmware update operation.
-
“UNSUPPORTED”: Indicates that the integration does not support monitoring firmware update status, or that it cannot determine the current status of a firmware update operation. This DOES NOT indicate that the integration does not support firmware updates at all. See the
updateCandidatesfield on the firmware type for that information. -
“READY”: Communicates that the device is ready to begin a firmware update, and supports monitoring the status of the update once it has begun. This does not indicate that a firmware update is available. See the
updateCandidatesfield on the firmware type for that information. -
“COMPLETE”: Indicates that the firmware update has completed successfully.
-
“INPROGRESS”: Indicates that a firmware update is currently in progress.
-
“FAILED”: Indicates that the firmware update has failed.
enum
One of: UNSUPPORTED, READY, COMPLETE, INPROGRESS, FAILED.
FirmwareVersion
| Property | Type | Required | Description |
|---|---|---|---|
current | FirmwareVersionDetails | null | The current firmware version details for the device. | |
updateCandidates | FirmwareVersionDetails[] | null | A list of firmware versions available for update. A non-empty list indicates that a firmware update is available and that this integration supports dispatching firmware updates. A null value indicates that the integration does not support firmware updates, or that it cannot determine if there are any updates available. An empty list indicates that there are no firmware updates currently available for this device, but that the integration does support firmware updates. |
FirmwareVersionDetails
An object describing an available firmware version for the device.
| Property | Type | Required | Description |
|---|---|---|---|
documentationUrl | string | null | A url pointing to documentation for this firmware version. This is used for display purposes in the UI when listing available firmware versions, and can be used by the user to learn more about this firmware version before deciding to update. | |
friendlyName | string | A user-friendly name for this firmware version. This is used for display purposes in the UI when listing available firmware versions. | |
id | string | A unique identifier for this firmware version. This is used when dispatching a firmware update to specify which version to update to. | |
releaseDate | string (date-time) | null | The date this firmware version was released. | |
releaseNotes | string | null | A description of the changes included in this firmware version. This is used for display purposes in the UI when listing available firmware versions. | |
size | number | null | The size of the firmware file in bytes. |
getImageSettings
Lens/source image settings exposed by the camera.
Parameter
Type Definitions
GetImageSettingsParams
| Property | Type | Required | Description |
|---|---|---|---|
args | GetImageSettingsArgs | ✓ | |
includeFields | IncludeFieldsEnum[] |
GetImageSettingsArgs
No properties.
IncludeFieldsEnum
enum
One of: sources.
Result
Type Definitions
GetImageSettingsResult
Image settings exposed by the camera across physical sources/lenses.
| Property | Type | Required | Description |
|---|---|---|---|
sources | ImageSettingsSource[] | null | A list of physical sources on the camera. |
ImageSettingsSource
Represents a single physical source (or lens) on the camera.
| Property | Type | Required | Description |
|---|---|---|---|
configuredDayNightMode | ConfiguredDayNightModeEnum | null | The currently configured day/night mode for this lens. - “DAY”: Day mode. - “NIGHT”: Night mode. - “AUTO”: Automatically switch between day and night mode based on the current lighting conditions. | |
currentDayNightMode | CurrentDayNightModeEnum | null | The current day/night mode for this lens. This value may be different than the configuredDayNightMode if the configuredDayNightMode is set to AUTO and the camera has automatically switched modes based on lighting conditions. Must not be set to AUTO, as AUTO is only a valid value for configuredDayNightMode. - “DAY”: Day mode. - “NIGHT”: Night mode. - “AUTO”: Automatically switch between day and night mode based on the current lighting conditions. | |
id | string | The id of the physical source on the camera. | |
rotation | number | null | The current rotation of the lens, in degrees. This value is only valid if it also exists in the rotationPresets field. | |
rotationPresets | number[] | null | A set of preset rotation values that can be applied to the camera. The unit of this value is degrees. Up to 359 items. |
ConfiguredDayNightModeEnum
The currently configured day/night mode for this lens.
-
“DAY”: Day mode.
-
“NIGHT”: Night mode.
-
“AUTO”: Automatically switch between day and night mode based on the current lighting conditions.
enum
One of: DAY, NIGHT, AUTO.
CurrentDayNightModeEnum
The current day/night mode for this lens. This value may be different than the configuredDayNightMode if the configuredDayNightMode is set to AUTO and the camera has automatically switched modes based on lighting conditions. Must not be set to AUTO, as AUTO is only a valid value for configuredDayNightMode.
-
“DAY”: Day mode.
-
“NIGHT”: Night mode.
-
“AUTO”: Automatically switch between day and night mode based on the current lighting conditions.
enum
One of: DAY, NIGHT, AUTO.
getMetadata
Integration metadata reported by the camera.
Parameter
Type Definitions
GetMetadataParams
| Property | Type | Required | Description |
|---|---|---|---|
args | GetMetadataArgs | ✓ | |
includeFields | IncludeFieldsEnum[] |
GetMetadataArgs
No properties.
IncludeFieldsEnum
enum
One of: userManualURL, knowledgeBaseURL, dataAcquisition.
Result
Type Definitions
GetMetadataResult
| Property | Type | Required | Description |
|---|---|---|---|
dataAcquisition | KeyValuePair[] | null | ||
knowledgeBaseURL | string (uri) | null | ||
userManualURL | string (uri) | null |
KeyValuePair
| Property | Type | Required | Description |
|---|---|---|---|
canonicalId | string | null | ||
friendlyName | string | ||
key | string |
getNetwork
Network information reported by the camera.
Parameter
Type Definitions
GetNetworkParams
| Property | Type | Required | Description |
|---|---|---|---|
args | GetNetworkArgs | ✓ | |
includeFields | IncludeFieldsEnum[] |
GetNetworkArgs
No properties.
IncludeFieldsEnum
enum
One of: interfaces.
Result
Type Definitions
GetNetworkResult
The device’s network information.
| Property | Type | Required | Description |
|---|---|---|---|
interfaces | NetworkInterface[] | null | A list of available network interfaces on the device, such as Wi-Fi adapters and Ethernet ports. |
NetworkInterface
A network interface on the device, such as a Wi-Fi adapter or Ethernet port.
| Property | Type | Required | Description |
|---|---|---|---|
canEnable | boolean | null | Whether this network interface can be enabled via the integration. Null indicates the integration does not support changing the enabled status of any network interfaces. False indicates the network interface cannot be enabled, but the integration does support changing the enabled status of network interfaces where canEnable is true. | |
enabled | boolean | Whether this network interface is currently enabled. | |
friendlyName | string | A user-friendly name for this network interface, such as “Wi-Fi”, “Ethernet”, “eth0”, etc… | |
id | string | A unique identifier for this network interface. This is used when setting network configuration, if supported. | |
ipv4 | IPv4Settings | null | The IPv4 settings for this network interface. | |
macAddress | string | null | The network interface’s mac address. | |
wifi | WifiInfo | null | Details about the Wi-Fi connection for this network interface. If this value is null, it is assumed that the network interface is a wired connection. |
IPv4Settings
IPv4 network settings for a network interface, including the effective configuration, static configuration, and supported address types.
| Property | Type | Required | Description |
|---|---|---|---|
addressType | AddressTypeEnum | null | The currently active address type for this network interface. - “DHCP”: - “DHCP_STATIC_DNS”: - “STATIC”: | |
addressTypes | AddressTypesEnum[] | null | A list of supported address types for this network interface, which can be changed if canSet is true. | |
canSet | boolean | If true, the integration must support setting the IPv4 configuration on this interface. If false, the effective configuration is read-only and cannot be modified by the integration. | |
dnsServerCount | number | The number of dns servers the network interface supports. This value may be at most 3. | |
effective | IPv4Config | null | The configuration currently in effect on this network interface. | |
static | IPv4Config | null | Where applicable, the static IPv4 configuration for this network interface. |
AddressTypeEnum
The currently active address type for this network interface.
-
“DHCP”:
-
“DHCP_STATIC_DNS”:
-
“STATIC”:
enum
One of: DHCP, DHCP_STATIC_DNS, STATIC.
AddressTypesEnum
-
“DHCP”:
-
“DHCP_STATIC_DNS”:
-
“STATIC”:
enum
One of: DHCP, DHCP_STATIC_DNS, STATIC.
IPv4Config
The IPv4 configuration for a network interface, including the assigned address, netmask, gateway, and dns servers.
| Property | Type | Required | Description |
|---|---|---|---|
address | string (ipv4) | null | The IPv4 address assigned to the device. This may be null if the device does not expose this information. | |
dnsServers | string (ipv4)[] | null | A list of dns servers assigned to the device. The list must return at most 3 servers. | |
gateway | string (ipv4) | null | The IPv4 gateway assigned to the device. | |
netmask | string (ipv4) | null | The IPv4 netmask assigned to the device. |
WifiInfo
| Property | Type | Required | Description |
|---|---|---|---|
ssid | string | null | The SSID of the currently connected Wi-Fi network, if applicable. |
getPower
Power capabilities and state reported by the camera.
Parameter
Type Definitions
GetPowerParams
| Property | Type | Required | Description |
|---|---|---|---|
args | GetPowerArgs | ✓ | |
includeFields | IncludeFieldsEnum[] |
GetPowerArgs
No properties.
IncludeFieldsEnum
enum
One of: canReboot.
Result
Type Definitions
GetPowerResult
Power capabilities reported by the camera.
| Property | Type | Required | Description |
|---|---|---|---|
canReboot | boolean | null | Indicates whether the camera supports a reboot action. |
getProfiles
Video streaming profiles exposed by the camera.
Parameter
Type Definitions
GetProfilesParams
| Property | Type | Required | Description |
|---|---|---|---|
args | GetProfilesArgs | ✓ | |
includeFields | IncludeFieldsEnum[] |
GetProfilesArgs
No properties.
IncludeFieldsEnum
enum
One of: available.
Result
Type Definitions
GetProfilesResult
Streaming profile configuration exposed by the camera.
| Property | Type | Required | Description |
|---|---|---|---|
available | Profile[] | null | A list of configured streaming profiles on the camera. |
Profile
A single configured streaming profile.
| Property | Type | Required | Description |
|---|---|---|---|
friendlyName | string | A user-facing name for this streaming profile, used to identify the profile in source-selection interfaces. Must not be empty. Min length 1. | |
id | string | A unique stable identifier for this profile. | |
video | VideoEncoding | null | Configured encoding settings for the video stream. |
VideoEncoding
Video encoding settings for a streaming profile.
| Property | Type | Required | Description |
|---|---|---|---|
codec | KeyValuePair | null | A user-friendly representation of the current video encoding codec. Examples might include: {id:“h265”, friendlyName:“H.265”}, {id:“mpeg4”, friendlyName:“MPEG4”}, etc. | |
maxBitrate | number | null | The ceiling bitrate the camera is currently configured to use in Kbps. | |
maxFrameRate | number | null | The maximum frame rate the camera is currently configured to use in frames per second. | |
resolution | Resolution | null | Configured video resolution. |
KeyValuePair
| Property | Type | Required | Description |
|---|---|---|---|
canonicalId | string | null | ||
friendlyName | string | ||
key | string |
Resolution
Represents a video resolution in pixels.
| Property | Type | Required | Description |
|---|---|---|---|
height | number | Number of pixels across the y-axis of the video image, prior to taking rotation into account. For example, a 1080p video rotated to 90 degrees would have a height of 1080. A 1080p video rotated to 0 degrees would have a height of 1080. | |
width | number | Number of pixels across the x-axis of the video image, prior to taking rotation into account. For example, a 1080p video rotated to 90 degrees would have a width of 1920. A 1080p video rotated to 0 degrees would have a width of 1920. |
getSystem
System-level metadata reported by the camera.
Parameter
Type Definitions
GetSystemParams
| Property | Type | Required | Description |
|---|---|---|---|
args | GetSystemArgs | ✓ | |
includeFields | IncludeFieldsEnum[] |
GetSystemArgs
No properties.
IncludeFieldsEnum
enum
One of: hostname, model, brand, serialNumber, dateTime.
Result
Type Definitions
GetSystemResult
System metadata reported by the camera.
| Property | Type | Required | Description |
|---|---|---|---|
brand | string | null | Brand reported by the camera. | |
dateTime | SystemDateTime | null | Date/time metadata reported by the camera. | |
hostname | string | null | Hostname reported directly by the camera. | |
model | string | null | Model reported by the camera. | |
serialNumber | string | null | Serial number reported by the camera. |
SystemDateTime
Date/time metadata reported by the camera.
| Property | Type | Required | Description |
|---|---|---|---|
daylightSavingsEnabled | boolean | null | Reports whether daylight saving time (DST) is enabled on the camera. If false, the camera-reported date/time will not apply daylight saving adjustments. | |
localDateTime | string (date-time) | null | An RFC 3339 compliant date-time reflecting the camera’s local time and timezone. | |
source | SourceEnum | null | Reports how the camera obtains the current date/time. - “MANUAL”: Date/time is manually configured. - “NTP”: Date/time is synchronized via NTP. |
SourceEnum
Reports how the camera obtains the current date/time.
-
“MANUAL”: Date/time is manually configured.
-
“NTP”: Date/time is synchronized via NTP.
enum
One of: MANUAL, NTP.
setAuthentication
Parameter
Type Definitions
SetAuthenticationParams
| Property | Type | Required | Description |
|---|---|---|---|
args | SetAuthenticationArgs | ✓ | |
includeFields | IncludeFieldsEnum[] |
SetAuthenticationArgs
| Property | Type | Required | Description |
|---|---|---|---|
auth | AuthenticationInput | ✓ | Input type for setting authentication values on an authentication method. This is only applicable for authentication methods composed of STRING fields. |
AuthenticationInput
Input type for setting authentication values on an authentication method. This is only applicable for authentication methods composed of STRING fields.
| Property | Type | Required | Description |
|---|---|---|---|
fields | AuthenticationFieldInput[] | ✓ | The list of field values to set for this authentication method. |
id | string | ✓ | The unique identifier of the authentication method to set values for. |
AuthenticationFieldInput
Input type for setting the value of a single authentication field.
| Property | Type | Required | Description |
|---|---|---|---|
key | string | ✓ | The unique identifier of the authentication field to set. |
value | string | ✓ | The value to set for this authentication field. |
IncludeFieldsEnum
enum
One of: id, label, valid, documentationURL, fields.
Result
Type Definitions
SetAuthenticationResult
Represents a standalone authentication method or “form”. This object serves as a mechanism to logically group fields required for authentication. For example: a device may require an access token to communicate over the LAN. The integration may also support communicating via a cloud api, requiring a clientId and clientSecret. In this case, the integration would return two Authentication objects, one for the LAN method and one for the cloud method, each with their respective fields and types.
| Property | Type | Required | Description |
|---|---|---|---|
documentationURL | string (uri) | null | A url to documentation describing how to set/configure this authentication method. This is intended to be displayed to the user as guidance for how to obtain the necessary credentials or complete the necessary steps to successfully authenticate. | |
fields | AuthenticationField[] | null | A list of authentication fields required for this authentication method. Each field has a type that indicates how the value should be obtained or set. | |
id | string | The unique identifier for this authentication method. This is used when setting authentication values. | |
label | string | A short description of the authentication method. For example: “Local Network Authentication”, “Cloud Authentication”, etc… This will be displayed to the user. | |
valid | boolean | Reports the state of this authentication method. If false, one or more of the fields are missing or invalid. There is no way to report the validity of an individual field within the authentication method itself. |
AuthenticationField
Represents a single field within an authentication method.
| Property | Type | Required | Description |
|---|---|---|---|
credentialType | AuthenticationFieldCredentialType | ||
key | string | The unique identifier for this authentication field. | |
label | string | A short, user-facing label describing this field. For example: “Password”, “Access Token”, etc… | |
type | TypeEnum | The type of this authentication field, indicating how the value should be obtained or set. Pay close attention any specific requirements or constraints for the type being used. - “STRING”: An authentication field of type string. For example: a password, pin, preshared-key, access token, etc… - “PROMPT”: Prompt triggers an out-of-band authentication flow. For example: displaying a prompt on the device requesting permissions, or having a user scan a QR code. There is a 30 second timeout for a prompt to resolve. If an authentication method’s fields list contains a field of type PROMPT, it must be the only field present in the list. | |
value | string | null | The current value of this authentication field. This typically only applies for the STRING types, but may be populated for other authentication types as well. |
AuthenticationFieldCredentialType
| Property | Type | Required | Description |
|---|---|---|---|
type | TypeEnum | - “OTHER”: - “USERNAME”: - “CLIENTID”: - “CLIENTSECRET”: - “PASSWORD”: - “ACCESSTOKEN”: - “APIKEY”: |
TypeEnum
-
“OTHER”:
-
“USERNAME”:
-
“CLIENTID”:
-
“CLIENTSECRET”:
-
“PASSWORD”:
-
“ACCESSTOKEN”:
-
“APIKEY”:
enum
One of: OTHER, USERNAME, CLIENTID, CLIENTSECRET, PASSWORD, ACCESSTOKEN, APIKEY.
setNetworkConfig
Parameter
Type Definitions
SetNetworkConfigParams
| Property | Type | Required | Description |
|---|---|---|---|
args | SetNetworkConfigArgs | ✓ | |
includeFields | IncludeFieldsEnum[] |
SetNetworkConfigArgs
| Property | Type | Required | Description |
|---|---|---|---|
config | NetworkConfigInput | ✓ | Updates to apply to the device’s network configuration. |
NetworkConfigInput
Updates to apply to the device’s network configuration.
| Property | Type | Required | Description |
|---|---|---|---|
interfaces | NetworkInterfaceConfigInput[] | ✓ | The interfaces to update, with their configuration. |
NetworkInterfaceConfigInput
Used when updating the network interface configuration for a device.
| Property | Type | Required | Description |
|---|---|---|---|
enabled | boolean | null | Whether to enable or disable this network interface. This value is only relevant when the network interface canEnable field is non-null. A null value in this field should be treated as “no change” to the enabled status of the network interface. | |
id | string | ✓ | The unique identifier of the network interface to update the configuration for. |
ipv4 | NetworkIPv4ConfigInput | null | The configuration for the network interface’s IPv4 settings. If null, the IPv4 configuration should not be changed. |
NetworkIPv4ConfigInput
| Property | Type | Required | Description |
|---|---|---|---|
addressType | AddressTypeEnum | ✓ | The address type to use for the network interface. - “DHCP”: - “DHCP_STATIC_DNS”: - “STATIC”: |
static | IPv4StaticConfigInput | null | Static IPv4 configuration, if applicable. |
AddressTypeEnum
The address type to use for the network interface.
-
“DHCP”:
-
“DHCP_STATIC_DNS”:
-
“STATIC”:
enum
One of: DHCP, DHCP_STATIC_DNS, STATIC.
IPv4StaticConfigInput
The configuration for a given static network interface.
| Property | Type | Required | Description |
|---|---|---|---|
address | string (ipv4) | null | IPv4 address configuration for this network interface. | |
dnsServers | string (ipv4)[] | null | DNS server configuration. | |
gateway | string (ipv4) | null | Gateway configuration, where applicable. | |
netmask | string (ipv4) | null | Netmask configuration, where applicable. |
IncludeFieldsEnum
enum
One of: interfaces.
Result
Type Definitions
SetNetworkConfigResult
The device’s network information.
| Property | Type | Required | Description |
|---|---|---|---|
interfaces | NetworkInterface[] | null | A list of available network interfaces on the device, such as Wi-Fi adapters and Ethernet ports. |
NetworkInterface
A network interface on the device, such as a Wi-Fi adapter or Ethernet port.
| Property | Type | Required | Description |
|---|---|---|---|
canEnable | boolean | null | Whether this network interface can be enabled via the integration. Null indicates the integration does not support changing the enabled status of any network interfaces. False indicates the network interface cannot be enabled, but the integration does support changing the enabled status of network interfaces where canEnable is true. | |
enabled | boolean | Whether this network interface is currently enabled. | |
friendlyName | string | A user-friendly name for this network interface, such as “Wi-Fi”, “Ethernet”, “eth0”, etc… | |
id | string | A unique identifier for this network interface. This is used when setting network configuration, if supported. | |
ipv4 | IPv4Settings | null | The IPv4 settings for this network interface. | |
macAddress | string | null | The network interface’s mac address. | |
wifi | WifiInfo | null | Details about the Wi-Fi connection for this network interface. If this value is null, it is assumed that the network interface is a wired connection. |
IPv4Settings
IPv4 network settings for a network interface, including the effective configuration, static configuration, and supported address types.
| Property | Type | Required | Description |
|---|---|---|---|
addressType | AddressTypeEnum | null | The currently active address type for this network interface. - “DHCP”: - “DHCP_STATIC_DNS”: - “STATIC”: | |
addressTypes | AddressTypesEnum[] | null | A list of supported address types for this network interface, which can be changed if canSet is true. | |
canSet | boolean | If true, the integration must support setting the IPv4 configuration on this interface. If false, the effective configuration is read-only and cannot be modified by the integration. | |
dnsServerCount | number | The number of dns servers the network interface supports. This value may be at most 3. | |
effective | IPv4Config | null | The configuration currently in effect on this network interface. | |
static | IPv4Config | null | Where applicable, the static IPv4 configuration for this network interface. |
AddressTypeEnum
The currently active address type for this network interface.
-
“DHCP”:
-
“DHCP_STATIC_DNS”:
-
“STATIC”:
enum
One of: DHCP, DHCP_STATIC_DNS, STATIC.
AddressTypesEnum
-
“DHCP”:
-
“DHCP_STATIC_DNS”:
-
“STATIC”:
enum
One of: DHCP, DHCP_STATIC_DNS, STATIC.
IPv4Config
The IPv4 configuration for a network interface, including the assigned address, netmask, gateway, and dns servers.
| Property | Type | Required | Description |
|---|---|---|---|
address | string (ipv4) | null | The IPv4 address assigned to the device. This may be null if the device does not expose this information. | |
dnsServers | string (ipv4)[] | null | A list of dns servers assigned to the device. The list must return at most 3 servers. | |
gateway | string (ipv4) | null | The IPv4 gateway assigned to the device. | |
netmask | string (ipv4) | null | The IPv4 netmask assigned to the device. |
WifiInfo
| Property | Type | Required | Description |
|---|---|---|---|
ssid | string | null | The SSID of the currently connected Wi-Fi network, if applicable. |