Skip to content

Cognitive Systems App Core API

The Core APIs facilitate the creation, configuration, and management of WiFi Motion networks via RESTful APIs. It offers interfaces for accessing topologies, events, motion data, and more.

Download OpenAPI description
Languages
Servers
Mock server
https://docs.cognitivesystems.com/_mock/assets/specs/api/core

Cloud Health

Provides you with the ability to check the health of the Cloud environment.

Operations

Network

A WiFi Motion network is a typical network which would include WiFi connected devices, client devices, and also at least one WiFi Motion enabled device, such as an Access Point, Extender, or WiFi plug.

Operations

Meta

Allows you to store and retrieve meta data related to your WiFi Motion Network and connected devices.

Operations

Application Settings

Provides you with a method to be able to retrieve application or user settings within a WiFi Motion network.

Operations

Sounding

Sounding is the terminology used to describe the process of receiving the Channel State Information (CSI) data from a wireless device, analyzing the data, and evaluating if motion had occurred in the environment.

Operations

Retrieve Client Configuration

Request

Retrieve sounding clients and configurations. Note: Multi-Link Operation (MLO) devices with Peer 2 will not be displayed.

Security
ApiKey
Path
network_idintegerrequired

The Network ID is a unique identifier that is assigned to a WiFi Motion network when it is created. The Network ID is used by applications such as AppCloud, Device Manager, and via APIs, to uniquely identify a network.

curl -i -X GET \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/sounding/clients' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
devicesArray of objects(SoundingClientDeviceStatus)
Response
application/json
{ "devices": [ { … } ] }

Update Client Configuration

Request

Update sounding client(s) configuration. Note: Multi-Link Operation (MLO) devices with peer_type 2 are not configurable.

Security
ApiKey
Path
network_idintegerrequired

The Network ID is a unique identifier that is assigned to a WiFi Motion network when it is created. The Network ID is used by applications such as AppCloud, Device Manager, and via APIs, to uniquely identify a network.

Query
updateboolean

When true the new configuration is immediately propagated to the network this node is part of.

If this value is false, the change will be propagated to edge either when the device is rebooted or an update is triggered.

Default false
Bodyapplication/json
devicesArray of objects(SoundingClientDeviceConfig)required
Example: [{"id":0,"location":"LocationA"},{"mac":"00:11:22:33:44:55","sensitivity":1,"sounding_mode":"allow"}]
devices[].​macstring

The Mac address of the target device.

Example: "22:33:44:ff:ee:dd"
devices[].​device_idstring

Contains the Serial number, Node Id, or Device ID.

devices[].​idstring

Internal node_id or device_id of the target node.

devices[].​friendly_namestring

The term Friendly Name, also known as friendly_name, refers to a name that is easy for the end user to understand. For example, if referring to a location, it is easier for an end user to refer to a location as Bedroom rather than the mac address of the device that is located in the bedroom.

Example: "name"
devices[].​locationstring

Device location name assigned to the Device or Node. Maximum of 256 characters, supporting letters, spaces, digits, with only the following special characters: =, +, -, _, @, !. Supports base64 encoding. Can also be an empty string.

Example: "location"
devices[].​sensitivity_modestring

Indicates whether the device is using the global sensitivity setting or is being overridden at the device level.

Enum"override""global"
devices[].​sensitivitynumber

Below is a chart that provides a description of the different Sensitivity Levels that are available:

Sensitivity Level Description Numerical Representation
HighMotion levels of all sizes will trigger detection. Provides optimal coverage for most single family / detached dwellings.1
MediumMotion levels that are moderate or greater will trigger detection. Provides optimal coverage for most dwellings that share one or more walls with a neighbor.2
LowOnly motion levels that are large to intense will trigger detection. Low and Very Low sensitivity may result in missed motion and are only recommended if too much motion is being reported at a higher setting.3
Very LowOnly motion levels that are large to intense will trigger detection. This setting is typically only used in scenarios such as a small accommodation with shared walls. Low and Very Low sensitivity may result in missed motion and are only recommended if too much motion is being reported at a higher setting.7
devices[].​sounding_modestring

Controls if the device can be used for sounding.

Enum"allow""deny"
Example: "allow"
devices[].​sounding_meshstring

Applicable only to nodes. Controls if the node will accept or reject sounding on mesh links.

Enum"allow""deny"
curl -i -X PATCH \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/sounding/clients?update=false' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "devices": [
      {
        "mac": "01:2a:b3:45:c6:78",
        "friendly_name": "Apple TV"
      }
    ]
  }'

Responses

Bodyapplication/json
statusinteger

0 failure

1 full success

2 some changes failed

3 an IoT update was requested but network has not yet started up

successinteger

1 if the operation was successful, 0 otherwise

detailsobject(WarningErrors)

The list of warnings or errors that occurred during processing of this request.

Response
application/json
{ "status": 0, "success": 0, "details": { "warnings": [], "errors": [] } }

Device

A wireless client refers to any device that connects to a network using WiFi technology. For optimal performance with WiFi Sensing, stationary devices such as voice assistants (like Amazon Echo or Google Nest), smart plugs, smart displays, and powered wireless speakers are ideal choices. Wireless clients that are mobile can move around and generally have aggressive sleep modes, less reliable Channel State Information (CSI) data, and are not able to be used to help identify localization, all of which can impact the WiFi Motion performance.

Guardian

Guardian is the name of the application that runs on a device, such as an Access Point, WiFi Extender, or IoT device, within a WiFi Network. It's primary functions are to store configuration settings, communicate with WiFi devices within a network, and communicate with the WiFi Motion infrastructure.

Radar

Radar is the name of the application that runs on every access point within a WiFi Motion network. It provides high-resolution stream of motion intensity that is used by the Guardian application.

Management Actions

Provides the ability to manage the nodes within a WiFi Motion network.

Home Insights

Home Insights is a microservice that provides motion-based activity and sleep insights data.

Operations

Insights (Deprecated)

Provides you with the ability to gain insights into activity and sleep patterns. This has since been replaced by Home Insights.

Motion History

Motion History refers to the motion that was previously detected within a WiFi Motion network.

Operations

Location Data

Provides you the ability to query historical data related to where motion was detected within a WiFi Motion network.

Operations

Network Events

Events are messages that are sent within the WiFi Motion environment, and are often synonymous with notifications or alerts. Some examples of event categories are Device, Link, Motion, Scene, System, and User events.

Operations

Universal Alerts

Operations

Generic

A webhook is an automated message sent from one app to another when a specific event occurs, like a payment or a code commit. It works by sending an HTTP request containing data (a "payload") to a unique URL provided by the receiving application. This allows for real-time data sharing and communication between applications without constant polling.

Live Motion

Live Motion refers to the ability to collect multiple signals in near real-time from within a WiFi Motion network, which can then be used for visualizing movement, identifying where the motion occurred, and more.

Operations

Management

Provides you the ability to monitor management actions in near real-time.