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

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

Detailed live motion

Request

Opens connection to stream live motion data from the network. The websocket will stream motion data updates live from the network until closed.

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}/motion/live' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK.

Bodyapplication/json
countnumber

Number of samples (number of strides in the inner data dimension) - always 1

locArray of strings

The loc field provides the most consistent method for identifying the source of a motion event. This field is reliably populated with the unique identifier (e.g., MAC address) of the device associated with the motion. Due to its stable format, the loc field is the preferred method for identifying the reported origin of motion, as opposed to fields that rely on variable display names.

loc_namestring

The loc_name is intended to provide a description of the device that is listed in the loc field. The value populated in this field will depend upon the several factors. Examples of types of data that can be populated include the friendly name of the device, the name of the node, and the node location.

loc_confArray of numbers

The location confidence information as an array of number (float) for the corresponding loc output index. Available as debug output values when Guardian Config -> live_motion -> loc_conf_enable = 1. Supported as of GuardianCore = 0.7.2

linksArray of strings(LinkId)

Array of link IDs (outer data dimension). Format is dst_mac-src_mac

intervalnumber

Milliseconds/sample (stride time of inner data dimension) - always 500ms

tsnumber(float)

Timestamp of the first sample in the stream (start time of inner data dimension)

last_motionnumber(float)

UTC timestamp

dataobject

Data fields as 2D arrays

Response
application/json
{ "ts": 1749733674.23, "links": [ "csi-b-a01b23345678.012ab345c678", "csi-b-a01b23345678.012ab345c67d", "csi-b-a01b23345678.a1234b5c67de" ], "data": { "lraw": [ … ], "mconf": [ … ], "mkai": [ … ], "msad": [ … ], "throughput": [ … ] }, "loc": [ "nomotion" ], "interval": 500, "count": 1, "last_motion": 1749730197.74 }

PubNub start

Request

PubNub is a real-time development platform and infrastructure-as-a-service (IaaS) that enables developers to build interactive applications with real-time features like chat, geolocation tracking, IoT device control, and multiplayer gaming. It provides a publish/subscribe (Pub/Sub) service, serverless functions, and other tools to deliver messages between devices and users with low latency, supporting large-scale, engaging virtual experiences.

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.

Bodyapplication/json
subscribeKeystringrequired
publishKeystringrequired
authKeystringrequired
channelstringrequired
ttlinteger

If not refreshed after this many seconds the publishing will automatically cease.

Default 300
curl -i -X POST \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/motion/pubnub' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "subscribeKey": "string",
    "publishKey": "string",
    "authKey": "string",
    "channel": "string",
    "ttl": 300
  }'

Responses

OK.

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

Motion stream start

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.

Bodyapplication/json
ttlinteger

If not refreshed after this many seconds the publishing will automatically cease.

Default 120
curl -i -X POST \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/motion/refresh' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "ttl": 120
  }'

Responses

OK.

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

Management

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