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

Network motion-density history

Request

Retrieve time series array of motion-density values across the whole network.

Related content:

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
frominteger

The UTC timestamp of the oldest report client already has in seconds

tointeger

The UTC timestamp of the latest report client is interested in, current time will be used if not provided

bucketinteger

The number of seconds in density calculation window; returned data points represent % of non-zero intensity values in the window.

Default 3600
curl -i -X GET \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/motion/history/density?from=0&to=0&bucket=3600' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/jsonArray [Array [
Any of:
number(timestamp)
]]
Response
application/json
[ [ [ … ], [ … ], [ … ], [ … ], [ … ], [ … ] ] ]

Motion event pairs

Request

Fetch motion event pairs, which will be a pair of MotionDetectedEvent and MotionStoppedEvent events.

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
frominteger

UTC timestamp

tointeger

UTC timestamp.

lastinteger

n events to pair from. Defaults to 50.

curl -i -X GET \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/events/pairs?from=0&to=0&last=0' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
pairsArray of objects(MotionEventPair)

Array of MotionDetectedEvent & MotionStoppedEvent pairs.

Example: [{"_id":"64adc55a8d4288001b9c8e34.64adc5508d4288001b9c8e31","event":"MotionEventPair","ts":1699112349,"guardian_id":"5dc5cfe59b12797e2e3e362f","link_id":"4C72900A6B.30894ab76326","intensity_window":[0.3,0.56,0.43,0.27,0.13,0,0.04],"loc_name":"","link_dst_name":"4C72900A6B","link_src_name":"30894ab76326","evt_detected_ts":1689109839,"evt_stopped_ts":1689109850,"debug":{"linkSens":{},"msad":[187.22],"links":["4C72900A6B.30894ab76326"],"mconf":[80],"sens":1},"network_id":156,"tag":" "}]
statusnumber

Integer showing success code of pairing. 0 means complete failure, 1 means success, 2 means partial success.

failuresArray of objects(MotionEventPairFailure)

Array of pairing failures.

Example: [{"_id":"64de6bbde5b9e4001b6aafba","event":"MotionDetectedEvent","ts":1692298172.06,"failed_reason":"\"mconf\" must contain at least 1 items"}]
Response
application/json
{ "pairs": [ { … } ], "status": 0, "failures": [ { … } ] }

Motion BlocksBeta

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.

Query
frominteger

UTC unix timestamp to search motion from.

tointeger

UTC unix timestamp to query motion until.

density_bucketinteger>= 5

Bucket size of the returned motion block segments in seconds.

Default 120
state_bucketinteger>= 5

Bucket size for motion state values. Larger sizes will tend to ignore shorter periods of lesser states.

Default 1800
statesinteger

Which states to include, values are any combination of [0,1,2,3]. Response will return blocks of single state, i.e. continuous motion while moving from 2 to 3, will result in motion blocks for 2 and for 3 individually. Default is [2].

Enum0123
curl -i -X GET \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/motion/history/state_blocks?from=0&to=0&density_bucket=120&state_bucket=1800&states=0' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Returns any array of motion blocks. Each block summarizes locations and devices seen, as well as the time range and motion_state of the block. For each density_bucket sized time period, a breakdown of location and density is listed. The breakdown is captured in three parallel lists of locations, devices and densities. Friendly names for locations and devices are used when available, defaulting to MAC addresses (without the ":" when not available.

Bodyapplication/jsonArray [
devicesArray of strings
location_historyArray of objects
locationsArray of strings
startinteger
stateinteger
stopinteger
]
Response
application/json
[ { "devices": [ … ], "location_history": [ … ], "locations": [ … ], "start": 1708632120, "state": 0, "stop": 1708632960 } ]

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.