Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Camera Methods


dispatchAuthenticationPrompt

Parameter

Type Definitions
DispatchAuthenticationPromptParams
PropertyTypeRequiredDescription
argsDispatchAuthenticationPromptArgs
includeFieldsIncludeFieldsEnum[]
DispatchAuthenticationPromptArgs
PropertyTypeRequiredDescription
authenticationIdstring
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.

PropertyTypeRequiredDescription
documentationURLstring (uri) | nullA 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.
fieldsAuthenticationField[] | nullA list of authentication fields required for this authentication method. Each field has a type that indicates how the value should be obtained or set.
idstringThe unique identifier for this authentication method. This is used when setting authentication values.
labelstringA short description of the authentication method. For example: “Local Network Authentication”, “Cloud Authentication”, etc…
This will be displayed to the user.
validbooleanReports 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.

PropertyTypeRequiredDescription
credentialTypeAuthenticationFieldCredentialType
keystringThe unique identifier for this authentication field.
labelstringA short, user-facing label describing this field. For example: “Password”, “Access Token”, etc…
typeTypeEnumThe 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.
valuestring | nullThe 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
PropertyTypeRequiredDescription
typeTypeEnum- “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
PropertyTypeRequiredDescription
argsDispatchFirmwareUpdateArgs
includeFieldsIncludeFieldsEnum[]
DispatchFirmwareUpdateArgs
PropertyTypeRequiredDescription
versionIdstring
IncludeFieldsEnum

enum

One of: version, status.

Result

Type Definitions
DispatchFirmwareUpdateResult
PropertyTypeRequiredDescription
statusFirmwareStatus
versionFirmwareVersion | null
FirmwareStatus
PropertyTypeRequiredDescription
updateStatusUpdateStatusEnumThe 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 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.

enum

One of: UNSUPPORTED, READY, COMPLETE, INPROGRESS, FAILED.

FirmwareVersion
PropertyTypeRequiredDescription
currentFirmwareVersionDetails | nullThe current firmware version details for the device.
updateCandidatesFirmwareVersionDetails[] | nullA 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.

PropertyTypeRequiredDescription
documentationUrlstring | nullA 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.
friendlyNamestringA user-friendly name for this firmware version. This is used for display purposes in the UI when listing available firmware versions.
idstringA unique identifier for this firmware version. This is used when dispatching a firmware update to specify which version to update to.
releaseDatestring (date-time) | nullThe date this firmware version was released.
releaseNotesstring | nullA description of the changes included in this firmware version. This is used for display purposes in the UI when listing available firmware versions.
sizenumber | nullThe size of the firmware file in bytes.

dispatchPowerReboot

Dispatches a reboot action to the camera.

Parameter

Type Definitions
DispatchPowerRebootParams
PropertyTypeRequiredDescription
argsDispatchPowerRebootArgs
includeFieldsstring[]
DispatchPowerRebootArgs

No properties.

Result

Type Definitions
DispatchPowerRebootResult

boolean


getAuthentication

Authentication methods supported by the integration.

Parameter

Type Definitions
GetAuthenticationParams
PropertyTypeRequiredDescription
argsGetAuthenticationArgs
includeFieldsIncludeFieldsEnum[]
GetAuthenticationArgs

No properties.

IncludeFieldsEnum

enum

One of: methods.

Result

Type Definitions
GetAuthenticationResult

The container for all authentication items.

PropertyTypeRequiredDescription
methodsAuthentication[] | nullA 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.

PropertyTypeRequiredDescription
documentationURLstring (uri) | nullA 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.
fieldsAuthenticationField[] | nullA list of authentication fields required for this authentication method. Each field has a type that indicates how the value should be obtained or set.
idstringThe unique identifier for this authentication method. This is used when setting authentication values.
labelstringA short description of the authentication method. For example: “Local Network Authentication”, “Cloud Authentication”, etc…
This will be displayed to the user.
validbooleanReports 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.

PropertyTypeRequiredDescription
credentialTypeAuthenticationFieldCredentialType
keystringThe unique identifier for this authentication field.
labelstringA short, user-facing label describing this field. For example: “Password”, “Access Token”, etc…
typeTypeEnumThe 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.
valuestring | nullThe 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
PropertyTypeRequiredDescription
typeTypeEnum- “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
PropertyTypeRequiredDescription
argsGetFirmwareArgs
includeFieldsIncludeFieldsEnum[]
GetFirmwareArgs

