List access-control grants for a customer
curl --request GET \
--url https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants \
--header 'Authorization: Bearer <token>'import requests
url = "https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"type": "access-control-grants",
"id": "123453-2345-4dd0-2345-23456346",
"attributes": {
"uuid": "123453-2345-4dd0-2345-23456346",
"integration_key": "nuki",
"label": "Meetingroom A Door",
"granted_through_type": "bookings",
"access_type": "pin",
"access_value": "723497",
"lock_name": "anny Meeting Room",
"valid_from": "2025-07-21T11:00:00.000000Z",
"valid_until": "2025-07-29T11:00:00.000000Z",
"validity_status": "active",
"is_removed": 0,
"created_at": "2025-07-19T11:13:19.000000Z",
"updated_at": "2025-07-19T11:15:21.000000Z"
}
}
]
}Access Control
List access-control grants for a customer
Retrieve all access-control grants for a specific customer account. Use the filter[valid_today] parameter to return only grants that are active or overlapping today.
Access-control grants connect a booking (or community membership) to a physical lock. Each grant specifies an access_type — for pin types the access_value contains the unlock code; for remote-open types the lock can be opened via the remote-open endpoint.
GET
/
api
/
v1
/
customer-accounts
/
{customer_account_id}
/
access-control-grants
List access-control grants for a customer
curl --request GET \
--url https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants \
--header 'Authorization: Bearer <token>'import requests
url = "https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://b.anny.co/api/v1/customer-accounts/{customer_account_id}/access-control-grants")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"type": "access-control-grants",
"id": "123453-2345-4dd0-2345-23456346",
"attributes": {
"uuid": "123453-2345-4dd0-2345-23456346",
"integration_key": "nuki",
"label": "Meetingroom A Door",
"granted_through_type": "bookings",
"access_type": "pin",
"access_value": "723497",
"lock_name": "anny Meeting Room",
"valid_from": "2025-07-21T11:00:00.000000Z",
"valid_until": "2025-07-29T11:00:00.000000Z",
"validity_status": "active",
"is_removed": 0,
"created_at": "2025-07-19T11:13:19.000000Z",
"updated_at": "2025-07-19T11:15:21.000000Z"
}
}
]
}Autorisierungen
The access token received from the authorization server in the OAuth 2.0 flow.
Header
Bearer Token
Pfadparameter
UUID of the customer account
Abfrageparameter
When set to 1, returns only grants valid today or overlapping with today
Verfügbare Optionen:
1 Antwort
OK
Show child attributes
Show child attributes