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

Find by Guardian deviceId

Request

Security
ApiKey
Path
guardian_deviceidstringrequired

Guardian device ID

Query
arrayboolean

The default behavior is to return an array when there are multiple results and a single object in the case of a single result. When this parameter is true the response will always be an array.

Default false
expandNodesboolean

If true, will also return an array of all nodes belonging to this network under the 'nodes' key.

Default false
curl -i -X GET \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/find/device/{guardian_deviceid}?array=false&expandNodes=false' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK.

Bodyapplication/jsonArray [
last_guardian_statusobject or null(GuardianStatusReport)

In a WiFi Motion network, guardian-status messages are transmitted in an approximate 5 minute intervals. Guardian-status messages contain the state information of a WiFi Motion node or network, such as current connected devices, software versions, various metrics, and more.

radar_configobject(RadarConfig)

Configuration that's shared by all Nodes in this Motion Network.

guardian_configobject(GuardianConfig)

Configuration for gateway or mesh root.

created_atnumber(float)required

UTC second timestamp of network creation.

updated_atnumber(float)required

UTC second timestamp of last configuration update.

guardian_idstringrequired

Unique network identifier. Populated by location_id on network creation.

last_heardnumber(float)

UTC timestamp of last guardian-status message.

metaobject(MetaConfig)

Network metadata storage.

master_node_idintegerrequired

Unique ID of gateway or mesh root node.

shard_idintegerrequired

Identifies the shard the network is stored in.

guardian_typestringrequired

String representation of network's shard in shard-shard-id format.

disconnected_atnumber(float)

UTC second timestamp of recorded disconnection.

nodesArray of objects(MotionNetworkRadarNode)

When expandNodes=true or in a configuration update context, the nodes part of this network are returned in this array.

idinteger(int64)required

Unique network integer identifier.

connection_statusboolean or null

Current connection status (null if has never been connected).

connection_reportobject or null(GuardianEvent)
device_infoobject

Mac-address keyed device info for all clients in this network.

]
Response
application/json
[ { "last_guardian_status": { … }, "radar_config": { … }, "guardian_config": { … }, "created_at": 0.1, "updated_at": 0.1, "guardian_id": "string", "last_heard": 0.1, "meta": { … }, "master_node_id": 0, "shard_id": 0, "guardian_type": "string", "disconnected_at": 0.1, "nodes": [ … ], "id": 0, "connection_status": true, "connection_report": { … }, "device_info": { … } } ]

Find by Meta field

Request

Note: You will have to urlencode the query string here, use the library provided by your runtime.

Example queries where 'val' is a partial string match (use % as wildcard char):

meta->>'guardian_env' (this will match the guardian_env key of the network meta blob)

meta->'dwm'->>'systemName' (this will match the systemName key of the dwm object in the network meta blob)

Example query checking for existence of a field (omit val to directly execute):

meta->'dwm' \\? 'systemName'

Security
ApiKey
Path
querystringrequired

Guardian device ID

Query
valstring

Value to search for

arrayboolean

The default behavior is to return an array when there are multiple results and a single object in the case of a single result. When this parameter is true the response will always be an array.

Default false
expandNodesboolean

If true, will also return an array of all nodes belonging to this network under the 'nodes' key.

Default false
curl -i -X GET \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/find/meta/{query}?val=string&array=false&expandNodes=false' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK.

Bodyapplication/jsonArray [
last_guardian_statusobject or null(GuardianStatusReport)

In a WiFi Motion network, guardian-status messages are transmitted in an approximate 5 minute intervals. Guardian-status messages contain the state information of a WiFi Motion node or network, such as current connected devices, software versions, various metrics, and more.

radar_configobject(RadarConfig)

Configuration that's shared by all Nodes in this Motion Network.

guardian_configobject(GuardianConfig)

Configuration for gateway or mesh root.

created_atnumber(float)required

UTC second timestamp of network creation.

updated_atnumber(float)required

UTC second timestamp of last configuration update.

guardian_idstringrequired

Unique network identifier. Populated by location_id on network creation.

last_heardnumber(float)

UTC timestamp of last guardian-status message.

metaobject(MetaConfig)

Network metadata storage.

master_node_idintegerrequired

Unique ID of gateway or mesh root node.

shard_idintegerrequired

Identifies the shard the network is stored in.

guardian_typestringrequired

String representation of network's shard in shard-shard-id format.

disconnected_atnumber(float)

UTC second timestamp of recorded disconnection.

nodesArray of objects(MotionNetworkRadarNode)

When expandNodes=true or in a configuration update context, the nodes part of this network are returned in this array.

idinteger(int64)required

Unique network integer identifier.

connection_statusboolean or null

Current connection status (null if has never been connected).

connection_reportobject or null(GuardianEvent)
device_infoobject

Mac-address keyed device info for all clients in this network.

]
Response
application/json
[ { "last_guardian_status": { … }, "radar_config": { … }, "guardian_config": { … }, "created_at": 0.1, "updated_at": 0.1, "guardian_id": "string", "last_heard": 0.1, "meta": { … }, "master_node_id": 0, "shard_id": 0, "guardian_type": "string", "disconnected_at": 0.1, "nodes": [ … ], "id": 0, "connection_status": true, "connection_report": { … }, "device_info": { … } } ]