No properties.

IncludeFieldsEnum

enum

One of: version, status.

Result

Type Definitions
GetFirmwareResult
PropertyTypeRequiredDescription
statusFirmwareStatus
versionFirmwareVersion | null
FirmwareStatus
PropertyTypeRequiredDescription
updateStatusUpdateStatusEnumThe 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 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.

enum

One of: UNSUPPORTED, READY, COMPLETE, INPROGRESS, FAILED.

FirmwareVersion
PropertyTypeRequiredDescription
currentFirmwareVersionDetails | nullThe current firmware version details for the device.
updateCandidatesFirmwareVersionDetails[] | nullA 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.

PropertyTypeRequiredDescription
documentationUrlstring | nullA 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.
friendlyNamestringA user-friendly name for this firmware version. This is used for display purposes in the UI when listing available firmware versions.
idstringA unique identifier for this firmware version. This is used when dispatching a firmware update to specify which version to update to.
releaseDatestring (date-time) | nullThe date this firmware version was released.
releaseNotesstring | nullA description of the changes included in this firmware version. This is used for display purposes in the UI when listing available firmware versions.
sizenumber | nullThe size of the firmware file in bytes.

getImageSettings

Lens/source image settings exposed by the camera.

Parameter

Type Definitions
GetImageSettingsParams
PropertyTypeRequiredDescription
argsGetImageSettingsArgs
includeFieldsIncludeFieldsEnum[]
GetImageSettingsArgs

No properties.

IncludeFieldsEnum

enum

One of: sources.

Result

Type Definitions
GetImageSettingsResult

Image settings exposed by the camera across physical sources/lenses.

PropertyTypeRequiredDescription
sourcesImageSettingsSource[] | nullA list of physical sources on the camera.
ImageSettingsSource

Represents a single physical source (or lens) on the camera.

PropertyTypeRequiredDescription
configuredDayNightModeConfiguredDayNightModeEnum | nullThe 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.
currentDayNightModeCurrentDayNightModeEnum | nullThe 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.
idstringThe id of the physical source on the camera.
rotationnumber | nullThe current rotation of the lens, in degrees.
This value is only valid if it also exists in the rotationPresets field.
rotationPresetsnumber[] | nullA 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
PropertyTypeRequiredDescription
argsGetMetadataArgs
includeFieldsIncludeFieldsEnum[]
GetMetadataArgs

No properties.

IncludeFieldsEnum

enum

One of: userManualURL, knowledgeBaseURL, dataAcquisition.

Result

Type Definitions
GetMetadataResult
PropertyTypeRequiredDescription
dataAcquisitionKeyValuePair[] | null
knowledgeBaseURLstring (uri) | null
userManualURLstring (uri) | null
KeyValuePair
PropertyTypeRequiredDescription
canonicalIdstring | null
friendlyNamestring
keystring

getNetwork

Network information reported by the camera.

Parameter

Type Definitions
GetNetworkParams
PropertyTypeRequiredDescription
argsGetNetworkArgs
includeFieldsIncludeFieldsEnum[]
GetNetworkArgs

No properties.

IncludeFieldsEnum

enum

One of: interfaces.

Result

Type Definitions
GetNetworkResult

The device’s network information.

PropertyTypeRequiredDescription
interfacesNetworkInterface[] | nullA 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.

PropertyTypeRequiredDescription
canEnableboolean | nullWhether 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.
enabledbooleanWhether this network interface is currently enabled.
friendlyNamestringA user-friendly name for this network interface, such as “Wi-Fi”, “Ethernet”, “eth0”, etc…
idstringA unique identifier for this network interface. This is used when setting network configuration, if supported.
ipv4IPv4Settings | nullThe IPv4 settings for this network interface.
macAddressstring | nullThe network interface’s mac address.
wifiWifiInfo | nullDetails 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.

PropertyTypeRequiredDescription
addressTypeAddressTypeEnum | nullThe currently active address type for this network interface.
- “DHCP”:

- “DHCP_STATIC_DNS”:

- “STATIC”:
addressTypesAddressTypesEnum[] | nullA list of supported address types for this network interface,
which can be changed if canSet is true.
canSetbooleanIf 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.
dnsServerCountnumberThe number of dns servers the network interface supports.
This value may be at most 3.
effectiveIPv4Config | nullThe configuration currently in effect on this network interface.
staticIPv4Config | nullWhere 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.

