Skip to content

Cognitive Systems App Cloud API

The App Cloud APIs expose the Core API endpoints, but with the addition of adding per user authentication and authorization. For example, you may choose to build with App Cloud APIs when developing for a mobile platform.

Download OpenAPI description
Languages
Servers
Mock server
https://docs.cognitivesystems.com/_mock/assets/specs/api/app_cloud/
https://docs.cognitivesystems.com/api/v1/

Overview

Operations

Out of Box

Operations

Logging In

Operations

Geofencing

Operations

Account Management

Operations

Network Settings

Operations

Sounding v2

Operations

Update Global Settings

Request

This endpoint allows the manipulation of key global configuration options for leaf/node (where applicable) sounding behaviour.

Security
Authorization
Query
updateboolean

Default: false When true the new configuration is immediately propagated to the network this node is part of.

If this value is false, the change will be propagated to edge either when the device is rebooted or an update is triggered.

Bodyapplication/json
zone_priority_listArray of strings

The zone_priority_list is a list of locations within a WiFi Motion network that is configured by the end user. The list indicates which rooms are within the user's dwelling and can be used to map WiFi devices with the rooms that they are located in. The zone_priority_list is used to help determine which devices to be used for placement when the Default Sounding Mode is enabled. The order of the list identifies the user's priorities, with the locations at the top of the list being considered the top priority.

motion_events_enabledinteger

Enable motion events. On detected motion, the network emits a MotionDetectedEvent.

Enum01
device_eventsinteger

Enable Device Connection Events.

Requires global sounding_mode to equal deny and individual devices' sounding_mode to equal allow. When the connection state of device changes, an event is emitted. Possible events are: DeviceConnectedEvent, DeviceDisconnectedEvent and DeviceTimedOutEvent

Enum01
motion_history_enablednumber

Enable historical motion data from the network. The data can be queried through the Motion History APIs.

Enum01
mesh_auto_disableinteger

Disable motion detection on all current and added mesh nodes.

Enum01
motion_events_armedinteger

Enable storage of motion events. Requires motion_events_enabled to be enabled. The stored events can be queried through the Events APIs.

Enum01
motion_pausedinteger

Pauses all motion detection. While paused, the network can't receive setting changes.

Enum01
leafblower_cutoffnumber(float)[ -1.1 .. 1 ]

Advanced - Minimum score for device selection algorithm. Set to -1.1 to ignore device quality, and always use them for motion detection. This feature should be used in conjunction with the sounding_mode features.

link_limitnumber[ 0 .. 10 ]

Maximum number of motion-detecting devices per access point or mesh node

pet_modeinteger

When enabled, pet motion is less likely to generate a MotionDetectedEvent. Can only be used when global sensitivity is set to high (1.0) and all clients' sensitivity_mode is global.

Enum01
cooldowninteger(seconds)

Represents the duration of inactivity following a MotionDetectedEvent, that the network keeps monitoring for motion. Once inactivity is observed, the network emits a MotionStoppedEvent and concludes the event window.

sensitivitynumber(float)

Global motion detection sensitivity (1.0 - high, 2.0 - medium, 3.0 - low, 7.0 - very-low)

sounding_modestring

This parameter controls the default leaf selection policy for the network, the two policy modes are allow and deny.

Allow mode: leafs will be selected as best determined by leaf blower. Leaf(s) can be blocked from selection by setting txenble=0 for that leaf(s).

Deny mode: leafs that are not explicitly listed via a whitelist will be disallowed from sounding.

Note switching this mode will clear any existing device device availability settings and all devices will revert to available for allow mode or unavailable for deny mode.

Enum"allow""deny"
curl -i -X PATCH \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/app_cloud/sounding/settings?update=true' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "cooldown": 20,
    "leafblower_cutoff": -1.1
  }'

Responses

Bodyapplication/json
statusinteger

0 failure

1 full success

2 some changes failed

3 an IoT update was requested but network has not yet started up

successinteger

1 if the operation was successful, 0 otherwise

detailsobject(WarningErrors)

The list of warnings or errors that occurred during processing of this request.

Response
application/json
{ "status": 0, "success": 0, "details": { "warnings": [], "errors": [] } }

Get Client State

Request

This endpoint allows client-level sounding control and feedback.

Security
Authorization
curl -i -X GET \
  https://docs.cognitivesystems.com/_mock/assets/specs/api/app_cloud/sounding/clients \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
devicesArray of objects(SoundingClientDeviceStatus)
Response
application/json
{ "devices": [ { … }, { … } ] }

Set Client Config

Request

This endpoint allows client-level sounding control and feedback.

Security
Authorization
Query
updateboolean

Default: false When true the new configuration is immediately propagated to the network this node is part of.

If this value is false, the change will be propagated to edge either when the device is rebooted or an update is triggered.

Bodyapplication/json
devicesArray of objects(SoundingClientDeviceConfig)required
Example: [{"id":0,"location":"LocationA"},{"mac":"00:11:22:33:44:55","sensitivity":1,"sounding_mode":"allow"}]
devices[].​macstring

The Mac address of the target device.

Example: "22:33:44:ff:ee:dd"
devices[].​device_idstring

Contains the Serial number, Node Id, or Device ID.

devices[].​idstring

Internal node_id or device_id of the target node.

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.

Example: "name"
devices[].​locationstring

Device location name assigned to the Device or Node. Maximum of 256 characters, supporting letters, spaces, digits, with only the following special characters: =, +, -, _, @, !. Supports base64 encoding. Can also be an empty string.

Example: "location"
devices[].​sensitivity_modestring

Indicates whether the device is using the global sensitivity setting or is being overridden at the device level.

Enum"override""global"
devices[].​sensitivitynumber

Current sensitivity of the device

Only valid when sensitivity_mode = override, otherwise an error will be returned.

devices[].​sounding_modestring

Controls if the device can be used for sounding.

Enum"allow""deny"
Example: "allow"
devices[].​sounding_meshstring

Applicable only to nodes. Controls if the node will accept or reject sounding on mesh links.

Enum"allow""deny"
curl -i -X PATCH \
  'https://docs.cognitivesystems.com/_mock/assets/specs/api/app_cloud/sounding/clients?update=true' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "devices": [
      {
        "id": 0,
        "location": "LocationA"
      },
      {
        "mac": "00:11:22:33:44:55",
        "sensitivity": 1,
        "sounding_mode": "allow"
      }
    ]
  }'

Responses

Bodyapplication/json
statusinteger

0 failure

1 full success

2 some changes failed

3 an IoT update was requested but network has not yet started up

successinteger

1 if the operation was successful, 0 otherwise

detailsobject(WarningErrors)

The list of warnings or errors that occurred during processing of this request.

Response
application/json
{ "status": 0, "success": 0, "details": { "warnings": [], "errors": [] } }

Events, History, and Visualizations

Operations

Household Insights

Operations

Zone Priority

Operations

Universal Alerting

Operations

Meta

Operations

Sensor Integration

Operations