Find by Node ID of Master

Request

Security
ApiKey
Path
master_idintegerrequired

ID of Master Radar Node

Query
arrayboolean

The default behavior is to return an array when there are multiple results and a single object in the case of a single result. When this parameter is true the response will always be an array.

Default false
expandNodesboolean

If true, will also return an array of all nodes belonging to this network under the 'nodes' key.

Default false
curl -i -X GET \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/find/masterid/{master_id}?array=false&expandNodes=false' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK.

Bodyapplication/json
One of:
Array [
last_guardian_statusobject or null(GuardianStatusReport)

In a WiFi Motion network, guardian-status messages are transmitted in an approximate 5 minute intervals. Guardian-status messages contain the state information of a WiFi Motion node or network, such as current connected devices, software versions, various metrics, and more.

radar_configobject(RadarConfig)

Configuration that's shared by all Nodes in this Motion Network.

guardian_configobject(GuardianConfig)

Configuration for gateway or mesh root.

created_atnumber(float)required

UTC second timestamp of network creation.

updated_atnumber(float)required

UTC second timestamp of last configuration update.

guardian_idstringrequired

Unique network identifier. Populated by location_id on network creation.

last_heardnumber(float)

UTC timestamp of last guardian-status message.

metaobject(MetaConfig)

Network metadata storage.

master_node_idintegerrequired

Unique ID of gateway or mesh root node.

shard_idintegerrequired

Identifies the shard the network is stored in.

guardian_typestringrequired

String representation of network's shard in shard-shard-id format.

disconnected_atnumber(float)

UTC second timestamp of recorded disconnection.

nodesArray of objects(MotionNetworkRadarNode)

When expandNodes=true or in a configuration update context, the nodes part of this network are returned in this array.

idinteger(int64)required

Unique network integer identifier.

connection_statusboolean or null

Current connection status (null if has never been connected).

connection_reportobject or null(GuardianEvent)
device_infoobject

Mac-address keyed device info for all clients in this network.

]
Response
application/json
{ "last_guardian_status": { "leafblower": { … }, "network_id": 0, "shard_id": "string", "radars": { … }, "ts": 0.1, "last_motion": 0, "motion_tripped": 0, "startup": true, "version": { … }, "health": { … }, "capabilities": [ … ], "coverage": { … }, "guardian_id": "string", "dhcp": { … }, "motion_enabled": 0, "armed": 0, "paused": true, "motion_suppressed": 0 }, "radar_config": { "dynamic_sensitivity": "string", "bridge": { … }, "motion80211": { … } }, "guardian_config": { "history_motion": { … }, "device_events": { … }, "live_motion": { … }, "link_events": { … }, "leafblower": { … }, "debug": { … }, "user_priority": [ … ], "motion_events": { … } }, "created_at": 0.1, "updated_at": 0.1, "guardian_id": "string", "last_heard": 0.1, "meta": { "dwm": { … }, "home": { … }, "location": { … }, "neuron_env": "string", "motion_paused": 0, "mqSecureRadarPort": 0, "auto_segment": 0, "guardian_env": "string", "friendly_name": { … }, "new_network_id": 0, "old_network_id": 0, "new_guardian_id": "string", "gatekeeper_redirect": "string", "property1": "string", "property2": "string" }, "master_node_id": 0, "shard_id": 0, "guardian_type": "string", "disconnected_at": 0.1, "nodes": [ { … } ], "id": 0, "connection_status": true, "connection_report": { "_id": "string", "category": "Link", "loc": [ … ], "detail": { … }, "link_dst_name": "string", "network_id": 0, "ts": 0.1, "evt_detected_ts": 0.1, "intensity_window": [ … ], "link_id": "string", "loc_name": "string", "tag": "string", "link_src_name": "string", "guardian_id": "string", "node_id": 0, "deviceId": "string", "node_name": "string", "debug": { … }, "armed": 0, "event": "MotionDetectedEvent", "_consumer": "string", "data": { … } }, "device_info": { "property1": { … }, "property2": { … } } }

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

Management

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