PropertyTypeRequiredDescription
addressstring (ipv4) | nullThe IPv4 address assigned to the device.
This may be null if the device does not expose this information.
dnsServersstring (ipv4)[] | nullA list of dns servers assigned to the device.
The list must return at most 3 servers.
gatewaystring (ipv4) | nullThe IPv4 gateway assigned to the device.
netmaskstring (ipv4) | nullThe IPv4 netmask assigned to the device.
WifiInfo
PropertyTypeRequiredDescription
ssidstring | nullThe SSID of the currently connected Wi-Fi network, if applicable.

getPower

Power capabilities and state reported by the camera.

Parameter

Type Definitions
GetPowerParams
PropertyTypeRequiredDescription
argsGetPowerArgs
includeFieldsIncludeFieldsEnum[]
GetPowerArgs

No properties.

IncludeFieldsEnum

enum

One of: canReboot.

Result

Type Definitions
GetPowerResult

Power capabilities reported by the camera.

PropertyTypeRequiredDescription
canRebootboolean | nullIndicates whether the camera supports a reboot action.

getProfiles

Video streaming profiles exposed by the camera.

Parameter

Type Definitions
GetProfilesParams
PropertyTypeRequiredDescription
argsGetProfilesArgs
includeFieldsIncludeFieldsEnum[]
GetProfilesArgs

No properties.

IncludeFieldsEnum

enum

One of: available.

Result

Type Definitions
GetProfilesResult

Streaming profile configuration exposed by the camera.

PropertyTypeRequiredDescription
availableProfile[] | nullA list of configured streaming profiles on the camera.
Profile

A single configured streaming profile.

PropertyTypeRequiredDescription
friendlyNamestringA user-facing name for this streaming profile, used to identify
the profile in source-selection interfaces. Must not be empty.
Min length 1.
idstringA unique stable identifier for this profile.
videoVideoEncoding | nullConfigured encoding settings for the video stream.
VideoEncoding

Video encoding settings for a streaming profile.

PropertyTypeRequiredDescription
codecKeyValuePair | nullA user-friendly representation of the current video encoding codec.
Examples might include: {id:“h265”, friendlyName:“H.265”}, {id:“mpeg4”, friendlyName:“MPEG4”}, etc.
maxBitratenumber | nullThe ceiling bitrate the camera is currently
configured to use in Kbps.
maxFrameRatenumber | nullThe maximum frame rate the camera is currently configured to use in frames per second.
resolutionResolution | nullConfigured video resolution.
KeyValuePair
PropertyTypeRequiredDescription
canonicalIdstring | null
friendlyNamestring
keystring
Resolution

Represents a video resolution in pixels.

PropertyTypeRequiredDescription
heightnumberNumber 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.
widthnumberNumber 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
PropertyTypeRequiredDescription
argsGetSystemArgs
includeFieldsIncludeFieldsEnum[]
GetSystemArgs

No properties.

IncludeFieldsEnum

enum

One of: hostname, model, brand, serialNumber, dateTime.

Result

Type Definitions
GetSystemResult

System metadata reported by the camera.

PropertyTypeRequiredDescription
brandstring | nullBrand reported by the camera.
dateTimeSystemDateTime | nullDate/time metadata reported by the camera.
hostnamestring | nullHostname reported directly by the camera.
modelstring | nullModel reported by the camera.
serialNumberstring | nullSerial number reported by the camera.
SystemDateTime

Date/time metadata reported by the camera.

PropertyTypeRequiredDescription
daylightSavingsEnabledboolean | nullReports whether daylight saving time (DST) is enabled on the camera.
If false, the camera-reported date/time will not apply daylight saving adjustments.
localDateTimestring (date-time) | nullAn RFC 3339 compliant date-time reflecting the camera’s local time and timezone.
sourceSourceEnum | nullReports 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
PropertyTypeRequiredDescription
argsSetAuthenticationArgs
includeFieldsIncludeFieldsEnum[]
SetAuthenticationArgs
PropertyTypeRequiredDescription
authAuthenticationInputInput 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.

PropertyTypeRequiredDescription
fieldsAuthenticationFieldInput[]The list of field values to set for this authentication method.
idstringThe unique identifier of the authentication method to set values for.
AuthenticationFieldInput

