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

Network event history

Request

Retrieve a list of 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

To go FORWARD in time, provide the UTC timestamp of the newest report client has received.

tointeger

To go BACK in time, provide the UTC timestamp of the oldest report client has received.

filterstring

Only return a particular category of event: Link, Network, Motion

lastinteger

Maximum number of events to return, default is 10

Default 10
sortboolean

When true the returned events will be post-sorted by timestamp (in case it's possible they were written out of order)

Default false
event_typesstring

Specifies the event parameter used to filter the query results

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

Responses

200 - OK

Bodyapplication/jsonArray [
_idstring

Event uuid (for tagging)

categorystringrequired

Event category (for filtering)

Enum"Link""Network""Motion""System"
locArray of objects

The loc field provides the MAC addresses near which the motion has been localized. The values within the link_id field are split, and then added to the loc values.

detailobject

Event detail k/v pairs

link_dst_namestring

The friendly name of the link that created the event. This will also be the same identifier that is seen at the beginning of the link_id field.

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.

tsnumber(float)required

UTC timestamp

evt_detected_tsnumber(float)

Present in MotionStoppedEvent. References the UTC timestamp of preceding MotionDetectedEvent.

intensity_windowArray of numbers(float)

Array of float, of length guardian_config.motion_events.density_window -1 (Nominally len 7). Corresponds to the motion intensity values in the integration buffer at the time of the DetectedEvent.

link_idstring

The link_id field is used to describe the two devices that are involved in detecting motion. The link_id is in the format of link_dst_name.link_src_name.

loc_namestring

The loc_name field provides a description based the information available as to where motion was likely to have occurred within the network.

tagstring

Event tag. Note that this field is always space-padded to 10 characters.

link_src_namestring

The friendly name of the link that received the event. This will also be the same identifier that is seen at the end of the link_id field.

guardian_idstringrequired

Guardian deviceId

node_idinteger

Database id of this node that generate the event

deviceIdstring

Device identification, such as mac address

node_namestring

Alternative device identification, that can be used by vendor from deviceId

debugobject(MotionStoppedEventDebug)

Motion detection parameters from event generator. Used for debug and sensitivity calibration purposes. Present in MotionStoppedEvent on newer firmware.

armedinteger

Feedback of armed from GuardianConfig.motion_events

If 0, this event will not be stored in history or pushed to the user.

eventstringrequired

Event identifier

Enum"MotionDetectedEvent""MotionStoppedEvent""LinkConnectedEvent""LinkDisconnectedEvent""LinkLowThroughputEvent""LinkCreatedEvent""MemberArrivedEvent""MemberLeftEvent""MemberJoinedEvent""MemberRemovedEvent"
_consumerstring

The consumer for Custom Alerts.

dataobject

Data from Custom Alerts.

]
Response
application/json
[ { "_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": { … } } ]

Event creation

Request

Creates a new event, which must have all fields in the event schema populated. Note that the tag attribute will be ignored if provided. Tags can be applied after the event has been created.

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
tsnumber(float)required

UTC timestamp

guardian_idstring

Guardian deviceId

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.

categorystringrequired

Event category (for filtering)

Enum"Link""Network""Motion""System""User""Device""Internal"
eventstringrequired

Event identifier

Enum"MotionDetectedEvent""MotionStoppedEvent""LinkConnectedEvent""LinkDisconnectedEvent""LinkLowThroughputEvent""LinkCreatedEvent""MemberArrivedEvent""MemberLeftEvent""MemberJoinedEvent""MemberRemovedEvent"
deviceIdstring

Device identification, such as mac address

curl -i -X POST \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/events/create' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "ts": 0.1,
    "guardian_id": "string",
    "network_id": 0,
    "category": "Link",
    "event": "MotionDetectedEvent",
    "deviceId": "string"
  }'

Responses

Event stored OK

Event tagging

Request

Adds a string based tag to an event. Tags greater than 10 characters are truncated.

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
eventidstring
tagstring
curl -i -X POST \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/events/tag?eventid=string&tag=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Event stored OK

Bodyapplication/json
_idstring

Event uuid (for tagging)

categorystringrequired

Event category (for filtering)

Enum"Link""Network""Motion""System"
locArray of objects

The loc field provides the MAC addresses near which the motion has been localized. The values within the link_id field are split, and then added to the loc values.

detailobject

Event detail k/v pairs

link_dst_namestring

The friendly name of the link that created the event. This will also be the same identifier that is seen at the beginning of the link_id field.

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.

tsnumber(float)required

UTC timestamp

evt_detected_tsnumber(float)

Present in MotionStoppedEvent. References the UTC timestamp of preceding MotionDetectedEvent.

intensity_windowArray of numbers(float)

Array of float, of length guardian_config.motion_events.density_window -1 (Nominally len 7). Corresponds to the motion intensity values in the integration buffer at the time of the DetectedEvent.

link_idstring

The link_id field is used to describe the two devices that are involved in detecting motion. The link_id is in the format of link_dst_name.link_src_name.

loc_namestring

The loc_name field provides a description based the information available as to where motion was likely to have occurred within the network.

tagstring

Event tag. Note that this field is always space-padded to 10 characters.

link_src_namestring

The friendly name of the link that received the event. This will also be the same identifier that is seen at the end of the link_id field.

guardian_idstringrequired

Guardian deviceId

node_idinteger

Database id of this node that generate the event

deviceIdstring

Device identification, such as mac address

node_namestring

Alternative device identification, that can be used by vendor from deviceId

debugobject(MotionStoppedEventDebug)

Motion detection parameters from event generator. Used for debug and sensitivity calibration purposes. Present in MotionStoppedEvent on newer firmware.

armedinteger

Feedback of armed from GuardianConfig.motion_events

If 0, this event will not be stored in history or pushed to the user.

eventstringrequired

Event identifier

Enum"MotionDetectedEvent""MotionStoppedEvent""LinkConnectedEvent""LinkDisconnectedEvent""LinkLowThroughputEvent""LinkCreatedEvent""MemberArrivedEvent""MemberLeftEvent""MemberJoinedEvent""MemberRemovedEvent"
_consumerstring

The consumer for Custom Alerts.

dataobject

Data from Custom Alerts.

Response
application/json
{ "_id": "string", "category": "Link", "loc": [ null ], "detail": { "property1": "string", "property2": "string" }, "link_dst_name": "string", "network_id": 0, "ts": 0.1, "evt_detected_ts": 0.1, "intensity_window": [ 0.1 ], "link_id": "string", "loc_name": "string", "tag": "string", "link_src_name": "string", "guardian_id": "string", "node_id": 0, "deviceId": "string", "node_name": "string", "debug": { "linkSens": {}, "msad": [ … ], "links": [ … ], "mconf": [ … ], "sens": 1 }, "armed": 0, "event": "MotionDetectedEvent", "_consumer": "string", "data": { "title": "string", "uuid": "string", "id": 0, "first_name": "string", "last_name": "string", "sub": "string", "user": { … } } }

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.