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

Network status

Request

Returns the most recent GuardianStatusReport from the network.

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
keystring

Comma seperated list of keys to filter response on

curl -i -X GET \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/status?key=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK.

Bodyapplication/json
leafblowerobject

Leafblower Link Stats object, key is mac address

network_idinteger

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.

shard_idstring

Network shard

radarsobject

map of radar id to radar status reports

tsnumber(float)required

UTC timestamp

last_motionnumber or null(float)

UTC timestamp of last motion refresh time

motion_trippedinteger

Motion detector current state (1 - tripped, 0 - no motion)

startupboolean

Is this the first report after startup

versionobject

Component version inside Guardian

healthobject

The health field within a Guardian Status message provides a calculation related to the number of Channel State Information (CSI) packets that were expected to be received and that were usable.

capabilitiesArray of strings

(alpha) list of device capabilities to unlock specify cloud options

coverageobject

Leafblower room coverage per node, key is node id, value is coverage array

guardian_idstring

Network guardian_id

dhcpobject

map of dhcp mac address and dhcp stats object - fused across all AP

motion_enabledinteger

Motion event generation state (1 - on, 0 - off)

armedinteger

Motion armed state (1 - on, 0 - off)

pausedboolean

When enabled, the system is in sounding paused mode, and no motion detection will be happening. The motion stack is in dormant mode until the sounding more is no longer paused.

motion_suppressedinteger

Determines if motion will be suppressed.

  • 0 Motion is not suppressed.

  • 1 Motion is suppressed.

Response
application/json
{ "leafblower": { "property1": { … }, "property2": { … } }, "network_id": 0, "shard_id": "string", "radars": { "property1": { … }, "property2": { … } }, "ts": 0.1, "last_motion": 0, "motion_tripped": 0, "startup": true, "version": { "property1": "string", "property2": "string" }, "health": { "nodes": { … }, "network": 0 }, "capabilities": [ "string" ], "coverage": { "property1": [ … ], "property2": [ … ] }, "guardian_id": "string", "dhcp": { "property1": { … }, "property2": { … } }, "motion_enabled": 0, "armed": 0, "paused": true, "motion_suppressed": 0 }

Network topology

Request

The WiFi Motion topology shows all of the wireless devices that could potentially be used for Wi-Fi Sensing within the WiFi Motion network.

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
offlineboolean

When true, returns offline devices (they will have online=false in their device description).

Default false
curl -i -X GET \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/topology?offline=false' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
tsnumber(float)

UTC timestamp report was produced

devicesArray of objects(TopologyDevice)required

Device list

devices[].​idinteger

Corresponds to the node_id for the device. If a Wi-Fi device is not registered as a node, the topology will use a negative value as the id. If there are multiple Wi-Fi devices on the network, then the next available negative id will be used. For example, -1, -2, -3, etc.

devices[].​namestring

Device identifier

devices[].​ipstring

Device local IP

devices[].​is_mesh_soundingboolean

Boolean if device is mesh sounding

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.

devices[].​node_namestring

Name of AP this device is connected to

devices[].​locationstring

Device location

devices[].​typestring(TopologyDeviceType)
Enum"MESH_ROOT""MESH_NODE""LEAF""CLIENT"
devices[].​device_infoobject(DeviceInfo)

Device info record

devices[].​hw_platformstring

Device hardware platform

devices[].​macsArray of strings or null(MachineAddress)

List of MACs belonging to this device

devices[].​iconstring
Enum"DEFAULT""ORBI""GWIFI""NEST""TPLINK""LEAF"
devices[].​onlineboolean

true if the device is currently online

devices[].​mobileboolean

true if the device is presumed mobile

devices[].​is_staticstring

Link fixed vs mobile detection state

Enum"UNKNOWN""MOBILE""STATIC_NEW""STATIC"
devices[].​tx_enablestring

Keys are leaf macs, value is: "" - automatic sounding "1" - sounding forced enabled "0" - disabled

devices[].​sounding_statestring(LinkSoundingState)

Link sounding state

Enum"NONE""ACTIVE""SNEAKY"
linksArray of objects(TopologyLink)required

A link consists of two devices that are connected to each other within a WiFi Motion enabled network. Each link within a WiFi Motion network is provided with a unique name, typically in the format of <unique identifier for device #1>.<unique identifier for device #2>.

links[].​src_idinteger

Unique device identifier of link source

links[].​dst_idinteger

Unique device identifier of link destination

links[].​motion_enabledboolean
links[].​detailobject(RadarNetworkLink)
links[].​sounding_statestring(LinkSoundingState)

Link sounding state

Enum"NONE""ACTIVE""SNEAKY"
Response
application/json
{ "ts": 0.1, "devices": [ { … } ], "links": [ { … } ] }

Propagate Network Configuration

Request

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 POST \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/config/update' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK.

Bodyapplication/json
statusinteger
successinteger
Response
application/json
{ "status": 0, "success": 0 }

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

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.