Input type for setting the value of a single authentication field.

PropertyTypeRequiredDescription
keystringThe unique identifier of the authentication field to set.
valuestringThe 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.

PropertyTypeRequiredDescription
documentationURLstring (uri) | nullA 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.
fieldsAuthenticationField[] | nullA list of authentication fields required for this authentication method. Each field has a type that indicates how the value should be obtained or set.
idstringThe unique identifier for this authentication method. This is used when setting authentication values.
labelstringA short description of the authentication method. For example: “Local Network Authentication”, “Cloud Authentication”, etc…
This will be displayed to the user.
validbooleanReports 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.

PropertyTypeRequiredDescription
credentialTypeAuthenticationFieldCredentialType
keystringThe unique identifier for this authentication field.
labelstringA short, user-facing label describing this field. For example: “Password”, “Access Token”, etc…
typeTypeEnumThe 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.
valuestring | nullThe 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
PropertyTypeRequiredDescription
typeTypeEnum- “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
PropertyTypeRequiredDescription
argsSetNetworkConfigArgs
includeFieldsIncludeFieldsEnum[]
SetNetworkConfigArgs
PropertyTypeRequiredDescription
configNetworkConfigInputUpdates to apply to the device’s network configuration.
NetworkConfigInput

Updates to apply to the device’s network configuration.

PropertyTypeRequiredDescription
interfacesNetworkInterfaceConfigInput[]The interfaces to update, with their configuration.
NetworkInterfaceConfigInput

Used when updating the network interface configuration for a device.

PropertyTypeRequiredDescription
enabledboolean | nullWhether 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.
idstringThe unique identifier of the network interface to update the configuration for.
ipv4NetworkIPv4ConfigInput | nullThe configuration for the network interface’s IPv4 settings. If null, the IPv4 configuration should not be changed.
NetworkIPv4ConfigInput
PropertyTypeRequiredDescription
addressTypeAddressTypeEnumThe address type to use for the network interface.
- “DHCP”:

- “DHCP_STATIC_DNS”:

- “STATIC”:
staticIPv4StaticConfigInput | nullStatic 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.

PropertyTypeRequiredDescription
addressstring (ipv4) | nullIPv4 address configuration for this network interface.
dnsServersstring (ipv4)[] | nullDNS server configuration.
gatewaystring (ipv4) | nullGateway configuration, where applicable.
netmaskstring (ipv4) | nullNetmask configuration, where applicable.
IncludeFieldsEnum

enum

One of: interfaces.

Result

Type Definitions
SetNetworkConfigResult

The device’s network information.

PropertyTypeRequiredDescription
interfacesNetworkInterface[] | nullA 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.

PropertyTypeRequiredDescription
canEnableboolean | nullWhether 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.
enabledbooleanWhether this network interface is currently enabled.
friendlyNamestringA user-friendly name for this network interface, such as “Wi-Fi”, “Ethernet”, “eth0”, etc…
idstringA unique identifier for this network interface. This is used when setting network configuration, if supported.
ipv4IPv4Settings | nullThe IPv4 settings for this network interface.
macAddressstring | nullThe network interface’s mac address.
wifiWifiInfo | nullDetails 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.

PropertyTypeRequiredDescription
addressTypeAddressTypeEnum | nullThe currently active address type for this network interface.
- “DHCP”:

- “DHCP_STATIC_DNS”:

- “STATIC”:
addressTypesAddressTypesEnum[] | nullA list of supported address types for this network interface,
which can be changed if canSet is true.
canSetbooleanIf 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.
dnsServerCountnumberThe number of dns servers the network interface supports.
This value may be at most 3.
effectiveIPv4Config | nullThe configuration currently in effect on this network interface.
staticIPv4Config | nullWhere 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.

PropertyTypeRequiredDescription
addressstring (ipv4) | nullThe IPv4 address assigned to the device.
This may be null if the device does not expose this information.
dnsServersstring (ipv4)[] | nullA list of dns servers assigned to the device.
The list must return at most 3 servers.
gatewaystring (ipv4) | nullThe IPv4 gateway assigned to the device.
netmaskstring (ipv4) | nullThe IPv4 netmask assigned to the device.
WifiInfo
PropertyTypeRequiredDescription
ssidstring | nullThe SSID of the currently connected Wi-Fi network, if applicable.