{"openapi":"3.1.0","info":{"title":"vergesense-api","version":"2021-03-29"},"servers":[{"url":"https://api.vergesense.com"}],"components":{"securitySchemes":{"sec0":{"type":"apiKey","in":"header","name":"vs-api-key","x-default":""}}},"security":[{"sec0":[]}],"paths":{"/metrics/hourly/spaces":{"get":{"summary":"/metrics/hourly/spaces","description":"Hourly metrics for spaces","operationId":"metrics_hourly_spaces","parameters":[{"name":"sort","in":"query","description":"Comma separated list of attributes used to sort the collection. Use a negative(-) sign to reverse the order.","schema":{"type":"string","default":"-space_id,-local_date,-local_hour"}},{"name":"fields[metrics_hourly_space]","in":"query","description":"Limit attributes that are included in a request. Comma separated list of attributes.","schema":{"type":"string"}},{"name":"page[number]","in":"query","description":"Page number for pagination.","schema":{"type":"integer","format":"int32","default":1}},{"name":"page[size]","in":"query","description":"Amount of records to return per page. Limit is 1000.","schema":{"type":"integer","format":"int32","default":250}},{"name":"filter[space_type.key]","in":"query","description":"Filter metrics based on its associated space type's key.","schema":{"type":"string"}},{"name":"filter[space_type.name]","in":"query","description":"Filter metrics based on its associated space type's name.","schema":{"type":"string"}},{"name":"filter[building_ref_id]","in":"query","description":"Filter metrics based on its associated space's building_ref_id.","schema":{"type":"string"}},{"name":"filter[floor_ref_id]","in":"query","description":"Filter metrics based on its associated space's floor_ref_id.","schema":{"type":"string"}},{"name":"filter[space_ref_id]","in":"query","description":"Filter metrics based on its associated space's space_ref_id.","schema":{"type":"string"}},{"name":"filter[local_date][gte]","in":"query","description":"Filter metrics where local_date is greater than or equal to value.","schema":{"type":"string","format":"date","example":"2020-11-01"},"example":"2020-11-01"},{"name":"filter[local_date][lte]","in":"query","description":"Filter metrics where local_date is less than or equal to value.","schema":{"type":"string","format":"date"}},{"name":"filter[local_hour][gte]","in":"query","description":"Number between 0-23. Filter metrics where local_hour is greater than or equal to value.","schema":{"type":"integer","format":"int32","example":8},"example":8},{"name":"filter[local_hour][lte]","in":"query","description":"Number between 0-23. Filter metrics where local_hour is less than or equal to value.","schema":{"type":"integer","format":"int32","example":16},"example":16}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"data\": [\n {\n \"id\": \"1\",\n \"type\": \"metrics_hourly_space\",\n \"attributes\": {\n \"local_date\": \"2021-11-01\",\n \"local_hour\": 8,\n \"capacity\": 25,\n \"avg_person_count\": \"0.5\",\n \"min_person_count\": 0,\n \"max_person_count\": 25,\n \"minutes_actively_occupied\": \"21.6\",\n \"minutes_passively_occupied\": null,\n \"avg_pct_utilization\": 0.04,\n \"min_pct_utilization\": 0.0,\n \"max_pct_utilization\": 2.0,\n \"pct_time_actively_occupied\": \"0.36\",\n \"pct_time_passively_occupied\": null\n },\n \"relationships\": {\n \"space\": {\n \"data\": {\n \"id\": \"1\",\n \"type\": \"space\"\n }\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"1\",\n \"type\": \"space\",\n \"attributes\": {\n \"name\": \"Conference Room 1\",\n \"space_ref_id\": \"conference_room_1\",\n \"building_ref_id\": \"building_1\",\n \"floor_ref_id\": \"floor_1\",\n },\n \"relationships\": {\n \"space_type\": {\n \"data\": {\n \"id\": \"3\",\n \"type\": \"space_type\"\n }\n }\n }\n },\n {\n \"id\": \"3\",\n \"type\": \"space_type\",\n \"attributes\": {\n \"name\": \"Conference Room\",\n \"key\": \"conference_room\"\n }\n }\n ],\n \"links\": {\n \"next\": \"/metrics/hourly/spaces?filter[local_date][gte]=2020-11-01&filter[local_hour][gte]=8&filter[local_hour][lte]=16&page[number]=2&page[size]=0&sort=-local_date,local_hour\",\n \"prev\": null\n }\n}"}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{\n \"errors\": [\n {\n \"status\": \"400\",\n \"source\": {\n \"parameter\": \"filter[local_date]\"\n },\n \"title\": \"Invalid Parameter\",\n \"detail\": \"Invalid Date\"\n }\n ]\n}"}},"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","example":"400"},"source":{"type":"object","properties":{"parameter":{"type":"string","example":"filter[local_date]"}}},"title":{"type":"string","example":"Invalid Parameter"},"detail":{"type":"string","example":"Invalid Date"}}}}}}}}}},"deprecated":false}},"/metrics/hourly/floors":{"get":{"summary":"/metrics/hourly/floors","description":"Hourly metrics for floors","operationId":"metrics_hourly_floors","parameters":[{"name":"sort","in":"query","description":"Comma separated list of attributes used to sort the collection. Use a negative(-) sign to reverse the order.","schema":{"type":"string","default":"-floor_id,-local_date,-local_hour"}},{"name":"fields[metrics_hourly_space]","in":"query","description":"Limit attributes that are included in a request. Comma separated list of attributes.","schema":{"type":"string"}},{"name":"page[number]","in":"query","description":"Page number for pagination.","schema":{"type":"integer","format":"int32","default":1}},{"name":"page[size]","in":"query","description":"Amount of records to return per page. Limit is 1000.","schema":{"type":"integer","format":"int32","default":250}},{"name":"filter[building_ref_id]","in":"query","description":"Filter metrics based on its associated space's building_ref_id.","schema":{"type":"string"}},{"name":"filter[floor_ref_id]","in":"query","description":"Filter metrics based on its associated space's floor_ref_id.","schema":{"type":"string"}},{"name":"filter[local_date][gte]","in":"query","description":"Filter metrics where local_date is greater than or equal to value.","schema":{"type":"string","format":"date","example":"2020-11-01"},"example":"2020-11-01"},{"name":"filter[local_date][lte]","in":"query","description":"Filter metrics where local_date is less than or equal to value.","schema":{"type":"string","format":"date"}},{"name":"filter[local_hour][gte]","in":"query","description":"Number between 0-23. Filter metrics where local_hour is greater than or equal to value.","schema":{"type":"integer","format":"int32","example":8},"example":8},{"name":"filter[local_hour][lte]","in":"query","description":"Number between 0-23. Filter metrics where local_hour is less than or equal to value.","schema":{"type":"integer","format":"int32","example":16},"example":16}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"data\": [\n {\n \"id\": \"16541760\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 17,\n \"capacity\": 150,\n \"avg_person_count\": \"29.0\",\n \"avg_occupied_person_count\": \"29.0\",\n \"min_person_count\": 28,\n \"max_person_count\": 90,\n \"minutes_actively_occupied\": \"26.0\",\n \"minutes_passively_occupied\": \"11.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609070\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16540025\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 16,\n \"capacity\": 150,\n \"avg_person_count\": \"71.0\",\n \"avg_occupied_person_count\": \"71.0\",\n \"min_person_count\": 20,\n \"max_person_count\": 85,\n \"minutes_actively_occupied\": \"42.0\",\n \"minutes_passively_occupied\": \"6.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609070\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16538284\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 15,\n \"capacity\": 150,\n \"avg_person_count\": \"72.0\",\n \"avg_occupied_person_count\": \"72.0\",\n \"min_person_count\": 47,\n \"max_person_count\": 101,\n \"minutes_actively_occupied\": \"41.0\",\n \"minutes_passively_occupied\": \"0.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609070\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16536494\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 14,\n \"capacity\": 150,\n \"avg_person_count\": \"73.0\",\n \"avg_occupied_person_count\": \"73.0\",\n \"min_person_count\": 25,\n \"max_person_count\": 120,\n \"minutes_actively_occupied\": \"22.0\",\n \"minutes_passively_occupied\": \"5.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609070\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16534720\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 13,\n \"capacity\": 150,\n \"avg_person_count\": \"43.0\",\n \"avg_occupied_person_count\": \"43.0\",\n \"min_person_count\": 8,\n \"max_person_count\": 142,\n \"minutes_actively_occupied\": \"36.0\",\n \"minutes_passively_occupied\": \"12.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609070\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16531087\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 12,\n \"capacity\": 150,\n \"avg_person_count\": \"22.0\",\n \"avg_occupied_person_count\": \"22.0\",\n \"min_person_count\": 17,\n \"max_person_count\": 28,\n \"minutes_actively_occupied\": \"24.0\",\n \"minutes_passively_occupied\": \"3.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609070\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16529236\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 11,\n \"capacity\": 150,\n \"avg_person_count\": \"78.0\",\n \"avg_occupied_person_count\": \"78.0\",\n \"min_person_count\": 13,\n \"max_person_count\": 148,\n \"minutes_actively_occupied\": \"6.0\",\n \"minutes_passively_occupied\": \"14.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609070\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16527348\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 10,\n \"capacity\": 150,\n \"avg_person_count\": \"60.0\",\n \"avg_occupied_person_count\": \"60.0\",\n \"min_person_count\": 47,\n \"max_person_count\": 68,\n \"minutes_actively_occupied\": \"19.0\",\n \"minutes_passively_occupied\": \"8.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609070\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16525451\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 9,\n \"capacity\": 150,\n \"avg_person_count\": \"31.0\",\n \"avg_occupied_person_count\": \"31.0\",\n \"min_person_count\": 0,\n \"max_person_count\": 57,\n \"minutes_actively_occupied\": \"0.0\",\n \"minutes_passively_occupied\": \"1.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609070\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16523573\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 8,\n \"capacity\": 150,\n \"avg_person_count\": \"77.0\",\n \"avg_occupied_person_count\": \"77.0\",\n \"min_person_count\": 23,\n \"max_person_count\": 86,\n \"minutes_actively_occupied\": \"12.0\",\n \"minutes_passively_occupied\": \"34.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609070\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16541763\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 17,\n \"capacity\": 80,\n \"avg_person_count\": \"27.0\",\n \"avg_occupied_person_count\": \"27.0\",\n \"min_person_count\": 16,\n \"max_person_count\": 53,\n \"minutes_actively_occupied\": \"26.0\",\n \"minutes_passively_occupied\": \"21.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609069\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16540024\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 16,\n \"capacity\": 80,\n \"avg_person_count\": \"25.0\",\n \"avg_occupied_person_count\": \"25.0\",\n \"min_person_count\": 17,\n \"max_person_count\": 41,\n \"minutes_actively_occupied\": \"26.0\",\n \"minutes_passively_occupied\": \"2.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609069\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16538286\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 15,\n \"capacity\": 80,\n \"avg_person_count\": \"15.0\",\n \"avg_occupied_person_count\": \"15.0\",\n \"min_person_count\": 0,\n \"max_person_count\": 23,\n \"minutes_actively_occupied\": \"14.0\",\n \"minutes_passively_occupied\": \"3.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609069\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16536497\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 14,\n \"capacity\": 80,\n \"avg_person_count\": \"8.0\",\n \"avg_occupied_person_count\": \"8.0\",\n \"min_person_count\": 0,\n \"max_person_count\": 58,\n \"minutes_actively_occupied\": \"12.0\",\n \"minutes_passively_occupied\": \"23.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609069\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16534698\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 13,\n \"capacity\": 80,\n \"avg_person_count\": \"48.0\",\n \"avg_occupied_person_count\": \"48.0\",\n \"min_person_count\": 24,\n \"max_person_count\": 79,\n \"minutes_actively_occupied\": \"26.0\",\n \"minutes_passively_occupied\": \"3.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609069\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16531091\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 12,\n \"capacity\": 80,\n \"avg_person_count\": \"32.0\",\n \"avg_occupied_person_count\": \"32.0\",\n \"min_person_count\": 0,\n \"max_person_count\": 80,\n \"minutes_actively_occupied\": \"14.0\",\n \"minutes_passively_occupied\": \"9.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609069\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16529237\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 11,\n \"capacity\": 80,\n \"avg_person_count\": \"66.0\",\n \"avg_occupied_person_count\": \"66.0\",\n \"min_person_count\": 9,\n \"max_person_count\": 73,\n \"minutes_actively_occupied\": \"0.0\",\n \"minutes_passively_occupied\": \"4.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609069\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16527349\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 10,\n \"capacity\": 80,\n \"avg_person_count\": \"13.0\",\n \"avg_occupied_person_count\": \"13.0\",\n \"min_person_count\": 9,\n \"max_person_count\": 48,\n \"minutes_actively_occupied\": \"26.0\",\n \"minutes_passively_occupied\": \"4.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609069\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16525454\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 9,\n \"capacity\": 80,\n \"avg_person_count\": \"6.0\",\n \"avg_occupied_person_count\": \"6.0\",\n \"min_person_count\": 4,\n \"max_person_count\": 53,\n \"minutes_actively_occupied\": \"28.0\",\n \"minutes_passively_occupied\": \"1.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609069\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16523551\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 8,\n \"capacity\": 80,\n \"avg_person_count\": \"7.0\",\n \"avg_occupied_person_count\": \"7.0\",\n \"min_person_count\": 0,\n \"max_person_count\": 17,\n \"minutes_actively_occupied\": \"6.0\",\n \"minutes_passively_occupied\": \"20.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609069\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16541761\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 17,\n \"capacity\": 125,\n \"avg_person_count\": \"80.0\",\n \"avg_occupied_person_count\": \"80.0\",\n \"min_person_count\": 18,\n \"max_person_count\": 104,\n \"minutes_actively_occupied\": \"43.0\",\n \"minutes_passively_occupied\": \"7.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609068\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16540026\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 16,\n \"capacity\": 125,\n \"avg_person_count\": \"39.0\",\n \"avg_occupied_person_count\": \"39.0\",\n \"min_person_count\": 25,\n \"max_person_count\": 50,\n \"minutes_actively_occupied\": \"17.0\",\n \"minutes_passively_occupied\": \"17.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609068\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16538266\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 15,\n \"capacity\": 125,\n \"avg_person_count\": \"24.0\",\n \"avg_occupied_person_count\": \"24.0\",\n \"min_person_count\": 0,\n \"max_person_count\": 38,\n \"minutes_actively_occupied\": \"25.0\",\n \"minutes_passively_occupied\": \"11.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609068\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16536488\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 14,\n \"capacity\": 125,\n \"avg_person_count\": \"2.0\",\n \"avg_occupied_person_count\": \"2.0\",\n \"min_person_count\": 0,\n \"max_person_count\": 114,\n \"minutes_actively_occupied\": \"23.0\",\n \"minutes_passively_occupied\": \"25.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609068\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16534707\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 13,\n \"capacity\": 125,\n \"avg_person_count\": \"25.0\",\n \"avg_occupied_person_count\": \"25.0\",\n \"min_person_count\": 10,\n \"max_person_count\": 29,\n \"minutes_actively_occupied\": \"25.0\",\n \"minutes_passively_occupied\": \"7.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609068\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16531089\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 12,\n \"capacity\": 125,\n \"avg_person_count\": \"102.0\",\n \"avg_occupied_person_count\": \"102.0\",\n \"min_person_count\": 60,\n \"max_person_count\": 102,\n \"minutes_actively_occupied\": \"3.0\",\n \"minutes_passively_occupied\": \"45.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609068\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16529235\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 11,\n \"capacity\": 125,\n \"avg_person_count\": \"9.0\",\n \"avg_occupied_person_count\": \"9.0\",\n \"min_person_count\": 7,\n \"max_person_count\": 64,\n \"minutes_actively_occupied\": \"8.0\",\n \"minutes_passively_occupied\": \"24.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609068\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16527350\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 10,\n \"capacity\": 125,\n \"avg_person_count\": \"6.0\",\n \"avg_occupied_person_count\": \"6.0\",\n \"min_person_count\": 2,\n \"max_person_count\": 54,\n \"minutes_actively_occupied\": \"17.0\",\n \"minutes_passively_occupied\": \"6.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609068\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16525450\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 9,\n \"capacity\": 125,\n \"avg_person_count\": \"19.0\",\n \"avg_occupied_person_count\": \"19.0\",\n \"min_person_count\": 12,\n \"max_person_count\": 55,\n \"minutes_actively_occupied\": \"52.0\",\n \"minutes_passively_occupied\": \"2.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609068\",\n \"type\": \"floor\"\n }\n }\n }\n },\n {\n \"id\": \"16523552\",\n \"type\": \"metrics_hourly_floor\",\n \"attributes\": {\n \"local_date\": \"2023-05-16\",\n \"local_hour\": 8,\n \"capacity\": 125,\n \"avg_person_count\": \"88.0\",\n \"avg_occupied_person_count\": \"88.0\",\n \"min_person_count\": 26,\n \"max_person_count\": 116,\n \"minutes_actively_occupied\": \"15.0\",\n \"minutes_passively_occupied\": \"8.0\",\n \"space_count\": 1\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"609068\",\n \"type\": \"floor\"\n }\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"609070\",\n \"type\": \"floor\",\n \"attributes\": {\n \"name\": \"Floor 3\",\n \"floor_ref_id\": \"Floor_3\",\n \"building_ref_id\": \"Lake_Tahoe_Blvd\"\n }\n },\n {\n \"id\": \"609069\",\n \"type\": \"floor\",\n \"attributes\": {\n \"name\": \"Floor 2\",\n \"floor_ref_id\": \"Floor_2\",\n \"building_ref_id\": \"Lake_Tahoe_Blvd\"\n }\n },\n {\n \"id\": \"609068\",\n \"type\": \"floor\",\n \"attributes\": {\n \"name\": \"Floor 1\",\n \"floor_ref_id\": \"Floor_1\",\n \"building_ref_id\": \"Lake_Tahoe_Blvd\"\n }\n }\n ],\n \"links\": {\n \"next\": null,\n \"prev\": null\n }\n}"}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"16541760"},"type":{"type":"string","example":"metrics_hourly_floor"},"attributes":{"type":"object","properties":{"local_date":{"type":"string","example":"2023-05-16"},"local_hour":{"type":"integer","example":17,"default":0},"capacity":{"type":"integer","example":150,"default":0},"avg_person_count":{"type":"string","example":"29.0"},"avg_occupied_person_count":{"type":"string","example":"29.0"},"min_person_count":{"type":"integer","example":28,"default":0},"max_person_count":{"type":"integer","example":90,"default":0},"minutes_actively_occupied":{"type":"string","example":"26.0"},"minutes_passively_occupied":{"type":"string","example":"11.0"},"space_count":{"type":"integer","example":1,"default":0}}},"relationships":{"type":"object","properties":{"floor":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"609070"},"type":{"type":"string","example":"floor"}}}}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"609070"},"type":{"type":"string","example":"floor"},"attributes":{"type":"object","properties":{"name":{"type":"string","example":"Floor 3"},"floor_ref_id":{"type":"string","example":"Floor_3"},"building_ref_id":{"type":"string","example":"Lake_Tahoe_Blvd"}}}}}},"links":{"type":"object","properties":{"next":{},"prev":{}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{\n \"errors\": [\n {\n \"status\": \"400\",\n \"source\": {\n \"parameter\": \"filter[local_date]\"\n },\n \"title\": \"Invalid Parameter\",\n \"detail\": \"Must include local date filter\"\n }\n ]\n}"}},"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","example":"400"},"source":{"type":"object","properties":{"parameter":{"type":"string","example":"filter[local_date]"}}},"title":{"type":"string","example":"Invalid Parameter"},"detail":{"type":"string","example":"Must include local date filter"}}}}}}}}}},"deprecated":false}},"/metrics/hourly/buildings":{"get":{"summary":"/metrics/hourly/buildings","description":"Hourly metrics for floors","operationId":"metrics_hourly_buildings","parameters":[{"name":"sort","in":"query","description":"Comma separated list of attributes used to sort the collection. Use a negative(-) sign to reverse the order.","schema":{"type":"string","default":"-building_id,-local_date,-local_hour"}},{"name":"fields[metrics_hourly_building]","in":"query","description":"Limit attributes that are included in a request. Comma separated list of attributes.","schema":{"type":"string"}},{"name":"page[number]","in":"query","description":"Page number for pagination.","schema":{"type":"integer","format":"int32","default":1}},{"name":"page[size]","in":"query","description":"Amount of records to return per page. Limit is 1000.","schema":{"type":"integer","format":"int32","default":250}},{"name":"filter[building_ref_id]","in":"query","description":"Filter metrics based on its associated spaces building_ref_id.","schema":{"type":"string"}},{"name":"filter[local_date][gte]","in":"query","description":"Filter metrics where local_date is greater than or equal to value.","schema":{"type":"string","format":"date","example":"2020-11-01"},"example":"2020-11-01"},{"name":"filter[local_date][lte]","in":"query","description":"Filter metrics where local_date is less than or equal to value.","schema":{"type":"string","format":"date"}},{"name":"filter[local_hour][gte]","in":"query","description":"Number between 0-23. Filter metrics where local_hour is greater than or equal to value.","schema":{"type":"integer","format":"int32","example":8},"example":8},{"name":"filter[local_hour][lte]","in":"query","description":"Number between 0-23. Filter metrics where local_hour is less than or equal to value.","schema":{"type":"integer","format":"int32","example":16},"example":16}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"data\": [\n {\n \"id\": \"27075876\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 12,\n \"capacity\": 207,\n \"avg_person_count\": \"15.129722222222222246\",\n \"avg_occupied_person_count\": \"38.7939062799782447\",\n \"min_person_count\": 2,\n \"minutes_actively_occupied\": \"682.06\",\n \"minutes_passively_occupied\": \"439.46\",\n \"space_count\": 64,\n \"max_person_count\": 20\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9609575\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27074576\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 11,\n \"capacity\": 207,\n \"avg_person_count\": \"24.188055555555555755\",\n \"avg_occupied_person_count\": \"47.3468921092580684\",\n \"min_person_count\": 2,\n \"minutes_actively_occupied\": \"1184.84\",\n \"minutes_passively_occupied\": \"290.55\",\n \"space_count\": 64,\n \"max_person_count\": 29\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9609575\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27073681\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 10,\n \"capacity\": 207,\n \"avg_person_count\": \"20.814722222222222302\",\n \"avg_occupied_person_count\": \"43.553208690739931\",\n \"min_person_count\": 3,\n \"minutes_actively_occupied\": \"1137.67\",\n \"minutes_passively_occupied\": \"303.84\",\n \"space_count\": 64,\n \"max_person_count\": 26\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9609575\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27072733\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 9,\n \"capacity\": 207,\n \"avg_person_count\": \"17.480833333333333315\",\n \"avg_occupied_person_count\": \"35.5597397862214497\",\n \"min_person_count\": 2,\n \"minutes_actively_occupied\": \"960.33\",\n \"minutes_passively_occupied\": \"231.85\",\n \"space_count\": 64,\n \"max_person_count\": 23\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9609575\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27080097\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 12,\n \"capacity\": 329,\n \"avg_person_count\": \"31.905555555555555664\",\n \"avg_occupied_person_count\": \"48.4701856575564689\",\n \"min_person_count\": 3,\n \"minutes_actively_occupied\": \"1396.5\",\n \"minutes_passively_occupied\": \"271.94\",\n \"space_count\": 51,\n \"max_person_count\": 36\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9603129\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27078567\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 11,\n \"capacity\": 329,\n \"avg_person_count\": \"35.865833333333333511\",\n \"avg_occupied_person_count\": \"54.1895980099495119\",\n \"min_person_count\": 9,\n \"minutes_actively_occupied\": \"1552.44\",\n \"minutes_passively_occupied\": \"130.18\",\n \"space_count\": 51,\n \"max_person_count\": 43\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9603129\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27077564\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 10,\n \"capacity\": 329,\n \"avg_person_count\": \"36.85388888888888851\",\n \"avg_occupied_person_count\": \"48.6681256862925836\",\n \"min_person_count\": 9,\n \"minutes_actively_occupied\": \"1481.01\",\n \"minutes_passively_occupied\": \"105.05\",\n \"space_count\": 51,\n \"max_person_count\": 44\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9603129\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27076443\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 9,\n \"capacity\": 329,\n \"avg_person_count\": \"23.441111111111111629\",\n \"avg_occupied_person_count\": \"38.0205901073172013\",\n \"min_person_count\": 5,\n \"minutes_actively_occupied\": \"970.6\",\n \"minutes_passively_occupied\": \"140.18\",\n \"space_count\": 51,\n \"max_person_count\": 33\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9603129\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27076989\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 12,\n \"capacity\": 192,\n \"avg_person_count\": \"122.47388888888888817\",\n \"avg_occupied_person_count\": \"142.4598087909779552\",\n \"min_person_count\": 28,\n \"minutes_actively_occupied\": \"3700.32\",\n \"minutes_passively_occupied\": \"798.98\",\n \"space_count\": 90,\n \"max_person_count\": 140\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"599212\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27075906\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 11,\n \"capacity\": 192,\n \"avg_person_count\": \"110.8524999999999994274\",\n \"avg_occupied_person_count\": \"141.0037470662026241\",\n \"min_person_count\": 38,\n \"minutes_actively_occupied\": \"3215.04\",\n \"minutes_passively_occupied\": \"594.38\",\n \"space_count\": 90,\n \"max_person_count\": 128\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"599212\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27074600\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 10,\n \"capacity\": 192,\n \"avg_person_count\": \"88.2827777777777769396\",\n \"avg_occupied_person_count\": \"123.7623992688745807\",\n \"min_person_count\": 30,\n \"minutes_actively_occupied\": \"2420.92\",\n \"minutes_passively_occupied\": \"518.88\",\n \"space_count\": 90,\n \"max_person_count\": 111\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"599212\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27073712\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 9,\n \"capacity\": 192,\n \"avg_person_count\": \"51.548333333333332204\",\n \"avg_occupied_person_count\": \"81.4879812743433052\",\n \"min_person_count\": 4,\n \"minutes_actively_occupied\": \"1546.18\",\n \"minutes_passively_occupied\": \"326.8\",\n \"space_count\": 90,\n \"max_person_count\": 85\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"599212\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27062459\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 12,\n \"capacity\": 1891,\n \"avg_person_count\": \"271.6044444444444439304\",\n \"avg_occupied_person_count\": \"677.690314945926248\",\n \"min_person_count\": 25,\n \"minutes_actively_occupied\": \"9851.89\",\n \"minutes_passively_occupied\": \"12248.02\",\n \"space_count\": 1026,\n \"max_person_count\": 306\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9559363\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27061568\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 11,\n \"capacity\": 1891,\n \"avg_person_count\": \"362.5838888888888873003\",\n \"avg_occupied_person_count\": \"747.6580968370733946\",\n \"min_person_count\": 34,\n \"minutes_actively_occupied\": \"14923.82\",\n \"minutes_passively_occupied\": \"7510.71\",\n \"space_count\": 1026,\n \"max_person_count\": 421\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9559363\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27060679\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 10,\n \"capacity\": 1891,\n \"avg_person_count\": \"353.134166666666667273\",\n \"avg_occupied_person_count\": \"665.3387234257168043\",\n \"min_person_count\": 54,\n \"minutes_actively_occupied\": \"15002.0\",\n \"minutes_passively_occupied\": \"4183.74\",\n \"space_count\": 1026,\n \"max_person_count\": 410\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9559363\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27059242\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 9,\n \"capacity\": 1891,\n \"avg_person_count\": \"170.339722222222220338\",\n \"avg_occupied_person_count\": \"468.4666050979293977\",\n \"min_person_count\": 24,\n \"minutes_actively_occupied\": \"7246.55\",\n \"minutes_passively_occupied\": \"1866.02\",\n \"space_count\": 1026,\n \"max_person_count\": 280\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9559363\",\n \"type\": \"building\"\n }\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"9609575\",\n \"type\": \"building\",\n \"attributes\": {\n \"name\": \"BOS05\",\n \"building_ref_id\": \"REF\",\n \"address\": \"Burlington MA 01803\"\n }\n },\n {\n \"id\": \"9603129\",\n \"type\": \"building\",\n \"attributes\": {\n \"name\": \"San_Francisco\",\n \"building_ref_id\": \"sanfrancisco\",\n \"address\": \"SF CA\"\n }\n },\n {\n \"id\": \"599212\",\n \"type\": \"building\",\n \"attributes\": {\n \"name\": \"Mexico_City\",\n \"building_ref_id\": \"Mexico\",\n \"address\": \"Mexico\"\n }\n },\n {\n \"id\": \"9559363\",\n \"type\": \"building\",\n \"attributes\": {\n \"name\": \"Singapore\",\n \"building_ref_id\": \"singapore\",\n \"address\": \"Singapore\"\n }\n }\n ],\n \"links\": {\n \"next\": null,\n \"prev\": null\n }\n}"}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"27075876"},"type":{"type":"string","example":"metrics_hourly_building"},"attributes":{"type":"object","properties":{"local_date":{"type":"string","example":"2024-10-16"},"local_hour":{"type":"integer","example":12,"default":0},"capacity":{"type":"integer","example":207,"default":0},"avg_person_count":{"type":"string","example":"15.129722222222222246"},"avg_occupied_person_count":{"type":"string","example":"38.7939062799782447"},"min_person_count":{"type":"integer","example":2,"default":0},"minutes_actively_occupied":{"type":"string","example":"682.06"},"minutes_passively_occupied":{"type":"string","example":"439.46"},"space_count":{"type":"integer","example":64,"default":0},"max_person_count":{"type":"integer","example":20,"default":0}}},"relationships":{"type":"object","properties":{"building":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"9609575"},"type":{"type":"string","example":"building"}}}}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"9609575"},"type":{"type":"string","example":"building"},"attributes":{"type":"object","properties":{"name":{"type":"string","example":"BOS05"},"building_ref_id":{"type":"string","example":"REF"},"address":{"type":"string","example":"Burlington MA 01803"}}}}}},"links":{"type":"object","properties":{"next":{},"prev":{}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{\n \"errors\": [\n {\n \"status\": \"400\",\n \"source\": {\n \"parameter\": \"filter[local_date]\"\n },\n \"title\": \"Invalid Parameter\",\n \"detail\": \"Must include local date filter\"\n }\n ]\n}"}},"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","example":"400"},"source":{"type":"object","properties":{"parameter":{"type":"string","example":"filter[local_date]"}}},"title":{"type":"string","example":"Invalid Parameter"},"detail":{"type":"string","example":"Must include local date filter"}}}}}}}}}},"deprecated":false}},"/metrics/hourly/neighborhoods":{"get":{"summary":"/metrics/hourly/neighborhoods","description":"Hourly metrics for neighborhoods","operationId":"metrics-hourly-neighborhoods","parameters":[{"name":"sort","in":"query","description":"Comma separated list of attributes used to sort the collection. Use a negative(-) sign to reverse the order.","schema":{"type":"string","default":"-neighborhood_id,-local_date,-local_hour"}},{"name":"fields[metrics_hourly_building]","in":"query","description":"Limit attributes that are included in a request. Comma separated list of attributes.","schema":{"type":"string"}},{"name":"page[number]","in":"query","description":"Page number for pagination.","schema":{"type":"integer","format":"int32","default":1}},{"name":"page[size]","in":"query","description":"Amount of records to return per page. Limit is 1000.","schema":{"type":"integer","format":"int32","default":250}},{"name":"filter[ref_id]","in":"query","description":"Filter metrics for a specific neighborhood","schema":{"type":"string"}},{"name":"filter[local_date][gte]","in":"query","description":"Filter metrics where local_date is greater than or equal to value.","schema":{"type":"string","format":"date","example":"2020-11-01"},"example":"2020-11-01"},{"name":"filter[local_date][lte]","in":"query","description":"Filter metrics where local_date is less than or equal to value.","schema":{"type":"string","format":"date"}},{"name":"filter[local_hour][gte]","in":"query","description":"Number between 0-23. Filter metrics where local_hour is greater than or equal to value.","schema":{"type":"integer","format":"int32","example":8},"example":8},{"name":"filter[local_hour][lte]","in":"query","description":"Number between 0-23. Filter metrics where local_hour is less than or equal to value.","schema":{"type":"integer","format":"int32","example":16},"example":16}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"data\": [\n {\n \"id\": \"27075876\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 12,\n \"capacity\": 207,\n \"avg_person_count\": \"15.129722222222222246\",\n \"avg_occupied_person_count\": \"38.7939062799782447\",\n \"min_person_count\": 2,\n \"minutes_actively_occupied\": \"682.06\",\n \"minutes_passively_occupied\": \"439.46\",\n \"space_count\": 64,\n \"max_person_count\": 20\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9609575\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27074576\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 11,\n \"capacity\": 207,\n \"avg_person_count\": \"24.188055555555555755\",\n \"avg_occupied_person_count\": \"47.3468921092580684\",\n \"min_person_count\": 2,\n \"minutes_actively_occupied\": \"1184.84\",\n \"minutes_passively_occupied\": \"290.55\",\n \"space_count\": 64,\n \"max_person_count\": 29\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9609575\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27073681\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 10,\n \"capacity\": 207,\n \"avg_person_count\": \"20.814722222222222302\",\n \"avg_occupied_person_count\": \"43.553208690739931\",\n \"min_person_count\": 3,\n \"minutes_actively_occupied\": \"1137.67\",\n \"minutes_passively_occupied\": \"303.84\",\n \"space_count\": 64,\n \"max_person_count\": 26\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9609575\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27072733\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 9,\n \"capacity\": 207,\n \"avg_person_count\": \"17.480833333333333315\",\n \"avg_occupied_person_count\": \"35.5597397862214497\",\n \"min_person_count\": 2,\n \"minutes_actively_occupied\": \"960.33\",\n \"minutes_passively_occupied\": \"231.85\",\n \"space_count\": 64,\n \"max_person_count\": 23\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9609575\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27080097\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 12,\n \"capacity\": 329,\n \"avg_person_count\": \"31.905555555555555664\",\n \"avg_occupied_person_count\": \"48.4701856575564689\",\n \"min_person_count\": 3,\n \"minutes_actively_occupied\": \"1396.5\",\n \"minutes_passively_occupied\": \"271.94\",\n \"space_count\": 51,\n \"max_person_count\": 36\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9603129\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27078567\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 11,\n \"capacity\": 329,\n \"avg_person_count\": \"35.865833333333333511\",\n \"avg_occupied_person_count\": \"54.1895980099495119\",\n \"min_person_count\": 9,\n \"minutes_actively_occupied\": \"1552.44\",\n \"minutes_passively_occupied\": \"130.18\",\n \"space_count\": 51,\n \"max_person_count\": 43\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9603129\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27077564\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 10,\n \"capacity\": 329,\n \"avg_person_count\": \"36.85388888888888851\",\n \"avg_occupied_person_count\": \"48.6681256862925836\",\n \"min_person_count\": 9,\n \"minutes_actively_occupied\": \"1481.01\",\n \"minutes_passively_occupied\": \"105.05\",\n \"space_count\": 51,\n \"max_person_count\": 44\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9603129\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27076443\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 9,\n \"capacity\": 329,\n \"avg_person_count\": \"23.441111111111111629\",\n \"avg_occupied_person_count\": \"38.0205901073172013\",\n \"min_person_count\": 5,\n \"minutes_actively_occupied\": \"970.6\",\n \"minutes_passively_occupied\": \"140.18\",\n \"space_count\": 51,\n \"max_person_count\": 33\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9603129\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27076989\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 12,\n \"capacity\": 192,\n \"avg_person_count\": \"122.47388888888888817\",\n \"avg_occupied_person_count\": \"142.4598087909779552\",\n \"min_person_count\": 28,\n \"minutes_actively_occupied\": \"3700.32\",\n \"minutes_passively_occupied\": \"798.98\",\n \"space_count\": 90,\n \"max_person_count\": 140\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"599212\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27075906\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 11,\n \"capacity\": 192,\n \"avg_person_count\": \"110.8524999999999994274\",\n \"avg_occupied_person_count\": \"141.0037470662026241\",\n \"min_person_count\": 38,\n \"minutes_actively_occupied\": \"3215.04\",\n \"minutes_passively_occupied\": \"594.38\",\n \"space_count\": 90,\n \"max_person_count\": 128\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"599212\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27074600\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 10,\n \"capacity\": 192,\n \"avg_person_count\": \"88.2827777777777769396\",\n \"avg_occupied_person_count\": \"123.7623992688745807\",\n \"min_person_count\": 30,\n \"minutes_actively_occupied\": \"2420.92\",\n \"minutes_passively_occupied\": \"518.88\",\n \"space_count\": 90,\n \"max_person_count\": 111\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"599212\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27073712\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 9,\n \"capacity\": 192,\n \"avg_person_count\": \"51.548333333333332204\",\n \"avg_occupied_person_count\": \"81.4879812743433052\",\n \"min_person_count\": 4,\n \"minutes_actively_occupied\": \"1546.18\",\n \"minutes_passively_occupied\": \"326.8\",\n \"space_count\": 90,\n \"max_person_count\": 85\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"599212\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27062459\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 12,\n \"capacity\": 1891,\n \"avg_person_count\": \"271.6044444444444439304\",\n \"avg_occupied_person_count\": \"677.690314945926248\",\n \"min_person_count\": 25,\n \"minutes_actively_occupied\": \"9851.89\",\n \"minutes_passively_occupied\": \"12248.02\",\n \"space_count\": 1026,\n \"max_person_count\": 306\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9559363\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27061568\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 11,\n \"capacity\": 1891,\n \"avg_person_count\": \"362.5838888888888873003\",\n \"avg_occupied_person_count\": \"747.6580968370733946\",\n \"min_person_count\": 34,\n \"minutes_actively_occupied\": \"14923.82\",\n \"minutes_passively_occupied\": \"7510.71\",\n \"space_count\": 1026,\n \"max_person_count\": 421\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9559363\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27060679\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 10,\n \"capacity\": 1891,\n \"avg_person_count\": \"353.134166666666667273\",\n \"avg_occupied_person_count\": \"665.3387234257168043\",\n \"min_person_count\": 54,\n \"minutes_actively_occupied\": \"15002.0\",\n \"minutes_passively_occupied\": \"4183.74\",\n \"space_count\": 1026,\n \"max_person_count\": 410\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9559363\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"27059242\",\n \"type\": \"metrics_hourly_building\",\n \"attributes\": {\n \"local_date\": \"2024-10-16\",\n \"local_hour\": 9,\n \"capacity\": 1891,\n \"avg_person_count\": \"170.339722222222220338\",\n \"avg_occupied_person_count\": \"468.4666050979293977\",\n \"min_person_count\": 24,\n \"minutes_actively_occupied\": \"7246.55\",\n \"minutes_passively_occupied\": \"1866.02\",\n \"space_count\": 1026,\n \"max_person_count\": 280\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"9559363\",\n \"type\": \"building\"\n }\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"9609575\",\n \"type\": \"building\",\n \"attributes\": {\n \"name\": \"BOS05\",\n \"building_ref_id\": \"REF\",\n \"address\": \"Burlington MA 01803\"\n }\n },\n {\n \"id\": \"9603129\",\n \"type\": \"building\",\n \"attributes\": {\n \"name\": \"San_Francisco\",\n \"building_ref_id\": \"sanfrancisco\",\n \"address\": \"SF CA\"\n }\n },\n {\n \"id\": \"599212\",\n \"type\": \"building\",\n \"attributes\": {\n \"name\": \"Mexico_City\",\n \"building_ref_id\": \"Mexico\",\n \"address\": \"Mexico\"\n }\n },\n {\n \"id\": \"9559363\",\n \"type\": \"building\",\n \"attributes\": {\n \"name\": \"Singapore\",\n \"building_ref_id\": \"singapore\",\n \"address\": \"Singapore\"\n }\n }\n ],\n \"links\": {\n \"next\": null,\n \"prev\": null\n }\n}"}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"27075876"},"type":{"type":"string","example":"metrics_hourly_building"},"attributes":{"type":"object","properties":{"local_date":{"type":"string","example":"2024-10-16"},"local_hour":{"type":"integer","example":12,"default":0},"capacity":{"type":"integer","example":207,"default":0},"avg_person_count":{"type":"string","example":"15.129722222222222246"},"avg_occupied_person_count":{"type":"string","example":"38.7939062799782447"},"min_person_count":{"type":"integer","example":2,"default":0},"minutes_actively_occupied":{"type":"string","example":"682.06"},"minutes_passively_occupied":{"type":"string","example":"439.46"},"space_count":{"type":"integer","example":64,"default":0},"max_person_count":{"type":"integer","example":20,"default":0}}},"relationships":{"type":"object","properties":{"building":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"9609575"},"type":{"type":"string","example":"building"}}}}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"9609575"},"type":{"type":"string","example":"building"},"attributes":{"type":"object","properties":{"name":{"type":"string","example":"BOS05"},"building_ref_id":{"type":"string","example":"REF"},"address":{"type":"string","example":"Burlington MA 01803"}}}}}},"links":{"type":"object","properties":{"next":{},"prev":{}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{\n \"errors\": [\n {\n \"status\": \"400\",\n \"source\": {\n \"parameter\": \"filter[local_date]\"\n },\n \"title\": \"Invalid Parameter\",\n \"detail\": \"Must include local date filter\"\n }\n ]\n}"}},"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","example":"400"},"source":{"type":"object","properties":{"parameter":{"type":"string","example":"filter[local_date]"}}},"title":{"type":"string","example":"Invalid Parameter"},"detail":{"type":"string","example":"Must include local date filter"}}}}}}}}}},"deprecated":false}},"/buildings":{"get":{"summary":"/buildings","description":"Get a list of buildings that VergeSense has data on.","operationId":"buildings-1","responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"[\n {\n \"name\": \"HQ 1\",\n \"building_ref_id\": \"HQ1\",\n \"address\": \"925 Commonwealth Avenue, Boston, MA 02215\",\n \"working_hours\": {\n \t\t\"from\": 8,\n \"to\": 18\n \t},\n \"timezone\": \"America/New_York\"\n }\n]"}},"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"HQ 1"},"building_ref_id":{"type":"string","example":"HQ1"},"address":{"type":"string","example":"925 Commonwealth Avenue, Boston, MA 02215"},"working_hours":{"type":"object","properties":{"from":{"type":"integer","example":8,"default":0},"to":{"type":"integer","example":18,"default":0}}},"timezone":{"type":"string","example":"America/New_York"}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/buildings/{building_ref_id}":{"get":{"summary":"/buildings/:building_ref_id","description":"Get information about the hierarchy of a building, down to the VergeSense sensor level.","operationId":"buildings-2","parameters":[{"name":"floor_ref_id","in":"query","schema":{"type":"string"}},{"name":"building_ref_id","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"building_ref_id\": \"HQ1\",\n \"capacity\": 84,\n \"minimum_social_distance\": 2.0,\n \"working_hours\": {\n \t\"from\": 8,\n \"to\": 18\n },\n \"floors\": [\n {\n \"name\": \"Floor 1\",\n \"floor_ref_id\": \"FL1\",\n \"capacity\": 84,\n \"max_capacity\": 60,\n \"spaces\": [\n {\n \"name\": \"Conference Room 0721\",\n \"space_ref_id\": \"CR_0721\",\n \"space_type\": \"conference_room\",\n \"capacity\": 4,\n \"max_capacity\": 3,\n \"sensors\": [\n {\n \"id\": \"L_000018\",\n \"partitions\": [\n {\n \"id\": \"L_000018/321\"\n }\n ]\n }\n ],\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n 93.850772,\n 44.676952\n ],\n [\n 93.850739,\n 44.676929\n ],\n [\n 93.850718,\n 44.67695\n ],\n [\n 93.850751,\n 44.676973\n ],\n [\n 93.850772,\n 44.676952\n ],\n [\n 93.850772,\n 44.676952\n ]\n ]\n ]\n },\n \"space_groups\": [\n {\n \t\"name\": \"Finance\"\n },\n {\n \t\"name\": \"Dedicated Space\"\n }\n ]\n }\n ]\n }\n ]\n}"}},"schema":{"type":"object","properties":{"building_ref_id":{"type":"string","example":"HQ1"},"capacity":{"type":"integer","example":84,"default":0},"minimum_social_distance":{"type":"integer","example":2,"default":0},"working_hours":{"type":"object","properties":{"from":{"type":"integer","example":8,"default":0},"to":{"type":"integer","example":18,"default":0}}},"floors":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Floor 1"},"floor_ref_id":{"type":"string","example":"FL1"},"capacity":{"type":"integer","example":84,"default":0},"max_capacity":{"type":"integer","example":60,"default":0},"spaces":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Conference Room 0721"},"space_ref_id":{"type":"string","example":"CR_0721"},"space_type":{"type":"string","example":"conference_room"},"capacity":{"type":"integer","example":4,"default":0},"max_capacity":{"type":"integer","example":3,"default":0},"sensors":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"L_000018"},"partitions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"L_000018/321"}}}}}}},"geometry":{"type":"object","properties":{"type":{"type":"string","example":"Polygon"},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","example":93.850772,"default":0}}}}}},"space_groups":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Finance"}}}}}}}}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/buildings/{building_ref_id}/history":{"get":{"summary":"/buildings/:building_ref_id/history","description":"","operationId":"buildingsbuilding_ref_idhistory","parameters":[{"name":"building_ref_id","in":"path","schema":{"type":"string"},"required":true},{"name":"start_timestamp","in":"query","description":"ISO8601 timestamp. Filter results where the `timestamp` is equal or greater than this value. Ex: `2021-10-01T08:00:00Z`","required":true,"schema":{"type":"string"}},{"name":"end_timestamp","in":"query","description":"ISO8601 timestamp. Filter results where the `timestamp` is less than this value. The time range cannot be greater than 24 hours. Ex: `2021-10-01T09:00:00Z`","required":true,"schema":{"type":"string"}},{"name":"floor_ref_id","in":"query","schema":{"type":"string"}},{"name":"space_ref_id","in":"query","schema":{"type":"string"}},{"name":"space_type","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"[\n {\n \"floor_ref_id\": \"FLOOR-123\",\n \"space_ref_id\": \"SPACE-123\",\n \"history\": [\n {\n \"timestamp\": \"2020-02-18T20:34:14Z\",\n \"count\": 1,\n \"signs_of_life\": null\n },\n {\n \"timestamp\": \"2020-02-18T20:44:18Z\",\n \"count\": 2,\n \"signs_of_life\": true\n },\n {\n \"timestamp\": \"2020-02-18T20:54:23Z\",\n \"count\": 1,\n \"signs_of_life\": true\n }\n ]\n }\n]\n"}},"schema":{"type":"array","items":{"type":"object","properties":{"floor_ref_id":{"type":"string","example":"FLOOR-123"},"space_ref_id":{"type":"string","example":"SPACE-123"},"history":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"string","example":"2020-02-18T20:34:14Z"},"count":{"type":"integer","example":1,"default":0},"signs_of_life":{}}}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{\n \"errors\": [\"Cannot exceed maximum time range of 24hrs\"]\n}\n"}},"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string","example":"Cannot exceed maximum time range of 24hrs"}}}}}}}},"deprecated":false}},"/spaces":{"get":{"summary":"/spaces","description":"Get the most recent sensor reports for spaces.","operationId":"spaces-1","parameters":[{"name":"building_ref_id","in":"query","description":"Filter on `building_ref_id` to get only the spaces belonging to a particular building.","schema":{"type":"string"}},{"name":"floor_ref_id","in":"query","description":"Filter on `floor_ref_id` to get only the spaces belonging to a particular floor.","schema":{"type":"string"}},{"name":"space_ref_id","in":"query","description":"Filter on `space_ref_id` to get a single space.","schema":{"type":"string"}},{"name":"space_type","in":"query","description":"Filter on any space type \"key\" value returned from the \"/spaces/types\" API endpoint. Example: `conference_room`","schema":{"type":"string"}}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"[\n {\n \"building_ref_id\": \"Building_1\",\n \"floor_ref_id\": \"Floor_2\",\n \"space_ref_id\": \"432.3\",\n \"name\": \"Office 432.3\",\n \"space_type\": \"office\",\n \"last_reports\": [\n {\n \"id\": \"W91-IGI\",\n \"person_count\": 2,\n \"signs_of_life\": null,\n \"motion_detected\": null,\n \"timestamp\": \"2019-07-29T18:42:19Z\"\n }\n ],\n \"people\": {\n \"count\": 2,\n \"distances\": {\n \"units\": \"meters\",\n \"values\": [2.42]\n }\n },\n \"environment\": {\n \"sensor\": \"W91-IGI\",\n \"timestamp\": \"2019-07-29T18:42:19Z\",\n \"humidity\": {\n \"units\": \"RH\",\n \"value\": 71.43\n },\n \"iaq\": {\n \"units\": \"UBA\",\n \"value\": 3.98\n },\n \"temperature\": {\n \"units\": \"C\",\n \"value\": 17.77\n }\n }\n }\n]"}},"schema":{"type":"array","items":{"type":"object","properties":{"building_ref_id":{"type":"string","example":"Building_1"},"floor_ref_id":{"type":"string","example":"Floor_2"},"space_ref_id":{"type":"string","example":"432.3"},"name":{"type":"string","example":"Office 432.3"},"space_type":{"type":"string","example":"office"},"last_reports":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"W91-IGI"},"person_count":{"type":"integer","example":2,"default":0},"signs_of_life":{},"motion_detected":{},"timestamp":{"type":"string","example":"2019-07-29T18:42:19Z"}}}},"people":{"type":"object","properties":{"count":{"type":"integer","example":2,"default":0},"distances":{"type":"object","properties":{"units":{"type":"string","example":"meters"},"values":{"type":"array","items":{"type":"number","example":2.42,"default":0}}}}}},"environment":{"type":"object","properties":{"sensor":{"type":"string","example":"W91-IGI"},"timestamp":{"type":"string","example":"2019-07-29T18:42:19Z"},"humidity":{"type":"object","properties":{"units":{"type":"string","example":"RH"},"value":{"type":"number","example":71.43,"default":0}}},"iaq":{"type":"object","properties":{"units":{"type":"string","example":"UBA"},"value":{"type":"number","example":3.98,"default":0}}},"temperature":{"type":"object","properties":{"units":{"type":"string","example":"C"},"value":{"type":"number","example":17.77,"default":0}}}}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/spaces/detections":{"get":{"summary":"/spaces/detections","description":"Fetch all detections for spaces on a given day.\nResponse conforms to the JSON API spec https://jsonapi.org/.\nResponses are limited to `10,000` detections after which pagination will take place.","operationId":"spaces_detections","parameters":[{"name":"date","in":"query","description":"Date to fetch thresholds crossings for. Date is required unless a timestamp filter query parameter is provided.","schema":{"type":"string","format":"date"}},{"name":"space_id","in":"query","description":"The space e.g. building, floor, room that the detection was reported for","schema":{"type":"integer","format":"int32"}},{"name":"filter[timestamp][gte]","in":"query","description":"Greater than or equal to the timestamp.","schema":{"type":"string","format":"date-time"}},{"name":"filter[timestamp][gt]","in":"query","description":"Greater than the timestamp.","schema":{"type":"string","format":"date-time"}},{"name":"filter[timestamp][lte]","in":"query","description":"Less than or equal to the timestamp.","schema":{"type":"string","format":"date-time"}},{"name":"filter[timestamp][lt]","in":"query","description":"Less than the timestamp.","schema":{"type":"string","format":"date-time"}},{"name":"filter[count][gt]","in":"query","description":"Greater than the count of people detected.","schema":{"type":"integer","format":"int32"}},{"name":"filter[signs_of_life][eq]","in":"query","description":"Equal to the signs of life.","schema":{"type":"boolean"}},{"name":"page[number]","in":"query","description":"Requested page number. Only used when pagination is applicable.","schema":{"type":"integer","format":"int32","default":1}},{"name":"vs-api-key","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"data\": [\n {\n \"id\": \"356161|2021-12-02 00:05:21.833\",\n \"type\": \"space_detection\",\n \"attributes\": {\n \"space_id\": \"356161\",\n \"timestamp\": \"2021-12-02 00:05:21.833\",\n \"count\": 0,\n \"signs_of_life\": 0\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"356161\",\n \"type\": \"building\"\n }\n }\n }\n },\n {\n \"id\": \"364220|2021-12-02 00:04:27.210\",\n \"type\": \"space_detection\",\n \"attributes\": {\n \"space_id\": \"364220\",\n \"timestamp\": \"2021-12-02 00:04:27.210\",\n \"count\": 1,\n \"signs_of_life\": null\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"364220\",\n \"type\": \"floor\"\n }\n }\n }\n }, \n {\n \"id\": \"364221|2021-12-02 00:05:35.966\",\n \"type\": \"space_detection\",\n \"attributes\": {\n \"space_id\": \"364221\",\n \"timestamp\": \"2021-12-02 00:05:35.966\",\n \"count\": 0,\n \"signs_of_life\": null\n },\n \"relationships\": {\n \"space\": {\n \"data\": {\n \"id\": \"364221\",\n \"type\": \"space\"\n }\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"356161\",\n \"type\": \"building\",\n \"attributes\": {\n \"name\": \"Building 1\",\n \"building_ref_id\": \"B01\"\n }\n },\n {\n \"id\": \"364220\",\n \"type\": \"floor\",\n \"attributes\": {\n \"name\": \"Floor 5\",\n \"floor_ref_id\": \"05\"\n }\n },\n {\n \"id\": \"364221\",\n \"type\": \"space\",\n \"attributes\": {\n \"name\": \"Conference Room 1\",\n \"space_ref_id\": \"CR1\"\n }\n }\n ],\n \"links\": {\n \"next\": \"/spaces/detections?date=2021-10-29&page[number]=3&page[size]=2\",\n \"prev\": null\n }\n}"}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"356161|2021-12-02 00:05:21.833"},"type":{"type":"string","example":"space_detection"},"attributes":{"type":"object","properties":{"space_id":{"type":"string","example":"356161"},"timestamp":{"type":"string","example":"2021-12-02 00:05:21.833"},"count":{"type":"integer","example":0,"default":0},"signs_of_life":{"type":"integer","example":0,"default":0}}},"relationships":{"type":"object","properties":{"building":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"356161"},"type":{"type":"string","example":"building"}}}}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"356161"},"type":{"type":"string","example":"building"},"attributes":{"type":"object","properties":{"name":{"type":"string","example":"Building 1"},"building_ref_id":{"type":"string","example":"B01"}}}}}},"links":{"type":"object","properties":{"next":{"type":"string","example":"/spaces/detections?date=2021-10-29&page[number]=3&page[size]=2"},"prev":{}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/spaces/thresholds/crossings":{"get":{"summary":"/spaces/thresholds/crossings","description":"Fetch all threshold crossings for spaces on a given day.\nResponse conforms to the JSON API spec https://jsonapi.org/.\nResponses are limited to `1,000` threshold crossings after which pagination will take place.","operationId":"spaces_thresholds_crossings","parameters":[{"name":"date","in":"query","description":"Date to fetch thresholds crossings for. Date is required unless a timestamp filter query parameter is provided.","schema":{"type":"string","format":"date"}},{"name":"filter[timestamp][gte]","in":"query","description":"Greater than or equal to the timestamp.","schema":{"type":"string","format":"date-time"}},{"name":"filter[timestamp][lte]","in":"query","description":"Greater than the timestamp.","schema":{"type":"string","format":"date-time"}},{"name":"filter[timestamp][gt]","in":"query","description":"Less than or equal to the timestamp.","schema":{"type":"string","format":"date-time"}},{"name":"filter[timestamp][lt]","in":"query","description":"Less than the timestamp.","schema":{"type":"string","format":"date-time"}},{"name":"page[number]","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"vs-api-key","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Building Crossings":{"value":"{\n \"data\": [\n {\n \"id\": \"422713|86|2021-10-29T00:00:27.000Z\",\n \"type\": \"space_threshold_crossing\",\n \"attributes\": {\n \"space_id\": \"422713\",\n \"threshold_id\": \"86\",\n \"timestamp\": \"2021-10-29T00:00:27.000Z\",\n \"direction\": \"in\"\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"422713\",\n \"type\": \"building\"\n }\n },\n \"threshold\": {\n \"data\": {\n \"id\": \"86\",\n \"type\": \"threshold\"\n }\n }\n }\n },\n {\n \"id\": \"422713|86|2021-10-29T00:00:28.000Z\",\n \"type\": \"space_threshold_crossing\",\n \"attributes\": {\n \"space_id\": \"422713\",\n \"threshold_id\": \"86\",\n \"timestamp\": \"2021-10-29T00:00:28.000Z\",\n \"direction\": \"in\"\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"422713\",\n \"type\": \"building\"\n }\n },\n \"threshold\": {\n \"data\": {\n \"id\": \"86\",\n \"type\": \"threshold\"\n }\n }\n }\n },\n {\n \"id\": \"422713|86|2021-10-29T00:00:29.000Z\",\n \"type\": \"space_threshold_crossing\",\n \"attributes\": {\n \"space_id\": \"422713\",\n \"threshold_id\": \"86\",\n \"timestamp\": \"2021-10-29T00:00:29.000Z\",\n \"direction\": \"out\"\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"422713\",\n \"type\": \"building\"\n }\n },\n \"threshold\": {\n \"data\": {\n \"id\": \"86\",\n \"type\": \"threshold\"\n }\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"86\",\n \"type\": \"threshold\",\n \"attributes\": {\n \"external_name\": \"Line 0\",\n \"external_id\": \"0\"\n }\n },\n {\n \"id\": \"422713\",\n \"type\": \"building\",\n \"attributes\": {\n \"name\": \"Building 1\",\n \"building_ref_id\": \"B1\"\n }\n }\n ],\n \"links\": {\n \"next\": null,\n \"prev\": null\n }\n}"},"Building and Floor Crossings":{"value":"{\n \"data\": [\n {\n \"id\": \"422713|86|2021-10-29T00:00:27.000Z\",\n \"type\": \"space_threshold_crossing\",\n \"attributes\": {\n \"space_id\": \"422713\",\n \"threshold_id\": \"86\",\n \"timestamp\": \"2021-10-29T00:00:27.000Z\",\n \"direction\": \"in\"\n },\n \"relationships\": {\n \"building\": {\n \"data\": {\n \"id\": \"422713\",\n \"type\": \"building\"\n }\n },\n \"threshold\": {\n \"data\": {\n \"id\": \"86\",\n \"type\": \"threshold\"\n }\n }\n }\n },\n {\n \"id\": \"426305|86|2021-10-29T00:00:27.000Z\",\n \"type\": \"space_threshold_crossing\",\n \"attributes\": {\n \"space_id\": \"426305\",\n \"threshold_id\": \"86\",\n \"timestamp\": \"2021-10-29T00:00:27.000Z\",\n \"direction\": \"in\"\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"426305\",\n \"type\": \"floor\"\n }\n },\n \"threshold\": {\n \"data\": {\n \"id\": \"86\",\n \"type\": \"threshold\"\n }\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"86\",\n \"type\": \"threshold\",\n \"attributes\": {\n \"external_name\": \"Line 0\",\n \"external_id\": \"0\"\n }\n },\n {\n \"id\": \"422713\",\n \"type\": \"building\",\n \"attributes\": {\n \"name\": \"Building 1\",\n \"building_ref_id\": \"B1\"\n }\n },\n {\n \"id\": \"426305\",\n \"type\": \"floor\",\n \"attributes\": {\n \"name\": \"5\",\n \"floor_ref_id\": \"05\"\n }\n }\n ],\n \"links\": {\n \"next\": \"/spaces/thresholds/crossings?date=2021-10-29&page[number]=2&page[size]=2\",\n \"prev\": null\n }\n}"},"Floor Crossings":{"value":"{\n \"data\": [\n {\n \"id\": \"426305|86|2021-10-29T00:00:27.000Z\",\n \"type\": \"space_threshold_crossing\",\n \"attributes\": {\n \"space_id\": \"426305\",\n \"threshold_id\": \"86\",\n \"timestamp\": \"2021-10-29T00:00:27.000Z\",\n \"direction\": \"in\"\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"426305\",\n \"type\": \"floor\"\n }\n },\n \"threshold\": {\n \"data\": {\n \"id\": \"86\",\n \"type\": \"threshold\"\n }\n }\n }\n },\n {\n \"id\": \"426305|86|2021-10-29T00:00:28.000Z\",\n \"type\": \"space_threshold_crossing\",\n \"attributes\": {\n \"space_id\": \"426305\",\n \"threshold_id\": \"86\",\n \"timestamp\": \"2021-10-29T00:00:28.000Z\",\n \"direction\": \"in\"\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"426305\",\n \"type\": \"floor\"\n }\n },\n \"threshold\": {\n \"data\": {\n \"id\": \"86\",\n \"type\": \"threshold\"\n }\n }\n }\n },\n {\n \"id\": \"426305|86|2021-10-29T00:00:29.000Z\",\n \"type\": \"space_threshold_crossing\",\n \"attributes\": {\n \"space_id\": \"426305\",\n \"threshold_id\": \"86\",\n \"timestamp\": \"2021-10-29T00:00:29.000Z\",\n \"direction\": \"out\"\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"426305\",\n \"type\": \"floor\"\n }\n },\n \"threshold\": {\n \"data\": {\n \"id\": \"86\",\n \"type\": \"threshold\"\n }\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"86\",\n \"type\": \"threshold\",\n \"attributes\": {\n \"external_name\": \"Line 0\",\n \"external_id\": \"0\"\n }\n },\n {\n \"id\": \"426305\",\n \"type\": \"floor\",\n \"attributes\": {\n \"name\": \"5\",\n \"floor_ref_id\": \"05\"\n }\n }\n ],\n \"links\": {\n \"next\": \"/spaces/thresholds/crossings?date=2021-10-29&page[number]=2&page[size]=2\",\n \"prev\": null\n }\n}"},"Floor and Space Crossings":{"value":"{\n \"data\": [\n {\n \"id\": \"422799|86|2021-10-29T00:00:27.000Z\",\n \"type\": \"space_threshold_crossing\",\n \"attributes\": {\n \"space_id\": \"422799\",\n \"threshold_id\": \"86\",\n \"timestamp\": \"2021-10-29T00:00:27.000Z\",\n \"direction\": \"in\"\n },\n \"relationships\": {\n \"space\": {\n \"data\": {\n \"id\": \"422799\",\n \"type\": \"space\"\n }\n },\n \"threshold\": {\n \"data\": {\n \"id\": \"86\",\n \"type\": \"threshold\"\n }\n }\n }\n },\n {\n \"id\": \"426305|86|2021-10-29T00:00:27.000Z\",\n \"type\": \"space_threshold_crossing\",\n \"attributes\": {\n \"space_id\": \"426305\",\n \"threshold_id\": \"86\",\n \"timestamp\": \"2021-10-29T00:00:27.000Z\",\n \"direction\": \"out\"\n },\n \"relationships\": {\n \"floor\": {\n \"data\": {\n \"id\": \"426305\",\n \"type\": \"floor\"\n }\n },\n \"threshold\": {\n \"data\": {\n \"id\": \"86\",\n \"type\": \"threshold\"\n }\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"86\",\n \"type\": \"threshold\",\n \"attributes\": {\n \"external_name\": \"Line 0\",\n \"external_id\": \"0\"\n }\n },\n {\n \"id\": \"426305\",\n \"type\": \"floor\",\n \"attributes\": {\n \"name\": \"5\",\n \"floor_ref_id\": \"05\"\n }\n },\n {\n \"id\": \"422799\",\n \"type\": \"space\",\n \"attributes\": {\n \"name\": \"Restroom\",\n \"building_ref_id\": \"R1\"\n }\n }\n ],\n \"links\": {\n \"next\": null,\n \"prev\": null\n }\n}"},"Space Crossings":{"value":"{\n \"data\": [\n {\n \"id\": \"426399|86|2021-10-29T00:00:27.000Z\",\n \"type\": \"space_threshold_crossing\",\n \"attributes\": {\n \"space_id\": \"426399\",\n \"threshold_id\": \"86\",\n \"timestamp\": \"2021-10-29T00:00:27.000Z\",\n \"direction\": \"in\"\n },\n \"relationships\": {\n \"space\": {\n \"data\": {\n \"id\": \"426399\",\n \"type\": \"space\"\n }\n },\n \"threshold\": {\n \"data\": {\n \"id\": \"86\",\n \"type\": \"threshold\"\n }\n }\n }\n },\n {\n \"id\": \"426399|86|2021-10-29T00:00:28.000Z\",\n \"type\": \"space_threshold_crossing\",\n \"attributes\": {\n \"space_id\": \"426399\",\n \"threshold_id\": \"86\",\n \"timestamp\": \"2021-10-29T00:00:28.000Z\",\n \"direction\": \"in\"\n },\n \"relationships\": {\n \"space\": {\n \"data\": {\n \"id\": \"426399\",\n \"type\": \"space\"\n }\n },\n \"threshold\": {\n \"data\": {\n \"id\": \"86\",\n \"type\": \"threshold\"\n }\n }\n }\n },\n {\n \"id\": \"426399|86|2021-10-29T00:00:29.000Z\",\n \"type\": \"space_threshold_crossing\",\n \"attributes\": {\n \"space_id\": \"426399\",\n \"threshold_id\": \"86\",\n \"timestamp\": \"2021-10-29T00:00:29.000Z\",\n \"direction\": \"out\"\n },\n \"relationships\": {\n \"space\": {\n \"data\": {\n \"id\": \"426399\",\n \"type\": \"space\"\n }\n },\n \"threshold\": {\n \"data\": {\n \"id\": \"86\",\n \"type\": \"threshold\"\n }\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"86\",\n \"type\": \"threshold\",\n \"attributes\": {\n \"external_name\": \"Line 0\",\n \"external_id\": \"0\"\n }\n },\n {\n \"id\": \"426399\",\n \"type\": \"space\",\n \"attributes\": {\n \"name\": \"Bathroom\",\n \"space_ref_id\": \"B1\"\n }\n }\n ],\n \"links\": {\n \"next\": \"/spaces/thresholds/crossings?date=2021-10-29&page[number]=2&page[size]=2\",\n \"prev\": null\n }\n}"}},"schema":{"oneOf":[{"title":"Building Crossings","type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"422713|86|2021-10-29T00:00:27.000Z"},"type":{"type":"string","example":"space_threshold_crossing"},"attributes":{"type":"object","properties":{"space_id":{"type":"string","example":"422713"},"threshold_id":{"type":"string","example":"86"},"timestamp":{"type":"string","example":"2021-10-29T00:00:27.000Z"},"direction":{"type":"string","example":"in"}}},"relationships":{"type":"object","properties":{"building":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"422713"},"type":{"type":"string","example":"building"}}}}},"threshold":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"86"},"type":{"type":"string","example":"threshold"}}}}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"86"},"type":{"type":"string","example":"threshold"},"attributes":{"type":"object","properties":{"external_name":{"type":"string","example":"Line 0"},"external_id":{"type":"string","example":"0"}}}}}},"links":{"type":"object","properties":{"next":{},"prev":{}}}}},{"title":"Building and Floor Crossings","type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"422713|86|2021-10-29T00:00:27.000Z"},"type":{"type":"string","example":"space_threshold_crossing"},"attributes":{"type":"object","properties":{"space_id":{"type":"string","example":"422713"},"threshold_id":{"type":"string","example":"86"},"timestamp":{"type":"string","example":"2021-10-29T00:00:27.000Z"},"direction":{"type":"string","example":"in"}}},"relationships":{"type":"object","properties":{"building":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"422713"},"type":{"type":"string","example":"building"}}}}},"threshold":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"86"},"type":{"type":"string","example":"threshold"}}}}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"86"},"type":{"type":"string","example":"threshold"},"attributes":{"type":"object","properties":{"external_name":{"type":"string","example":"Line 0"},"external_id":{"type":"string","example":"0"}}}}}},"links":{"type":"object","properties":{"next":{"type":"string","example":"/spaces/thresholds/crossings?date=2021-10-29&page[number]=2&page[size]=2"},"prev":{}}}}},{"title":"Floor Crossings","type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"426305|86|2021-10-29T00:00:27.000Z"},"type":{"type":"string","example":"space_threshold_crossing"},"attributes":{"type":"object","properties":{"space_id":{"type":"string","example":"426305"},"threshold_id":{"type":"string","example":"86"},"timestamp":{"type":"string","example":"2021-10-29T00:00:27.000Z"},"direction":{"type":"string","example":"in"}}},"relationships":{"type":"object","properties":{"floor":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"426305"},"type":{"type":"string","example":"floor"}}}}},"threshold":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"86"},"type":{"type":"string","example":"threshold"}}}}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"86"},"type":{"type":"string","example":"threshold"},"attributes":{"type":"object","properties":{"external_name":{"type":"string","example":"Line 0"},"external_id":{"type":"string","example":"0"}}}}}},"links":{"type":"object","properties":{"next":{"type":"string","example":"/spaces/thresholds/crossings?date=2021-10-29&page[number]=2&page[size]=2"},"prev":{}}}}},{"title":"Floor and Space Crossings","type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"422799|86|2021-10-29T00:00:27.000Z"},"type":{"type":"string","example":"space_threshold_crossing"},"attributes":{"type":"object","properties":{"space_id":{"type":"string","example":"422799"},"threshold_id":{"type":"string","example":"86"},"timestamp":{"type":"string","example":"2021-10-29T00:00:27.000Z"},"direction":{"type":"string","example":"in"}}},"relationships":{"type":"object","properties":{"space":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"422799"},"type":{"type":"string","example":"space"}}}}},"threshold":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"86"},"type":{"type":"string","example":"threshold"}}}}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"86"},"type":{"type":"string","example":"threshold"},"attributes":{"type":"object","properties":{"external_name":{"type":"string","example":"Line 0"},"external_id":{"type":"string","example":"0"}}}}}},"links":{"type":"object","properties":{"next":{},"prev":{}}}}},{"title":"Space Crossings","type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"426399|86|2021-10-29T00:00:27.000Z"},"type":{"type":"string","example":"space_threshold_crossing"},"attributes":{"type":"object","properties":{"space_id":{"type":"string","example":"426399"},"threshold_id":{"type":"string","example":"86"},"timestamp":{"type":"string","example":"2021-10-29T00:00:27.000Z"},"direction":{"type":"string","example":"in"}}},"relationships":{"type":"object","properties":{"space":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"426399"},"type":{"type":"string","example":"space"}}}}},"threshold":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"86"},"type":{"type":"string","example":"threshold"}}}}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"86"},"type":{"type":"string","example":"threshold"},"attributes":{"type":"object","properties":{"external_name":{"type":"string","example":"Line 0"},"external_id":{"type":"string","example":"0"}}}}}},"links":{"type":"object","properties":{"next":{"type":"string","example":"/spaces/thresholds/crossings?date=2021-10-29&page[number]=2&page[size]=2"},"prev":{}}}}}]}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Invalid Date Parameter":{"value":"{\n \"errors\": [\n {\n \"status\": \"400\",\n \"source\": {\n \"parameter\": \"date\"\n },\n \"title\": \"Invalid Parameter\",\n \"detail\": \"Invalid Date\"\n }\n ]\n}"}},"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","example":"400"},"source":{"type":"object","properties":{"parameter":{"type":"string","example":"date"}}},"title":{"type":"string","example":"Invalid Parameter"},"detail":{"type":"string","example":"Invalid Date"}}}}}}}}}},"deprecated":false}},"/spaces/types":{"get":{"summary":"/spaces/types","description":"Get the space types.","operationId":"space_types","parameters":[{"name":"vs-api-key","in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"data\": [\n {\n \"id\": \"2477\",\n \"type\": \"space_type\",\n \"attributes\": {\n \"id\": 2477,\n \"name\": \"Meeting Room Enclosed\",\n \"key\": \"meeting_room_enclosed\",\n \"for_groups\": true,\n \"shared_space\": true,\n \"open_seating\": false,\n \"reservable\": false,\n \"default_type\": false\n }\n }\n ]\n}"}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"2477"},"type":{"type":"string","example":"space_type"},"attributes":{"type":"object","properties":{"id":{"type":"integer","example":2477,"default":0},"name":{"type":"string","example":"Meeting Room Enclosed"},"key":{"type":"string","example":"meeting_room_enclosed"},"for_groups":{"type":"boolean","example":true,"default":true},"shared_space":{"type":"boolean","example":true,"default":true},"open_seating":{"type":"boolean","example":false,"default":true},"reservable":{"type":"boolean","example":false,"default":true},"default_type":{"type":"boolean","example":false,"default":true}}}}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/webhooks":{"post":{"summary":"/webhooks","description":"Create a webhook.","operationId":"webhooks-1","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","parameters"],"properties":{"name":{"type":"string","description":"Name of the webhook"},"action_id":{"type":"integer","description":"The webhook type to setup (3 - Space Report, 4 - Sensor Report, 5 - Space Availability, 6 - PIR Triggered)","format":"int32"},"enabled":{"type":"string","description":"Whether or not the webhook is enabled","default":"false","enum":["true","false"]},"parameters":{"type":"object","description":"Parameters to configure the webhook","required":["EVENT_ENDPOINT"],"properties":{"EVENT_ENDPOINT":{"type":"string","description":"HTTPS endpoint to send the webhook to"},"AUTHORIZATION":{"type":"object","description":"Optional authorization configuration","properties":{"BASIC":{"type":"object","required":["BASIC_AUTH_USERNAME","BASIC_AUTH_PASSWORD"],"properties":{"BASIC_AUTH_USERNAME":{"type":"string","description":"Username used in Basic authentication"},"BASIC_AUTH_PASSWORD":{"type":"string","description":"Password used in Basic authentication"}}}}},"CUSTOM_HEADERS":{"type":"object","description":"Object of key value pairs to send as part of the webhook request","properties":{"customkey":{"type":"string"}}},"SEND_FREQUENCY":{"type":"string","description":"Always: Webhook will be sent every time the event occurs. On Change: Webhook will only be sent when the person count or signs of life value has changed or if the event is the first event in a new hour.","default":"\"always\"","enum":["\"always\"","\"on_change\""]}}},"filters":{"type":"object","description":"Filters to restrict the webhook to. If absent will attach the webhook to all buildings.","properties":{}}}},"examples":{"Space Report Event Webhook with Custom Header":{"value":{"parameters":{"CUSTOM_HEADERS":{"x-api-key":"test"},"EVENT_ENDPOINT":"https://example.com"},"action_id":3,"name":"Webhook with custom header"}},"Space Report Event Webhook with Basic Authorization":{"value":{"parameters":{"AUTHORIZATION":{"BASIC":{"BASIC_AUTH_USERNAME":"user","BASIC_AUTH_PASSWORD":"pass"}},"EVENT_ENDPOINT":"https://example.com"},"action_id":3,"name":"Webhook with Basic Authorization"}},"Space Report Event Webhook Filtered to Single Building":{"value":{"parameters":{"AUTHORIZATION":{"BASIC":{"BASIC_AUTH_USERNAME":"","BASIC_AUTH_PASSWORD":""}},"EVENT_ENDPOINT":"https://example.com"},"filters":{"building_ids":[1]},"action_id":3,"name":"Webhook to specific building"}}}}}},"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Space Report Event Webhook Filtered to Single Building":{"value":"{\n \"data\": {\n \"id\": \"24\",\n \"type\": \"company_action\",\n \"attributes\": {\n \"name\": \"Webhook to specific building\",\n \"enabled\": false,\n \"parameters\": {\n \"AUTHORIZATION\": {\n \"BASIC\": {\n \"BASIC_AUTH_PASSWORD\": \"\",\n \"BASIC_AUTH_USERNAME\": \"\"\n }\n },\n \"EVENT_ENDPOINT\": \"https://example.com\"\n },\n \"filters\": {\n \"building_ids\": [\n 1\n ]\n }\n },\n \"relationships\": {\n \"action\": {\n \"data\": {\n \"id\": \"3\",\n \"type\": \"action\"\n }\n },\n \"created_by_user\": {\n \"data\": null\n }\n }\n }\n}"},"Webhook with Basic Authorization":{"value":"{\n \"data\": {\n \"id\": \"25\",\n \"type\": \"company_action\",\n \"attributes\": {\n \"name\": \"Webhook with basic AUTHORIZATION\",\n \"enabled\": false,\n \"parameters\": {\n \"AUTHORIZATION\": {\n \"BASIC\": {\n \"BASIC_AUTH_PASSWORD\": \"pass\",\n \"BASIC_AUTH_USERNAME\": \"user\"\n }\n },\n \"EVENT_ENDPOINT\": \"https://example.com\"\n }\n },\n \"relationships\": {\n \"action\": {\n \"data\": {\n \"id\": \"3\",\n \"type\": \"action\"\n }\n },\n \"created_by_user\": {\n \"data\": null\n }\n }\n }\n}"}},"schema":{"oneOf":[{"title":"Space Report Event Webhook Filtered to Single Building","type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"24"},"type":{"type":"string","example":"company_action"},"attributes":{"type":"object","properties":{"name":{"type":"string","example":"Webhook to specific building"},"enabled":{"type":"boolean","example":false,"default":true},"parameters":{"type":"object","properties":{"AUTHORIZATION":{"type":"object","properties":{"BASIC":{"type":"object","properties":{"BASIC_AUTH_PASSWORD":{"type":"string","example":""},"BASIC_AUTH_USERNAME":{"type":"string","example":""}}}}},"EVENT_ENDPOINT":{"type":"string","example":"https://example.com"}}},"filters":{"type":"object","properties":{"building_ids":{"type":"array","items":{"type":"integer","example":1,"default":0}}}}}},"relationships":{"type":"object","properties":{"action":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"3"},"type":{"type":"string","example":"action"}}}}},"created_by_user":{"type":"object","properties":{"data":{}}}}}}}}},{"title":"Webhook with Basic Authorization","type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"25"},"type":{"type":"string","example":"company_action"},"attributes":{"type":"object","properties":{"name":{"type":"string","example":"Webhook with basic AUTHORIZATION"},"enabled":{"type":"boolean","example":false,"default":true},"parameters":{"type":"object","properties":{"AUTHORIZATION":{"type":"object","properties":{"BASIC":{"type":"object","properties":{"BASIC_AUTH_PASSWORD":{"type":"string","example":"pass"},"BASIC_AUTH_USERNAME":{"type":"string","example":"user"}}}}},"EVENT_ENDPOINT":{"type":"string","example":"https://example.com"}}}}},"relationships":{"type":"object","properties":{"action":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"3"},"type":{"type":"string","example":"action"}}}}},"created_by_user":{"type":"object","properties":{"data":{}}}}}}}}}]}},"text/plain":{"examples":{"Space Report Event Webhook with Custom Header":{"value":"{\n \"data\": {\n \"id\": \"28\",\n \"type\": \"company_action\",\n \"attributes\": {\n \"name\": \"Webhook with custom header\",\n \"enabled\": false,\n \"parameters\": {\n \"CUSTOM_HEADERS\": {\n \"x-header\": \"test\"\n },\n \"EVENT_ENDPOINT\": \"https://example.com\"\n }\n },\n \"relationships\": {\n \"action\": {\n \"data\": {\n \"id\": \"3\",\n \"type\": \"action\"\n }\n },\n \"created_by_user\": {\n \"data\": null\n }\n }\n }\n}"}},"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"28"},"type":{"type":"string","example":"company_action"},"attributes":{"type":"object","properties":{"name":{"type":"string","example":"Webhook with custom header"},"enabled":{"type":"boolean","example":false,"default":true},"parameters":{"type":"object","properties":{"CUSTOM_HEADERS":{"type":"object","properties":{"x-header":{"type":"string","example":"test"}}},"EVENT_ENDPOINT":{"type":"string","example":"https://example.com"}}}}},"relationships":{"type":"object","properties":{"action":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"3"},"type":{"type":"string","example":"action"}}}}},"created_by_user":{"type":"object","properties":{"data":{}}}}}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false},"get":{"summary":"/webhooks","description":"Retrieve all webhooks.","operationId":"webhooks","responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"data\": [\n {\n \"id\": \"1\",\n \"type\": \"company_action\",\n \"attributes\": {\n \"name\": \"All\",\n \"enabled\": true,\n \"parameters\": {\n \"AUTHORIZATION\": {\n \"BASIC\": {\n \"BASIC_AUTH_PASSWORD\": \"example_user\",\n \"BASIC_AUTH_USERNAME\": \"example_pw\"\n }\n },\n \"EVENT_ENDPOINT\": \"https://example.com\"\n },\n \"filters\": {\n \"building_ids\": [\n 1\n ]\n }\n },\n \"relationships\": {\n \"action\": {\n \"data\": {\n \"id\": \"3\",\n \"type\": \"action\"\n }\n },\n \"created_by_user\": {\n \"data\": null\n }\n }\n },\n ],\n \"included\": [\n {\n \"id\": \"3\",\n \"type\": \"action\",\n \"attributes\": {\n \"name\": \"Space Report Event\",\n \"slug\": \"space_report_event\"\n }\n }\n ]\n}"}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/webhooks/{id}/enable":{"post":{"summary":"/webhooks/:id/enable","description":"Enable a webhook.","operationId":"webhooksidenable","parameters":[{"name":"id","in":"path","description":"Webhook ID","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/webhooks/{id}/disable":{"post":{"summary":"/webhooks/:id/disable","description":"Disable a webhook.","operationId":"webhooksiddisable","parameters":[{"name":"id","in":"path","description":"Webhook ID","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/webhooks/setup":{"get":{"summary":"/webhooks/setup","description":"Retrieve the webooks that are available to be setup, including their names, descriptions, and other basic information about them.","operationId":"webhookssetup","responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"data\": [\n {\n \"id\": \"3\",\n \"type\": \"action\",\n \"attributes\": {\n \"name\": \"Space Report Event\",\n \"slug\": \"space_report_event\"\n }\n },\n {\n \"id\": \"4\",\n \"type\": \"action\",\n \"attributes\": {\n \"name\": \"Sensor Report Event\",\n \"slug\": \"sensor_report_event\"\n }\n },\n {\n \"id\": \"5\",\n \"type\": \"action\",\n \"attributes\": {\n \"name\": \"Space Availability Event\",\n \"slug\": \"space_availability_event\"\n }\n },\n {\n \"id\": \"6\",\n \"type\": \"action\",\n \"attributes\": {\n \"name\": \"PIR Triggered Event\",\n \"slug\": \"pir_triggered_event\"\n }\n }\n ]\n}"}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"3"},"type":{"type":"string","example":"action"},"attributes":{"type":"object","properties":{"name":{"type":"string","example":"Space Report Event"},"slug":{"type":"string","example":"space_report_event"}}}}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/webhooks/{id}":{"patch":{"summary":"/webhooks/:id","description":"Update a webhook.","operationId":"webhooksid","parameters":[{"name":"id","in":"path","description":"Webhook ID","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"data\": {\n \"id\": \"21\",\n \"type\": \"company_action\",\n \"attributes\": {\n \"name\": \"Updated webhook\",\n \"enabled\": false,\n \"parameters\": {\n \"AUTHORIZATION\": {\n \"BASIC\": {\n \"BASIC_AUTH_PASSWORD\": \"\",\n \"BASIC_AUTH_USERNAME\": \"\"\n }\n },\n \"EVENT_ENDPOINT\": \"https://example.com\"\n }\n },\n \"relationships\": {\n \"action\": {\n \"data\": {\n \"id\": \"6\",\n \"type\": \"action\"\n }\n },\n \"created_by_user\": {\n \"data\": null\n }\n }\n }\n}"}},"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"21"},"type":{"type":"string","example":"company_action"},"attributes":{"type":"object","properties":{"name":{"type":"string","example":"Updated webhook"},"enabled":{"type":"boolean","example":false,"default":true},"parameters":{"type":"object","properties":{"AUTHORIZATION":{"type":"object","properties":{"BASIC":{"type":"object","properties":{"BASIC_AUTH_PASSWORD":{"type":"string","example":""},"BASIC_AUTH_USERNAME":{"type":"string","example":""}}}}},"EVENT_ENDPOINT":{"type":"string","example":"https://example.com"}}}}},"relationships":{"type":"object","properties":{"action":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"6"},"type":{"type":"string","example":"action"}}}}},"created_by_user":{"type":"object","properties":{"data":{}}}}}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false},"delete":{"summary":"/webhooks/:id","description":"Delete a webhook.","operationId":"webhooksid-1","parameters":[{"name":"id","in":"path","description":"Webhook ID","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/webhooks/{id}/logs":{"get":{"summary":"/webhooks/:id/logs","description":"Retrieve a webhook's logs. This endpoint only contains the last 7 days of logs.","operationId":"webhooksidlogs","parameters":[{"name":"id","in":"path","description":"ID of webhook","schema":{"type":"integer","format":"int32"},"required":true},{"name":"page","in":"query","description":"Page number for pagination","schema":{"type":"integer","format":"int32","default":1}},{"name":"limit","in":"query","description":"Total number of logs per response, max is 1000","schema":{"type":"integer","format":"int32","default":20}},{"name":"start_at","in":"query","schema":{"type":"string","format":"date"}},{"name":"end_at","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"meta\": {\n \"page\": 1,\n \"limit\": 20\n },\n \"links\": {\n \"next\": \"/webhooks/304/logs?page=2&limit=20\",\n \"prev\": null\n },\n \"data\": [\n {\n \"company_action_id\": \"1\",\n \"request\": {\n \"data\": {\n \"building_ref_id\": \"example\",\n \"event_type\": \"space_report\",\n \"floor_ref_id\": \"1\",\n \"motion_detected\": null,\n \"people\": {\n \"coordinates\": [],\n \"count\": 0,\n \"distances\": {\n \"units\": \"meters\",\n \"values\": []\n }\n },\n \"person_count\": 0,\n \"sensor_ids\": [\n \"400-E9U\"\n ],\n \"signs_of_life\": null,\n \"space_ref_id\": \"1\",\n \"timestamp\": \"2021-09-1T00:00:00.000Z\"\n },\n \"headers\": {\n \"Content-Type\": \"application/json\",\n \"x-application-code\": \"xxxxxxxxxxxxxxxx\",\n \"x-token\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n },\n \"json\": true,\n \"method\": \"post\",\n \"resolveWithFullResponse\": true,\n \"timeout\": 5000,\n \"url\": \"https://myendpoint.example.com\"\n },\n \"response_message\": \"ok\",\n \"response_status_code\": \"200\",\n \"response_time_seconds\": 0.200,\n \"request_timestamp\": \"2021-09-1T00:00:00.000Z\",\n \"inserted_at\": \"2021-09-1T00:00:00.000Z\",\n \"success\": null\n }, ...\n ]\n}"}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{\n \"errors\": [\n {\n \"status\": \"400\",\n \"source\": {\n \"parameter\": \"start_at\"\n },\n \"title\": \"Invalid Parameter\",\n \"detail\": \"Invalid Date\"\n }\n ]\n}"}},"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","example":"400"},"source":{"type":"object","properties":{"parameter":{"type":"string","example":"start_at"}}},"title":{"type":"string","example":"Invalid Parameter"},"detail":{"type":"string","example":"Invalid Date"}}}}}}}}}},"deprecated":false}},"/hardware/sensors":{"get":{"summary":"/hardware/sensors","description":"Fetch all sensors.Response conforms to the JSON API spec https://jsonapi.org/.Responses are limited to `1,000` sensors after which pagination will take place.","operationId":"hardware_sensors","parameters":[{"name":"vs-api-key","in":"header","required":true,"schema":{"type":"string"}},{"name":"page[number]","in":"query","description":"Requested page number. Only used when pagination is applicable.","schema":{"type":"integer","format":"int32","default":1}},{"name":"building_id","in":"query","description":"Filter sensors based on the associated unique building_id.","schema":{"type":"integer","format":"int32"}},{"name":"building_ref_id","in":"query","description":"Filter sensors based on the associated building_ref_id.","schema":{"type":"string"}}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n\t\"data\": [\n {\n \t\"id\": \"W00-123\",\n \"type\": \"sensor\",\n \"attributes\": {\n \t\"model\": \"L208\",\n \"firmware\": \"1d590897\",\n \"mac_address\": \"80:1F:12:D8:00:9J\",\n \"state\": \"operational\",\n \"network\": {\n \"status\": \"online\"\n },\n \"battery\": {\n \"status\": \"healthy\"\n }\n },\n \"relationships\": {\n \t\"floor\": {\n \t\"data\": {\n \t\"id\": \"3021081\",\n \"type\": \"floor\"\n }\n },\n \t\"building\": {\n \t\"data\": {\n \t\"id\": \"411081\",\n \"type\": \"building\"\n }\n },\n }\n }\n ],\n \"included\": [\n {\n \t\"id\": \"3021081\",\n \"type\": \"floor\",\n \"attributes\": {\n \t\"name\": \"Floor 1\",\n \"floor_ref_id\": \"F1\"\n }\n },\n {\n \t\"id\": \"411081\",\n \"type\": \"building\",\n \"attributes\": {\n \t\"name\": \"Building 1\",\n \"building_ref_id\": \"B1\"\n }\n }\n ],\n \"links\": {\n \t\"next\": \"/hardware/sensors?page[number]=2\",\n \"prev\": null\n }\n}"}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/hardware/gateways":{"get":{"summary":"/hardware/gateways","description":"Fetch all gateways. Response conforms to the JSON API spec https://jsonapi.org/.Responses are limited to `1,000` gateway after which pagination will take place.","operationId":"hardware_gateways","parameters":[{"name":"vs-api-key","in":"header","required":true,"schema":{"type":"string"}},{"name":"page[number]","in":"query","description":"Requested page number. Only used when pagination is applicable.","schema":{"type":"integer","format":"int32","default":1}},{"name":"building_id","in":"query","description":"Filter gateways based on the associated unique building_id.","schema":{"type":"integer","format":"int32"}},{"name":"building_ref_id","in":"query","description":"Filter gateways based on the associated building_ref_id.","schema":{"type":"string"}}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n\t\"data\": [\n {\n \t\"id\": \"C0300A2025-00001\",\n \"type\": \"gateway\",\n \"attributes\": {\n \t\"model\": \"rigado\",\n \"firmware\": \"5.4.4.0\",\n \"mac_address\": \"0A:00:27:08:J8:10\",\n \"network\": {\n \"status\": \"offline\"\n }\n },\n \"relationships\": {\n \t\"floor\": {\n \t\"data\": {\n \t\"id\": \"3021081\",\n \"type\": \"floor\"\n }\n },\n \t\"building\": {\n \t\"data\": {\n \t\"id\": \"411081\",\n \"type\": \"building\"\n }\n },\n }\n }\n ],\n \"included\": [\n {\n \t\"id\": \"3021081\",\n \"type\": \"floor\",\n \"attributes\": {\n \t\"name\": \"Floor 1\",\n \"floor_ref_id\": \"F1\"\n }\n },\n {\n \t\"id\": \"411081\",\n \"type\": \"building\",\n \"attributes\": {\n \t\"name\": \"Building 1\",\n \"building_ref_id\": \"B1\"\n }\n }\n ],\n \"links\": {\n \t\"next\": \"/hardware/sensors?page[number]=2\",\n \"prev\": null\n }\n}"}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/sensors":{"get":{"summary":"/sensors","description":"Get a list of all sensors in the account.","operationId":"sensors-1","parameters":[{"name":"filter","in":"query","description":"Only return sensors that are a child of this zone id.","schema":{"type":"string"}}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"sensors\": [\n {\n \"id\": \"sensor1\",\n \"path\": \"/1/2/\",\n \"partitions\": [],\n \"wakeup\": 8,\n \"sleep\": 18,\n \"polling_frequency\": 600,\n \"timezone\": \"America/Los_Angeles\"\n },\n {\n \"id\": \"sensor2\",\n \"path\": \"/1/2/\",\n \"partitions\": [\n \"sensor1/1\"\n ],\n \"wakeup\": 8,\n \"sleep\": 18,\n \"polling_frequency\": 600,\n \"timezone\": \"America/Los_Angeles\"\n }\n ]\n}"}},"schema":{"type":"object","properties":{"sensors":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"sensor1"},"path":{"type":"string","example":"/1/2/"},"partitions":{"type":"array"},"wakeup":{"type":"integer","example":8,"default":0},"sleep":{"type":"integer","example":18,"default":0},"polling_frequency":{"type":"integer","example":600,"default":0},"timezone":{"type":"string","example":"America/Los_Angeles"}}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/sensors/state":{"get":{"summary":"/sensors/state","description":"Get the current state of sensors.","operationId":"sensorsstate","parameters":[{"name":"ids","in":"query","description":"Comma separated sensor ids. If this is omitted, all sensors in the account will be returned.","schema":{"type":"string"}}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"sensors\": [\n {\n \"id\": \"sensor1\",\n \"ref_id\": null,\n \"count\": 5,\n \"battery_level\": \"ok\",\n \"timestamp\": \"2018-01-10T23:30:28Z\",\n \"partitionCounts\": {\n \"sensor1/1\": 5\n },\n \"firmwareVersion\": \"a2193c36\"\n },\n {\n \"id\": \"sensor2\",\n \"ref_id\": null,\n \"count\": 3,\n \"battery_level\": \"low\",\n \"timestamp\": \"2018-01-10T23:30:28Z\",\n \"partitionCounts\": {},\n \"firmwareVersion\": \"a2193c36\"\n }\n ]\n}"}},"schema":{"type":"object","properties":{"sensors":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"sensor1"},"ref_id":{},"count":{"type":"integer","example":5,"default":0},"battery_level":{"type":"string","example":"ok"},"timestamp":{"type":"string","example":"2018-01-10T23:30:28Z"},"partitionCounts":{"type":"object","properties":{"sensor1/1":{"type":"integer","example":5,"default":0}}},"firmwareVersion":{"type":"string","example":"a2193c36"}}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/sensors/history":{"get":{"summary":"/sensors/history","description":"Get the history of sensors.","operationId":"sensorshistory","parameters":[{"name":"start","in":"query","description":"ISO 8601 formatted start date for the query.","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"end","in":"query","description":"ISO 8601 formatted end date for the query.","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"ids","in":"query","description":"Comma separated sensor ids. If this is omitted, all sensors in the account will be returned.","schema":{"type":"string"}}],"responses":{"200":{"description":"200","content":{"text/plain":{"examples":{"Result":{"value":"2018-01-10T23:30:28Z,sensor1,0\n2018-01-10T23:30:28Z,sensor2,1\n2018-01-15T23:30:28Z,sensor1,0\n2018-01-15T23:30:28Z,sensor2,1"}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/metrics/aggregate/buildings/{building_id}":{"get":{"description":"Building level metrics, aggregated over the selected time period.","operationId":"get_metricsaggregatebuildings{building_id}","responses":{"200":{"description":"","content":{"application/json":{"examples":{"New Example":{"summary":"New Example","value":""},"Result":{"summary":"Result","value":{"data":{"id":"building:507547:2025-06-15_2025-06-18","type":"metrics_aggregate_building","attributes":{"avg_person_count":10.6,"peak_person_count":28,"avg_daily_peak_person_count":17.67,"avg_capacity_usage":7.97,"peak_capacity_usage":21.05,"avg_daily_peak_capacity_usage":13.28},"meta":{"duration_in_days":4,"start_date":"2025-06-15","end_date":"2025-06-18","context":"this_week"}},"included":[{"id":"building:507547:2025-06-08_2025-06-11","type":"metrics_aggregate_building","attributes":{"avg_person_count":18.61,"peak_person_count":42,"avg_daily_peak_person_count":27,"avg_capacity_usage":13.99,"peak_capacity_usage":31.58,"avg_daily_peak_capacity_usage":20.3},"meta":{"duration_in_days":4,"start_date":"2025-06-08","end_date":"2025-06-11","context":"same_days_last_week"}}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"examples":{"Bad Request":{"value":{"errors":[{"status":"400","title":"Missing or invalid filter parameters","detail":"Both `filter[local_date][gte]` and `filter[local_date][lte]` must be provided."}]},"summary":"Bad Request"}}}}}},"parameters":[{"name":"building_id","in":"path","required":true,"description":"ID of the building to get metrics for","schema":{"type":"integer","default":""}},{"name":"filter[local_date][gte]","in":"query","required":false,"description":"Start of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"filter[local_date][lte]","in":"query","required":false,"description":"End of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"include[]","in":"query","required":false,"description":"May optionally set this parameter to 'previous' to include comparison data from a previous time range. The previous time range will be automatically generated based on the time range selected.","schema":{"type":"string","example":"previous"},"example":"previous"},{"name":"filter[date_range]","in":"query","required":false,"description":"Must be one of the following: today, this_week, last_week, this_month, last_month, this_year, last_year. A request must include either this date range parameter or start and end date parameters as described above.","schema":{"type":"string","example":"today"},"example":"today"},{"name":"filter[days_of_week][]","in":"query","required":false,"description":"Must be an integer within the range of 0-6. The week starts on Sunday (i.e. 0 = Sunday).","schema":{"type":"integer","default":""}},{"name":"filter[hours_of_day][]","in":"query","required":false,"description":"Must be an integer within the range of 0-23. Defaults to working hours.","schema":{"type":"integer","default":""}}],"summary":"/metrics/aggregate/buildings"}},"/predict/space_usage":{"post":{"description":"Given a geojson of spaces on a floor, this endpoint would return the predicted number of people using these spaces when the requested number of people are attempting to use the spaces provided.","responses":{"200":{"description":"","content":{"application/json":{"examples":{"OK":{"summary":"OK","value":{"data":[{"id":"predict-spaces-10","type":"space_usage_prediction","attributes":{"person_count":10,"spaces":[{"id":"63584e0184e36d00352450d4","capacity":4,"normalized_space_type":"enclosed_collab","seated":3},{"id":"63584e0184e36d00352450d6","capacity":1,"normalized_space_type":"enclosed_focus","seated":1},{"id":"63584e0184e36d00352450d7","capacity":1,"normalized_space_type":"open_focus","seated":1},{"id":"63584e0184e36d00352450d8","capacity":1,"normalized_space_type":"open_focus","seated":0},{"id":"63584e0184e36d00352450d9","capacity":6,"normalized_space_type":"open_collab","seated":4}],"unseated":{"enclosed_collab":0,"enclosed_focus":0,"open_focus":1,"open_collab":0}}},{"id":"predict-spaces-13","type":"space_usage_prediction","attributes":{"person_count":13,"spaces":[{"id":"63584e0184e36d00352450d4","capacity":4,"normalized_space_type":"enclosed_collab","seated":4},{"id":"63584e0184e36d00352450d6","capacity":1,"normalized_space_type":"enclosed_focus","seated":1},{"id":"63584e0184e36d00352450d7","capacity":1,"normalized_space_type":"open_focus","seated":1},{"id":"63584e0184e36d00352450d8","capacity":1,"normalized_space_type":"open_focus","seated":1},{"id":"63584e0184e36d00352450d9","capacity":6,"normalized_space_type":"open_collab","seated":5}],"unseated":{"enclosed_collab":0,"enclosed_focus":0,"open_focus":0,"open_collab":1}}}],"meta":{},"person_counts":[10,13],"model_version":"monte-dist-4.3.1"}}},"schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}}}}},"parameters":[{"in":"header","name":"Content-Type","schema":{"type":"string","default":"application/geo+json"},"required":true}],"operationId":"post_predict-space-usage","requestBody":{"content":{"application/geo+json":{"schema":{"type":"object","properties":{}},"examples":{"Example: Multiple Person Counts":{"summary":"Example: Multiple Person Counts","value":{"person_counts":[10,13],"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-73.55364893892498,45.49486993647466],[-73.55363974022207,45.494866436003335],[-73.55362414242448,45.49486053520767],[-73.55361354406915,45.494874237252944],[-73.55364893892498,45.49486993647466]]]},"properties":{"id":"63584e0184e36d00352450d4","capacity":4,"normalized_space_type":"enclosed_collab"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-73.5537,45.4949],[-73.55369,45.49489],[-73.55368,45.4949],[-73.5537,45.4949]]]},"properties":{"id":"63584e0184e36d00352450d6","capacity":1,"normalized_space_type":"enclosed_focus"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-73.55375,45.49492],[-73.55374,45.49491],[-73.55373,45.49492],[-73.55375,45.49492]]]},"properties":{"id":"63584e0184e36d00352450d7","capacity":1,"normalized_space_type":"open_focus"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-73.5538,45.49494],[-73.55379,45.49493],[-73.55378,45.49494],[-73.5538,45.49494]]]},"properties":{"id":"63584e0184e36d00352450d8","capacity":1,"normalized_space_type":"open_focus"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-73.55385,45.49496],[-73.55383,45.49494],[-73.5538,45.49495],[-73.55382,45.49497],[-73.55385,45.49496]]]},"properties":{"id":"63584e0184e36d00352450d9","capacity":6,"normalized_space_type":"open_collab"}}]}}}}}},"summary":"Predict Space Usage"}},"/predict/space_shortage":{"post":{"description":"Given a geojson of spaces on a floor, this endpoint would return the predicted number of people in attendance at which point a meaningful number of people would be unable to find a space to work.","responses":{"200":{"description":""}},"parameters":[{"in":"header","name":"Content-Type","schema":{"type":"string","default":"application/geo+json"},"required":true}],"requestBody":{"content":{"application/geo+json":{"schema":{"type":"object","properties":{}},"examples":{"Example: Shortage Percentage":{"summary":"Example: Shortage Percentage","value":{"shortage_pct":0.05,"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-73.55364893892498,45.49486993647466],[-73.55363974022207,45.494866436003335],[-73.55362414242448,45.49486053520767],[-73.55361354406915,45.494874237252944],[-73.55364893892498,45.49486993647466]]]},"properties":{"id":"63584e0184e36d00352450d4","capacity":4,"normalized_space_type":"enclosed_collab"}}]}}}}}},"operationId":"post_predict-space-shortage","summary":"Predict Space Shortage"}},"/predict/normalized_space_type_distribution":{"post":{"description":"Returns occupancy distribution histograms for spaces on a floor, grouped by normalized space type and capacity tier.","responses":{"200":{"description":"","content":{"application/json":{"examples":{"OK":{"summary":"OK","value":{"data":[{"id":"predict-normalized-space-type-dist-50","type":"normalized_space_type_distribution_prediction","attributes":{"person_count":50,"normalized_space_types":{"enclosed_collab":[{"capacity":4,"spaces":[{"id":"63584e0184e36d00352450d4","name":"Hudson"},{"id":"63584e0184e36d00352450d5","name":"Thames"}],"histogram":[{"person_count":0,"pct":15.5},{"person_count":1,"pct":25},{"person_count":2,"pct":35},{"person_count":3,"pct":18.5},{"person_count":4,"pct":6}]}]}}}],"meta":{"person_counts":[50],"n_runs":1000,"model_version":"monte-dist-4.3.1"}}}}}}}},"parameters":[],"operationId":"post_predict-normalized-space-type-distribution","requestBody":{"content":{"application/geo+json":{"schema":{"type":"object","properties":{}},"examples":{"12 Person Count":{"summary":"12 Person Count","value":{"person_count":12,"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-73.55364893892498,45.49486993647466],[-73.55363974022207,45.494866436003335],[-73.55362414242448,45.49486053520767],[-73.55361354406915,45.494874237252944],[-73.55364893892498,45.49486993647466]]]},"properties":{"id":"63584e0184e36d00352450d4","capacity":4,"normalized_space_type":"enclosed_collab"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-73.5537,45.4949],[-73.55369,45.49489],[-73.55368,45.4949],[-73.5537,45.4949]]]},"properties":{"id":"63584e0184e36d00352450d6","capacity":1,"normalized_space_type":"enclosed_focus"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-73.55375,45.49492],[-73.55374,45.49491],[-73.55373,45.49492],[-73.55375,45.49492]]]},"properties":{"id":"63584e0184e36d00352450d7","capacity":1,"normalized_space_type":"open_focus"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-73.5538,45.49494],[-73.55379,45.49493],[-73.55378,45.49494],[-73.5538,45.49494]]]},"properties":{"id":"63584e0184e36d00352450d8","capacity":1,"normalized_space_type":"open_focus"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-73.55385,45.49496],[-73.55383,45.49494],[-73.5538,45.49495],[-73.55382,45.49497],[-73.55385,45.49496]]]},"properties":{"id":"63584e0184e36d00352450d9","capacity":6,"normalized_space_type":"open_collab"}}]}}}}}},"summary":"Predict Normalized Space Type Distribution"}},"/metrics/aggregate/floors/{floor_id}":{"get":{"description":"Floor level metrics, aggregated over the selected time period.","operationId":"get_metricsaggregatefloors","responses":{"200":{"description":"","content":{"application/json":{"examples":{"Result":{"summary":"Result","value":{"data":{"id":"floor:88412:2025-06-15_2025-06-18","type":"metrics_aggregate_floor","attributes":{"avg_person_count":10.6,"peak_person_count":28,"avg_daily_peak_person_count":17.67,"avg_capacity_usage":7.97,"peak_capacity_usage":21.05,"avg_daily_peak_capacity_usage":13.28},"meta":{"duration_in_days":4,"start_date":"2025-06-15","end_date":"2025-06-18","context":"this_week"}},"included":[{"id":"floor:88412:2025-06-08_2025-06-11","type":"metrics_aggregate_floor","attributes":{"avg_person_count":18.61,"peak_person_count":42,"avg_daily_peak_person_count":27,"avg_capacity_usage":13.99,"peak_capacity_usage":31.58,"avg_daily_peak_capacity_usage":20.3},"meta":{"duration_in_days":4,"start_date":"2025-06-08","end_date":"2025-06-11","context":"same_days_last_week"}}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"examples":{"Bad Request":{"value":{"errors":[{"status":"400","title":"Missing or invalid filter parameters","detail":"Both `filter[local_date][gte]` and `filter[local_date][lte]` must be provided."}]},"summary":"Bad Request"}}}}},"404":{"description":"Not Found","content":{"application/json":{"examples":{"Floor not found":{"summary":"Floor not found","value":{"errors":[{"status":"404","title":"Floor not found","detail":"No floor was found with id 88412."}]}}}}}}},"parameters":[{"name":"floor_id","in":"path","required":true,"description":"ID of the floor to get metrics for","schema":{"type":"integer","default":""}},{"name":"filter[local_date][gte]","in":"query","required":false,"description":"Start of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"filter[local_date][lte]","in":"query","required":false,"description":"End of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"include[]","in":"query","required":false,"description":"May optionally set this parameter to 'previous' to include comparison data from a previous time range. The previous time range will be automatically generated based on the time range selected.","schema":{"type":"string","example":"previous"},"example":"previous"},{"name":"filter[date_range]","in":"query","required":false,"description":"Must be one of the following: today, this_week, last_week, this_month, last_month, this_year, last_year. A request must include either this date range parameter or start and end date parameters as described above.","schema":{"type":"string","example":"today"},"example":"today"},{"name":"filter[days_of_week][]","in":"query","required":false,"description":"Must be an integer within the range of 0-6. The week starts on Sunday (i.e. 0 = Sunday).","schema":{"type":"integer","default":""}},{"name":"filter[hours_of_day][]","in":"query","required":false,"description":"Must be an integer within the range of 0-23. Defaults to working hours.","schema":{"type":"integer","default":""}}],"summary":"/metrics/aggregate/floors","x-internal":false}},"/metrics/aggregate/spaces/{space_id}":{"get":{"description":"Space level metrics, aggregated over the selected time period.","operationId":"get_metricsaggregatespace","responses":{"200":{"description":"","content":{"application/json":{"examples":{"Result":{"summary":"Result","value":{"data":{"id":"space:1902445:2025-06-15_2025-06-18","type":"metrics_aggregate_space","attributes":{"avg_person_count":10.6,"peak_person_count":28,"avg_daily_peak_person_count":17.67,"avg_capacity_usage":7.97,"peak_capacity_usage":21.05,"avg_daily_peak_capacity_usage":13.28},"meta":{"duration_in_days":4,"start_date":"2025-06-15","end_date":"2025-06-18","context":"this_week"}},"included":[{"id":"space:1902445:2025-06-08_2025-06-11","type":"metrics_aggregate_space","attributes":{"avg_person_count":18.61,"peak_person_count":42,"avg_daily_peak_person_count":27,"avg_capacity_usage":13.99,"peak_capacity_usage":31.58,"avg_daily_peak_capacity_usage":20.3},"meta":{"duration_in_days":4,"start_date":"2025-06-08","end_date":"2025-06-11","context":"same_days_last_week"}}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"examples":{"Bad Request":{"value":{"errors":[{"status":"400","title":"Missing or invalid filter parameters","detail":"Both `filter[local_date][gte]` and `filter[local_date][lte]` must be provided."}]},"summary":"Bad Request"}}}}},"404":{"description":"Not Found","content":{"application/json":{"examples":{"Space not found":{"summary":"Space not found","value":{"errors":[{"status":"404","title":"Space not found","detail":"No space was found with id 1902445."}]}}}}}}},"parameters":[{"name":"space_id","in":"path","required":true,"description":"ID of the space to get metrics for","schema":{"type":"integer","default":""}},{"name":"filter[local_date][gte]","in":"query","required":false,"description":"Start of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"filter[local_date][lte]","in":"query","required":false,"description":"End of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"include[]","in":"query","required":false,"description":"May optionally set this parameter to 'previous' to include comparison data from a previous time range. The previous time range will be automatically generated based on the time range selected.","schema":{"type":"string","example":"previous"},"example":"previous"},{"name":"filter[date_range]","in":"query","required":false,"description":"Must be one of the following: today, this_week, last_week, this_month, last_month, this_year, last_year. A request must include either this date range parameter or start and end date parameters as described above.","schema":{"type":"string","example":"today"},"example":"today"},{"name":"filter[days_of_week][]","in":"query","required":false,"description":"Must be an integer within the range of 0-6. The week starts on Sunday (i.e. 0 = Sunday).","schema":{"type":"integer","default":""}},{"name":"filter[hours_of_day][]","in":"query","required":false,"description":"Must be an integer within the range of 0-23. Defaults to working hours.","schema":{"type":"integer","default":""}}],"summary":"/metrics/aggregate/spaces/:space_id","x-internal":false}},"/metrics/aggregate/neighborhoods/{neighborhood_id}":{"get":{"description":"Neighborhood level metrics, aggregated over the selected time period.","operationId":"get_metricsaggregateneighborhoods","responses":{"200":{"description":"","content":{"application/json":{"examples":{"Result":{"summary":"Result","value":{"data":{"id":"neighborhood:44219:2025-06-15_2025-06-18","type":"metrics_aggregate_neighborhood","attributes":{"avg_person_count":10.6,"peak_person_count":28,"avg_daily_peak_person_count":17.67,"avg_capacity_usage":7.97,"peak_capacity_usage":21.05,"avg_daily_peak_capacity_usage":13.28},"meta":{"duration_in_days":4,"start_date":"2025-06-15","end_date":"2025-06-18","context":"this_week"}},"included":[{"id":"neighborhood:44219:2025-06-08_2025-06-11","type":"metrics_aggregate_neighborhood","attributes":{"avg_person_count":18.61,"peak_person_count":42,"avg_daily_peak_person_count":27,"avg_capacity_usage":13.99,"peak_capacity_usage":31.58,"avg_daily_peak_capacity_usage":20.3},"meta":{"duration_in_days":4,"start_date":"2025-06-08","end_date":"2025-06-11","context":"same_days_last_week"}}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"examples":{"Bad Request":{"value":{"errors":[{"status":"400","title":"Missing or invalid filter parameters","detail":"Both `filter[local_date][gte]` and `filter[local_date][lte]` must be provided."}]},"summary":"Bad Request"}}}}},"404":{"description":"Not Found","content":{"application/json":{"examples":{"Neighborhood not found":{"summary":"Neighborhood not found","value":{"errors":[{"status":"404","title":"Neighborhood not found","detail":"No neighborhood was found with id 44219."}]}}}}}}},"parameters":[{"name":"neighborhood_id","in":"path","required":true,"description":"Zone ID of the neighborhood to get metrics for. This is the neighborhood's zone ID, not its neighborhood record ID.","schema":{"type":"integer","default":""}},{"name":"filter[local_date][gte]","in":"query","required":false,"description":"Start of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"filter[local_date][lte]","in":"query","required":false,"description":"End of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"include[]","in":"query","required":false,"description":"May optionally set this parameter to 'previous' to include comparison data from a previous time range. The previous time range will be automatically generated based on the time range selected.","schema":{"type":"string","example":"previous"},"example":"previous"},{"name":"filter[date_range]","in":"query","required":false,"description":"Must be one of the following: today, this_week, last_week, this_month, last_month, this_year, last_year. A request must include either this date range parameter or start and end date parameters as described above.","schema":{"type":"string","example":"today"},"example":"today"},{"name":"filter[days_of_week][]","in":"query","required":false,"description":"Must be an integer within the range of 0-6. The week starts on Sunday (i.e. 0 = Sunday).","schema":{"type":"integer","default":""}},{"name":"filter[hours_of_day][]","in":"query","required":false,"description":"Must be an integer within the range of 0-23. Defaults to working hours.","schema":{"type":"integer","default":""}}],"summary":"/metrics/aggregate/neighborhoods","x-internal":false}},"/metrics/aggregate/space_groups":{"get":{"description":"Space group level metrics for one floor, aggregated over the selected time period.","operationId":"get_metricsaggregatespacegroups","responses":{"200":{"description":"","content":{"application/json":{"examples":{"Result":{"summary":"Result","value":{"data":{"id":"space_group:88412-7552:2025-06-15_2025-06-18","type":"metrics_aggregate_space_group","attributes":{"avg_person_count":10.6,"peak_person_count":28,"avg_daily_peak_person_count":17.67,"avg_capacity_usage":7.97,"peak_capacity_usage":21.05,"avg_daily_peak_capacity_usage":13.28},"meta":{"duration_in_days":4,"start_date":"2025-06-15","end_date":"2025-06-18","context":"this_week"}},"included":[{"id":"space_group:88412-7552:2025-06-08_2025-06-11","type":"metrics_aggregate_space_group","attributes":{"avg_person_count":18.61,"peak_person_count":42,"avg_daily_peak_person_count":27,"avg_capacity_usage":13.99,"peak_capacity_usage":31.58,"avg_daily_peak_capacity_usage":20.3},"meta":{"duration_in_days":4,"start_date":"2025-06-08","end_date":"2025-06-11","context":"same_days_last_week"}}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"examples":{"Bad Request":{"value":{"errors":[{"status":"400","title":"Missing or invalid filter parameters","detail":"Both `filter[local_date][gte]` and `filter[local_date][lte]` must be provided."}]},"summary":"Bad Request"}}}}},"404":{"description":"Not Found","content":{"application/json":{"examples":{"Space group not found":{"summary":"Space group not found","value":{"errors":[{"status":"404","title":"Space group not found","detail":"No space group was found for zone id 88412-7552."}]}}}}}}},"parameters":[{"name":"zone_id","in":"query","required":true,"description":"Compound ID of the space group, in the form {floor_id}-{space_group_id}, for example 88412-7552. Required.","schema":{"type":"string","default":""}},{"name":"filter[local_date][gte]","in":"query","required":false,"description":"Start of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"filter[local_date][lte]","in":"query","required":false,"description":"End of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"include[]","in":"query","required":false,"description":"May optionally set this parameter to 'previous' to include comparison data from a previous time range. The previous time range will be automatically generated based on the time range selected.","schema":{"type":"string","example":"previous"},"example":"previous"},{"name":"filter[date_range]","in":"query","required":false,"description":"Must be one of the following: today, this_week, last_week, this_month, last_month, this_year, last_year. A request must include either this date range parameter or start and end date parameters as described above.","schema":{"type":"string","example":"today"},"example":"today"},{"name":"filter[days_of_week][]","in":"query","required":false,"description":"Must be an integer within the range of 0-6. The week starts on Sunday (i.e. 0 = Sunday).","schema":{"type":"integer","default":""}},{"name":"filter[hours_of_day][]","in":"query","required":false,"description":"Must be an integer within the range of 0-23. Defaults to working hours.","schema":{"type":"integer","default":""}}],"summary":"/metrics/aggregate/space_groups","x-internal":false}},"/metrics/aggregate/space_types":{"get":{"description":"Space type level metrics for one floor, aggregated over the selected time period.","operationId":"get_metricsaggregatespacetypes","responses":{"200":{"description":"","content":{"application/json":{"examples":{"Result":{"summary":"Result","value":{"data":{"id":"space_type:88412-14:2025-06-15_2025-06-18","type":"metrics_aggregate_space_type","attributes":{"avg_person_count":10.6,"peak_person_count":28,"avg_daily_peak_person_count":17.67,"avg_capacity_usage":7.97,"peak_capacity_usage":21.05,"avg_daily_peak_capacity_usage":13.28},"meta":{"duration_in_days":4,"start_date":"2025-06-15","end_date":"2025-06-18","context":"this_week"}},"included":[{"id":"space_type:88412-14:2025-06-08_2025-06-11","type":"metrics_aggregate_space_type","attributes":{"avg_person_count":18.61,"peak_person_count":42,"avg_daily_peak_person_count":27,"avg_capacity_usage":13.99,"peak_capacity_usage":31.58,"avg_daily_peak_capacity_usage":20.3},"meta":{"duration_in_days":4,"start_date":"2025-06-08","end_date":"2025-06-11","context":"same_days_last_week"}}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"examples":{"Bad Request":{"value":{"errors":[{"status":"400","title":"Missing or invalid filter parameters","detail":"Both `filter[local_date][gte]` and `filter[local_date][lte]` must be provided."}]},"summary":"Bad Request"}}}}},"404":{"description":"Not Found","content":{"application/json":{"examples":{"Space type not found":{"summary":"Space type not found","value":{"errors":[{"status":"404","title":"Space type not found","detail":"No space type was found for zone id 88412-open_focus."}]}}}}}}},"parameters":[{"name":"zone_id","in":"query","required":true,"description":"Compound ID of the space type, in the form {floor_id}-{space_type_key}, for example 88412-open_focus. Required.","schema":{"type":"string","default":""}},{"name":"filter[local_date][gte]","in":"query","required":false,"description":"Start of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"filter[local_date][lte]","in":"query","required":false,"description":"End of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"include[]","in":"query","required":false,"description":"May optionally set this parameter to 'previous' to include comparison data from a previous time range. The previous time range will be automatically generated based on the time range selected.","schema":{"type":"string","example":"previous"},"example":"previous"},{"name":"filter[date_range]","in":"query","required":false,"description":"Must be one of the following: today, this_week, last_week, this_month, last_month, this_year, last_year. A request must include either this date range parameter or start and end date parameters as described above.","schema":{"type":"string","example":"today"},"example":"today"},{"name":"filter[days_of_week][]","in":"query","required":false,"description":"Must be an integer within the range of 0-6. The week starts on Sunday (i.e. 0 = Sunday).","schema":{"type":"integer","default":""}},{"name":"filter[hours_of_day][]","in":"query","required":false,"description":"Must be an integer within the range of 0-23. Defaults to working hours.","schema":{"type":"integer","default":""}}],"summary":"/metrics/aggregate/space_types","x-internal":false}},"/metrics/aggregate/portfolio":{"get":{"description":"Portfolio level metrics across every building you can access, aggregated over the selected time period.","operationId":"get_metricsaggregateportfolio","responses":{"200":{"description":"","content":{"application/json":{"examples":{"Result":{"summary":"Result","value":{"data":{"id":"portfolio:642:2025-06-15_2025-06-18","type":"metrics_aggregate_portfolio","attributes":{"avg_person_count":10.6,"peak_person_count":28,"avg_daily_peak_person_count":17.67,"avg_capacity_usage":7.97,"peak_capacity_usage":21.05,"avg_daily_peak_capacity_usage":13.28},"meta":{"duration_in_days":4,"start_date":"2025-06-15","end_date":"2025-06-18","context":"this_week"}},"included":[{"id":"portfolio:642:2025-06-08_2025-06-11","type":"metrics_aggregate_portfolio","attributes":{"avg_person_count":18.61,"peak_person_count":42,"avg_daily_peak_person_count":27,"avg_capacity_usage":13.99,"peak_capacity_usage":31.58,"avg_daily_peak_capacity_usage":20.3},"meta":{"duration_in_days":4,"start_date":"2025-06-08","end_date":"2025-06-11","context":"same_days_last_week"}}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"examples":{"Bad Request":{"value":{"errors":[{"status":"400","title":"Missing or invalid filter parameters","detail":"Both `filter[local_date][gte]` and `filter[local_date][lte]` must be provided."}]},"summary":"Bad Request"}}}}}},"parameters":[{"name":"filter[local_date][gte]","in":"query","required":false,"description":"Start of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"filter[local_date][lte]","in":"query","required":false,"description":"End of the time interval (interval includes this date).","schema":{"type":"string","default":""}},{"name":"include[]","in":"query","required":false,"description":"May optionally set this parameter to 'previous' to include comparison data from a previous time range. The previous time range will be automatically generated based on the time range selected.","schema":{"type":"string","example":"previous"},"example":"previous"},{"name":"filter[date_range]","in":"query","required":false,"description":"Must be one of the following: today, this_week, last_week, this_month, last_month, this_year, last_year. A request must include either this date range parameter or start and end date parameters as described above.","schema":{"type":"string","example":"today"},"example":"today"},{"name":"filter[days_of_week][]","in":"query","required":false,"description":"Must be an integer within the range of 0-6. The week starts on Sunday (i.e. 0 = Sunday).","schema":{"type":"integer","default":""}},{"name":"filter[hours_of_day][]","in":"query","required":false,"description":"Must be an integer within the range of 0-23. Defaults to working hours.","schema":{"type":"integer","default":""}}],"summary":"/metrics/aggregate/portfolio","x-internal":false}},"/metrics/aggregate/spaces":{"get":{"summary":"/metrics/aggregate/spaces","description":"Metrics for all spaces in a building, or company","operationId":"metrics","parameters":[{"name":"filter[local_date][gte]","in":"query","description":"Timestamp (UTC) that you would like the results to be greater than or equal to.","schema":{"type":"string","format":"date-time","example":"2025-05-05"},"example":"2025-05-05"},{"name":"filter[local_date][lte]","in":"query","description":"Timestamp (UTC) that you would like the results to be less than or equal to.","schema":{"type":"string","format":"date-time","example":"2025-05-06"},"example":"2025-05-06"},{"name":"filter[building_id]","in":"query","description":"Filter metrics based on one building.","schema":{"type":"integer","format":"int32"}},{"name":"filter[hours_of_day]","in":"query","description":"Hours of the day to include in metrics. Example: [0, 5, 6, 13]","schema":{"type":"array","items":{"type":"integer","format":"int32"}}},{"name":"filter[days_of_week]","in":"query","description":"Days of the week to include in metrics. Example: [0, 1, 2]","schema":{"type":"string"}},{"name":"page[number]","in":"query","description":"Page number for pagination.","schema":{"type":"integer","format":"int32"}},{"name":"page[size]","in":"query","description":"Page size for pagination.","schema":{"type":"integer","format":"int32"}},{"name":"include[]","in":"query","description":"Joined data to include with your metrics. Options: 'space', 'space_type', and 'space_groups'","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"data\": [\n {\n \"id\": \"415476\",\n \"type\": \"space_metrics\",\n \"attributes\": {\n \"space_id\": 415476,\n \"capacity\": 3,\n \"avg_person_count\": 0.2,\n \"avg_person_count_when_used\": 1,\n \"peak_person_count\": 2,\n \"avg_daily_peak_person_count\": 2,\n \"active_minutes_used\": 51,\n \"passive_minutes_used\": 38,\n \"total_hours_actively_occupied\": 9,\n \"pct_active_time\": 0.09444444444444444,\n \"pct_passive_time\": 0.07037037037037037,\n \"avg_capacity_usage\": 0.07,\n \"avg_capacity_usage_when_used\": 0.33\n },\n \"relationships\": {\n \"space_type\": {\n \"links\": {\n \"related\": \"/api/v1/space_types?filter[daily_space_metric_id]=\"\n }\n },\n \"space\": {\n \"links\": {\n \"related\": \"/api/v1/spaces/415476\"\n }\n },\n \"space_groups\": {\n \"links\": {\n \"related\": \"/api/v1/space_groups?filter[space_id]=\"\n }\n }\n }\n },\n {\n \"id\": \"415495\",\n \"type\": \"space_metrics\",\n \"attributes\": {\n \"space_id\": 415495,\n \"capacity\": 1,\n \"avg_person_count\": 0,\n \"avg_person_count_when_used\": 2,\n \"peak_person_count\": 0,\n \"avg_daily_peak_person_count\": 0,\n \"active_minutes_used\": 60,\n \"passive_minutes_used\": 54,\n \"total_hours_actively_occupied\": 9,\n \"pct_active_time\": 0.1111111111111111,\n \"pct_passive_time\": 0.1,\n \"avg_capacity_usage\": 0,\n \"avg_capacity_usage_when_used\": 1.56\n },\n \"relationships\": {\n \"space_type\": {\n \"links\": {\n \"related\": \"/api/v1/space_types?filter[daily_space_metric_id]=\"\n }\n },\n \"space\": {\n \"links\": {\n \"related\": \"/api/v1/spaces/415495\"\n }\n },\n \"space_groups\": {\n \"links\": {\n \"related\": \"/api/v1/space_groups?filter[space_id]=\"\n }\n }\n }\n },\n {\n \"id\": \"415501\",\n \"type\": \"space_metrics\",\n \"attributes\": {\n \"space_id\": 415501,\n \"capacity\": 1,\n \"avg_person_count\": 0,\n \"avg_person_count_when_used\": 1,\n \"peak_person_count\": 0,\n \"avg_daily_peak_person_count\": 0,\n \"active_minutes_used\": 104,\n \"passive_minutes_used\": 78,\n \"total_hours_actively_occupied\": 9,\n \"pct_active_time\": 0.1925925925925926,\n \"pct_passive_time\": 0.14444444444444443,\n \"avg_capacity_usage\": 0,\n \"avg_capacity_usage_when_used\": 1.22\n },\n \"relationships\": {\n \"space_type\": {\n \"links\": {\n \"related\": \"/api/v1/space_types?filter[daily_space_metric_id]=\"\n }\n },\n \"space\": {\n \"links\": {\n \"related\": \"/api/v1/spaces/415501\"\n }\n },\n \"space_groups\": {\n \"links\": {\n \"related\": \"/api/v1/space_groups?filter[space_id]=\"\n }\n }\n }\n }\n ],\n \"meta\": {}\n}"}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"415476"},"type":{"type":"string","example":"space_metrics"},"attributes":{"type":"object","properties":{"space_id":{"type":"integer","example":415476,"default":0},"capacity":{"type":"integer","example":3,"default":0},"avg_person_count":{"type":"number","example":0.2,"default":0},"avg_person_count_when_used":{"type":"integer","example":1,"default":0},"peak_person_count":{"type":"integer","example":2,"default":0},"avg_daily_peak_person_count":{"type":"integer","example":2,"default":0},"active_minutes_used":{"type":"integer","example":51,"default":0},"passive_minutes_used":{"type":"integer","example":38,"default":0},"total_hours_actively_occupied":{"type":"integer","example":9,"default":0},"pct_active_time":{"type":"number","example":0.09444444444444444,"default":0},"pct_passive_time":{"type":"number","example":0.07037037037037037,"default":0},"avg_capacity_usage":{"type":"number","example":0.07,"default":0},"avg_capacity_usage_when_used":{"type":"number","example":0.33,"default":0}}},"relationships":{"type":"object","properties":{"space_type":{"type":"object","properties":{"links":{"type":"object","properties":{"related":{"type":"string","example":"/api/v1/space_types?filter[daily_space_metric_id]="}}}}},"space":{"type":"object","properties":{"links":{"type":"object","properties":{"related":{"type":"string","example":"/api/v1/spaces/415476"}}}}},"space_groups":{"type":"object","properties":{"links":{"type":"object","properties":{"related":{"type":"string","example":"/api/v1/space_groups?filter[space_id]="}}}}}}}}}},"meta":{"type":"object","properties":{}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{}"}},"schema":{"type":"object","properties":{}}}}}},"deprecated":false}},"/metrics/spaces":{"get":{"summary":"/metrics/spaces","description":"Metrics for spaces aggregated by the requested interval","operationId":"metrics_spaces","parameters":[{"name":"filter[timestamp][gte]","in":"query","description":"Timestamp (UTC) that you would like the results to be greater than or equal to.","schema":{"type":"string","format":"date-time","example":"2025-05-05"},"example":"2025-05-05"},{"name":"filter[timestamp][lte]","in":"query","description":"Timestamp (UTC) that you would like the results to be less than or equal to.","schema":{"type":"string","format":"date-time","example":"2025-05-06"},"example":"2025-05-06"},{"name":"building_id","in":"query","description":"Filter metrics based on its associated space's unique building_id.","schema":{"type":"integer","format":"int32"}},{"name":"building_ref_id","in":"query","description":"Filter metrics based on its associated space's building_ref_id.","schema":{"type":"string"}},{"name":"interval","in":"query","description":"Interval (in minutes) to use for the bucketing of metrics data.","schema":{"type":"integer","format":"int32","example":60},"example":60,"required":true},{"name":"page[number]","in":"query","description":"Page number for pagination.","schema":{"type":"integer","format":"int32","default":1}},{"name":"page[size]","in":"query","description":"Number of spaces to include per page. Limit is 1000.","schema":{"type":"integer","format":"int32","default":250}}],"responses":{"200":{"description":"200","content":{"application/json":{"examples":{"Result":{"value":"{\n \"data\": [\n {\n \"id\": \"95871\",\n \"type\": \"aggregated_space_metrics\",\n \"attributes\": {\n \"space_ref_id\": \"CONF1\",\n \"floor_ref_id\": \"FL1\",\n \"building_ref_id\": \"B1\",\n \"metrics\": [\n {\n \"avg_person_count\": 0.0,\n \"min_person_count\": 0,\n \"max_person_count\": 0,\n \"minutes_actively_occupied\": 0.0,\n \"minutes_passively_occupied\": null,\n \"timestamp\": \"2023-01-30T14:30:00.000Z\",\n \"mode_person_count\": 0,\n \"avg_person_count_when_used\": 0.0\n },\n {\n \"avg_person_count\": 5.0,\n \"min_person_count\": 0,\n \"max_person_count\": 10,\n \"minutes_actively_occupied\": 8.0,\n \"minutes_passively_occupied\": null,\n \"timestamp\": \"2023-01-30T14:40:00.000Z\",\n \"mode_person_count\": 4,\n \"avg_person_count_when_used\": 7.0\n },\n {\n \"avg_person_count\": 2.0,\n \"min_person_count\": 0,\n \"max_person_count\": 4,\n \"minutes_actively_occupied\": 5.0,\n \"minutes_passively_occupied\": 3.0,\n \"timestamp\": \"2023-01-30T14:50:00.000Z\",\n \"mode_person_count\": 4,\n \"avg_person_count_when_used\": 2.0\n }\n ]\n }\n }\n ],\n \"meta\": {\n \"interval\": \"10\"\n },\n \"links\": {\n \"next\": \"/metrics/spaces?filter[timestamp][gte]=2023-01-30T14:30:00Z&filter[timestamp][lte]=2023-01-30T15:00:00Z&interval=10&page[number]=2&page[size]=1\",\n \"prev\": null\n }\n}"}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"95871"},"type":{"type":"string","example":"aggregated_space_metrics"},"attributes":{"type":"object","properties":{"space_ref_id":{"type":"string","example":"CONF1"},"floor_ref_id":{"type":"string","example":"FL1"},"building_ref_id":{"type":"string","example":"B1"},"metrics":{"type":"array","items":{"type":"object","properties":{"avg_person_count":{"type":"integer","example":0,"default":0},"min_person_count":{"type":"integer","example":0,"default":0},"max_person_count":{"type":"integer","example":0,"default":0},"minutes_actively_occupied":{"type":"integer","example":0,"default":0},"minutes_passively_occupied":{},"timestamp":{"type":"string","example":"2023-01-30T14:30:00.000Z"},"mode_person_count":{"type":"integer","example":0,"default":0},"avg_person_count_when_used":{"type":"integer","example":0,"default":0}}}}}}}}},"meta":{"type":"object","properties":{"interval":{"type":"string","example":"10"}}},"links":{"type":"object","properties":{"next":{"type":"string","example":"/metrics/spaces?filter[timestamp][gte]=2023-01-30T14:30:00Z&filter[timestamp][lte]=2023-01-30T15:00:00Z&interval=10&page[number]=2&page[size]=1"},"prev":{}}}}}}}},"400":{"description":"400","content":{"application/json":{"examples":{"Result":{"value":"{\n \"errors\": [\n {\n \"status\": \"400\",\n \"source\": {\n \"parameter\": \"filter[timestamp]\"\n },\n \"title\": \"Invalid Parameter\",\n \"detail\": \"Timestamp order incorrect\"\n }\n ]\n}"}},"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","example":"400"},"source":{"type":"object","properties":{"parameter":{"type":"string","example":"filter[timestamp]"}}},"title":{"type":"string","example":"Invalid Parameter"},"detail":{"type":"string","example":"Timestamp order incorrect"}}}}}}}}}},"deprecated":false}}},"x-readme":{"headers":[],"explorer-enabled":true,"proxy-enabled":true},"x-readme-fauxas":true}