Buildings
You can use Butlr's GraphQL API to create, update, and retrieve information about buildings.
Last updated
You can use Butlr's GraphQL API to create, update, and retrieve information about buildings.
Last updated
A building is an individual structure within a , comprising one or more floors. A site can have one or multiple buildings.
This page provides guidance on how to , , and , enabling streamlined management of building data and ensuring operational efficiency.
First, obtain an access token to get started .
query allBuildings {
buildings {
data {
id
name
capacity {
max
mid
}
floors {
id
name
...FloorFragment
}
buildingNumber
address {
lines
}
customID
site {
id
name
...SiteFragment
}
}
}
}
curl --location 'https://api.butlr.io/api/v3/graphql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer [insert access_token here]' \
--data '{"query":"query allBuildings {\n buildings {\n data {\n id\n name\n capacity {\n max\n mid\n }\n floors {\n id\n name\n }\n buildingNumber\n address {\n lines\n }\n customID\n site {\n id\n name\n }\n }\n }\n}","variables":{}}'
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.butlr.io/api/v3/graphql"
method := "POST"
payload := strings.NewReader("{\"query\":\"query allBuildings {\\n buildings {\\n data {\\n id\\n name\\n capacity {\\n max\\n mid\\n }\\n floors {\\n id\\n name\\n }\\n buildingNumber\\n address {\\n lines\\n }\\n customID\\n site {\\n id\\n name\\n }\\n }\\n }\\n}\",\"variables\":{}}")
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Bearer [insert access_token here]")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
import requests
import json
url = "https://api.butlr.io/api/v3/graphql"
payload = "{\"query\":\"query allBuildings {\\n buildings {\\n data {\\n id\\n name\\n capacity {\\n max\\n mid\\n }\\n floors {\\n id\\n name\\n }\\n buildingNumber\\n address {\\n lines\\n }\\n customID\\n site {\\n id\\n name\\n }\\n }\\n }\\n}\",\"variables\":{}}"
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer [insert access_token here]'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
mutation updateBuildingInfo($input: UpdateBuildingInfoInput!) {
updateBuildingInfo(input: $input) {
building {
id
name
capacity {
max
mid
}
floors {
id
name
}
buildingNumber
address {
lines
}
customID
site {
id
name
}
}
}
}
# Variables
{
"input" : {
"name": "example_building_updated_name",
"id" : "building_2mAArGz8LmitbjThTYHYoRVciLY"
}
}
curl --location 'https://api.butlr.io/api/v3/graphql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer [insert access_token here]' \
--data '{"query":"mutation updateBuildingInfo($input: UpdateBuildingInfoInput!) {\n updateBuildingInfo(input: $input) {\n building {\n id\n name\n capacity {\n max\n mid\n }\n floors {\n id\n name\n }\n buildingNumber\n address {\n lines\n }\n customID\n site {\n id\n name\n }\n }\n }\n}","variables":{"input":{"name":"example_building_updated_name","id":"building_2mAArGz8LmitbjThTYHYoRVciLY"}}}'
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.butlr.io/api/v3/graphql"
method := "POST"
payload := strings.NewReader("{\"query\":\"mutation updateBuildingInfo($input: UpdateBuildingInfoInput!) {\\n updateBuildingInfo(input: $input) {\\n building {\\n id\\n name\\n capacity {\\n max\\n mid\\n }\\n floors {\\n id\\n name\\n }\\n buildingNumber\\n address {\\n lines\\n }\\n customID\\n site {\\n id\\n name\\n }\\n }\\n }\\n}\",\"variables\":{\"input\":{\"name\":\"example_building_updated_name\",\"id\":\"building_2mAArGz8LmitbjThTYHYoRVciLY\"}}}")
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Bearer [insert access_token here]")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
import requests
import json
url = "https://api.butlr.io/api/v3/graphql"
payload = "{\"query\":\"mutation updateBuildingInfo($input: UpdateBuildingInfoInput!) {\\n updateBuildingInfo(input: $input) {\\n building {\\n id\\n name\\n capacity {\\n max\\n mid\\n }\\n floors {\\n id\\n name\\n }\\n buildingNumber\\n address {\\n lines\\n }\\n customID\\n site {\\n id\\n name\\n }\\n }\\n }\\n}\",\"variables\":{\"input\":{\"name\":\"example_building_updated_name\",\"id\":\"building_2mAArGz8LmitbjThTYHYoRVciLY\"}}}"
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer [insert access_token here]'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)