# Queries
These are a collection of endpoints that allow you to query and retrieve Birds that are connected to your Console.
Endpoints
# All Birds
GET /api/v1/devices/all
Retrieve a list of all connected Birds.
Required Parameters
auth_token string
A valid auth token
Optional Parameters
tz string
Timezone for standardised timestamps (fields that end in "_std"). Use the pytz names to specify the timezone
Response
JSON Structure of all connected Birds.
Example
Response
{
"devices": [
{
"description": "SVR Room",
"first_seen": "Tue Apr 14 2020 22:11:18 GMT+0000 (UTC)",
"first_seen_std": "2020-04-14 22:11:18 UTC+0000",
"gcp_project": "",
"gcp_zone": "",
"id": "<node_id>",
"ignore_notifications": false,
"ignore_notifications_disconnects": false,
"ignore_notifications_reconnects": false,
"instance_id": "",
"ip_address": "192.168.1.2",
"ippers": "linux",
"last_seen": "Sun Apr 26 2020 20:34:02 GMT+0000 (UTC)",
"last_seen_std": "2020-04-26 20:34:02 UTC+0000",
"live": true,
"local_time": "2020-04-26 20:33:55",
"location": "SVR Room",
"mac_address": "00:00:00:00:00:00",
"migration_status": "",
"name": "ExampleBird",
"netmask": "24",
"note": "",
"outside_bird": false,
"public_ip": "",
"personality": "linux-db",
"region_id": "",
"sensor": "thinkstcanary",
"subnet": "192.168.1.0/24",
"updated": "Sun, 26 Apr 2020 20:34:02 GMT",
"updated_std": "2020-04-26 20:34:02 UTC+0000",
"updated_timestamp": 1587933242,
"uptime": 1029740,
"uptime_age": "1 week",
"version": "2.3.1"
}
],
"feed": "All Devices",
"result": "success",
"updated": "Sun, 26 Apr 2020 20:34:02 GMT",
"updated_std": "2020-04-26 20:34:02 UTC+0000",
"updated_timestamp": 1587933242
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Live Birds
GET /api/v1/devices/live
Retrieve all live Birds.
Required Parameters
auth_token string
A valid auth token
Optional Parameters
tz string
Timezone for standardised timestamps (fields that end in "_std"). Use the pytz names to specify the timezone
Response
JSON Structure of live devices
Example
Response
{
"devices": [
{
"description": "SVR Room",
"first_seen": "Tue Apr 14 2020 22:11:18 GMT+0000 (UTC)",
"first_seen_std": "2020-04-14 22:11:18 UTC+0000",
"gcp_project": "",
"gcp_zone": "",
"id": "<node_id>",
"ignore_notifications": false,
"ignore_notifications_disconnects": false,
"ignore_notifications_reconnects": false,
"instance_id": "",
"ip_address": "192.168.1.2",
"ippers": "linux",
"last_seen": "Sun Apr 26 2020 20:36:32 GMT+0000 (UTC)",
"last_seen_std": "2020-04-26 20:36:32 UTC+0000",
"live": true,
"local_time": "2020-04-26 20:36:25",
"location": "SVR Room",
"mac_address": "00:00:00:00:00:00",
"migration_status": "",
"name": "ExampleBird",
"netmask": "24",
"note": "",
"outside_bird": false,
"public_ip": "",
"personality": "linux-db",
"region_id": "",
"sensor": "thinkstcanary",
"subnet": "192.168.1.0/24",
"updated": "Sun, 26 Apr 2020 20:36:32 GMT",
"updated_std": "2020-04-26 20:36:32 UTC+0000",
"updated_timestamp": 1587933392,
"uptime": 1029890,
"uptime_age": "1 week",
"version": "2.3.1"
}
],
"feed": "Live Devices",
"result": "success",
"updated": "Sun, 26 Apr 2020 20:36:32 GMT",
"updated_std": "2020-04-26 20:36:32 UTC+0000",
"updated_timestamp": 1587933392
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Dead Birds
GET /api/v1/devices/dead
Retrieve all connected but offline Birds.
Required Parameters
auth_token string
A valid auth token
Optional Parameters
tz string
Timezone for standardised timestamps (fields that end in "_std"). Use the pytz names to specify the timezone
Response
JSON Structure of dead Birds
Example
Response
{
"devices": [
{
"description": "SVR Room",
"first_seen": "Tue Apr 14 2020 22:11:18 GMT+0000 (UTC)",
"first_seen_std": "2020-04-14 22:11:18 UTC+0000",
"gcp_project": "",
"gcp_zone": "",
"id": "<node_id>",
"ignore_notifications": false,
"ignore_notifications_disconnects": false,
"ignore_notifications_reconnects": false,
"instance_id": "",
"ip_address": "192.168.1.2",
"ippers": "linux",
"last_seen": "Mon Apr 27 2020 09:06:19 GMT+0000 (UTC)",
"last_seen_std": "2020-04-27 09:06:19 UTC+0000",
"live": false,
"local_time": "2020-04-27 09:06:18",
"location": "SVR Room",
"mac_address": "00:00:00:00:00:00",
"migration_status": "",
"name": "ExampleBird",
"netmask": "24",
"note": "",
"outside_bird": false,
"public_ip": "",
"personality": "linux-db",
"region_id": "",
"sensor": "thinkstcanary",
"subnet": "192.168.1.0/24",
"updated": "Mon, 27 Apr 2020 09:06:19 GMT",
"updated_std": "2020-04-27 09:06:19 UTC+0000",
"updated_timestamp": 1587978379,
"uptime": 144,
"uptime_age": "2 minutes",
"version": "2.3.1"
}
],
"feed": "Dead Devices",
"result": "success",
"updated": "Mon, 27 Apr 2020 09:06:19 GMT",
"updated_std": "2020-04-27 09:06:19 UTC+0000",
"updated_timestamp": 1587978379
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Filter Birds
GET /api/v1/devices/filter
Retrieve all Birds that match a specific filter.
Required Parameters
auth_token string
A valid auth token
Optional Parameters
filter_str string
String to match on
Response
JSON Structure of filtered Birds.
Example
Response
{
"devices": [
{
"autoreg_time": "1586902237.728621",
"current_settings": "devicesettings:<device_hash>:1586903523",
"description": "SVR Room",
"device_id": "<node_id>",
"device_id_hash": "<device_hash>",
"device_live": "True",
"device_version": "2.3.1",
"first_seen": "1586902278",
"first_seen_age": "1 week",
"first_seen_printable": "Tue Apr 14 2020 22:11:18 GMT+0000 (UTC)",
"first_seen_std": "2020-04-14 22:11:18 UTC+0000",
"flock_id": "flock:default",
"ghost": "False",
"id": "<node_id>",
"ignore_notifications_disconnect": "False",
"ignore_notifications_general": "False",
"ip_address": "192.168.1.2",
"ippers": "linux",
"last_dns_settings_message_time": "2020-04-14 22:31:53",
"last_heartbeat": "1587933932",
"last_heartbeat_age": "16 seconds",
"last_heartbeat_printable": "Sun Apr 26 2020 20:45:32 GMT+0000 (UTC)",
"last_seen_std": "2020-04-26 20:45:32 UTC+0000",
"live": "False",
"local_time": "2020-04-26 20:45:25",
"logtype": "1004",
"mac": "00:00:00:00:00:00",
"mac_address": "00:00:00:00:00:00",
"name": "ExampleBird",
"netmask": "24",
"node_id": "<node_id>",
"reconnect_count": "0",
"sensor": "thinkstcanary",
"service_count": "21",
"uptime": "1030430",
"uptime_age": "1 week",
"was_rollback": "False"
}
],
"result": "success"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Bird Info
GET /api/v1/device/info
Retrieve info for a specified Bird.
Required Parameters
auth_token string
A valid auth token
node_id string
A valid Canary node_id
Optional Parameters
settings boolean
Defaults to: false
Whether to include a dict of the Bird settings
exclude_fixed_settings boolean
Defaults to: false
Whether to include settings which the user can not change
Response
JSON structure of Bird's current information.
Example
Response
{
"device": {
"autoreg_time": "1586902237.728621",
"current_settings": "devicesettings:<device_hash>:1586903523",
"description": "SVR Room",
"device_id": "<node_id>",
"device_id_hash": "<device_hash>",
"device_live": "True",
"device_version": "2.3.1",
"first_seen": "1586902278",
"first_seen_age": "1 week",
"first_seen_printable": "Tue Apr 14 2020 22:11:18 GMT+0000 (UTC)",
"first_seen_std": "2020-04-14 22:11:18 UTC+0000",
"flock_id": "flock:default",
"ghost": "False",
"id": "<node_id>",
"ignore_notifications_disconnect": "False",
"ignore_notifications_general": "False",
"ip_address": "192.168.1.2",
"ippers": "linux",
"last_dns_settings_message_time": "2020-04-27 08:17:16",
"last_heartbeat": "1587982249",
"last_heartbeat_age": "5 seconds",
"last_heartbeat_printable": "Mon Apr 27 2020 10:10:49 GMT+0000 (UTC)",
"last_seen_std": "2020-04-27 10:10:49 UTC+0000",
"live": "False",
"local_time": "2020-04-27 10:10:48",
"location": "SVR Room",
"logtype": "1004",
"mac": "00:00:00:00:00:00",
"mac_address": "00:00:00:00:00:00",
"name": "ExampleBird",
"netmask": "24",
"node_id": "<node_id>",
"reconnect_count": "1",
"sensor": "thinkstcanary",
"service_count": "21",
"settings": {
...
},
"unacknowledged_incidents": [],
"uptime": "4014",
"uptime_age": "1 hour",
"was_rollback": "False"
},
"result": "success"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Device IPs
GET /api/v1/device/ips
Retrieve a list of Device IP addresses.
Required Parameters
auth_token string
A valid auth token
Optional Parameters
download boolean
Defaults to: false
Whether to return a simply structured .txt file of the IPs
include_annotations boolean
Defaults to: false
Whether to include Flock and Device names
flock_id string
Defaults to: false
Limits the returned list to a single Flock
Response
JSON structure of Device IP addresses
Example
Response
{
"ips": {
"flock:a7d0649a9d990c260d9602310ec8f88f": {
"name": "London HQ",
"devices": {
"00000000f9495cec": {
"ip_address": "192.168.1.123",
"name": "NAS01"
},
...
}
},
...
},
"result": "success"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18