Buildings
You can use Butlr's GraphQL API to create, update, and retrieve information about buildings.
Last updated
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)