curl --request GET \
--url https://api.gridbeds.com/api/v1/distribution/locations/{location_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gridbeds.com/api/v1/distribution/locations/{location_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gridbeds.com/api/v1/distribution/locations/{location_id}', 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://api.gridbeds.com/api/v1/distribution/locations/{location_id}",
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;
}{
"id": "loc_5ckd3q6vsn9qmt7xrj0689h226",
"status": "active",
"category": "hotel",
"address_visibility": "exact",
"address": {
"street": "<string>",
"city": "<string>",
"country": "<string>",
"number": "<string>",
"building": "<string>",
"county": "<string>",
"postal_code": "<string>"
},
"geo": {
"lat": 0,
"lng": 0,
"precision_m": 500,
"entrance": {
"lat": 123,
"lng": 123
}
},
"timezone": "Europe/Bucharest",
"version": 2,
"updated_at": "2026-10-16T09:30:00Z",
"name": "<string>",
"owner_id": "own_63g5d4zsqj809bf5rwekga54a5",
"photos": [
{
"id": "pho_5v2a9ddapw9h2a8rb96b289923",
"url": "<string>",
"content_type": "image/jpeg",
"width": 2,
"height": 2,
"order": 1,
"checksum": "<string>",
"room": "living",
"caption": {}
}
]
}{
"type": "https://api.gridbeds.com/problems/not-found",
"title": "<string>",
"status": 499,
"instance": "<string>",
"code": "invalid_parameters",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"detail": "<string>"
}{
"type": "https://api.gridbeds.com/problems/not-found",
"title": "<string>",
"status": 499,
"instance": "<string>",
"code": "invalid_parameters",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"required_scopes": [
"read:catalog"
],
"detail": "<string>"
}{
"type": "https://api.gridbeds.com/problems/not-found",
"title": "<string>",
"status": 499,
"instance": "<string>",
"code": "invalid_parameters",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"detail": "<string>"
}{
"type": "https://api.gridbeds.com/problems/not-found",
"title": "<string>",
"status": 499,
"instance": "<string>",
"code": "invalid_parameters",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"detail": "<string>"
}{
"type": "https://api.gridbeds.com/problems/not-found",
"title": "<string>",
"status": 499,
"instance": "<string>",
"code": "invalid_parameters",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"detail": "<string>"
}Read one location, or its tombstone
curl --request GET \
--url https://api.gridbeds.com/api/v1/distribution/locations/{location_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gridbeds.com/api/v1/distribution/locations/{location_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gridbeds.com/api/v1/distribution/locations/{location_id}', 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://api.gridbeds.com/api/v1/distribution/locations/{location_id}",
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;
}{
"id": "loc_5ckd3q6vsn9qmt7xrj0689h226",
"status": "active",
"category": "hotel",
"address_visibility": "exact",
"address": {
"street": "<string>",
"city": "<string>",
"country": "<string>",
"number": "<string>",
"building": "<string>",
"county": "<string>",
"postal_code": "<string>"
},
"geo": {
"lat": 0,
"lng": 0,
"precision_m": 500,
"entrance": {
"lat": 123,
"lng": 123
}
},
"timezone": "Europe/Bucharest",
"version": 2,
"updated_at": "2026-10-16T09:30:00Z",
"name": "<string>",
"owner_id": "own_63g5d4zsqj809bf5rwekga54a5",
"photos": [
{
"id": "pho_5v2a9ddapw9h2a8rb96b289923",
"url": "<string>",
"content_type": "image/jpeg",
"width": 2,
"height": 2,
"order": 1,
"checksum": "<string>",
"room": "living",
"caption": {}
}
]
}{
"type": "https://api.gridbeds.com/problems/not-found",
"title": "<string>",
"status": 499,
"instance": "<string>",
"code": "invalid_parameters",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"detail": "<string>"
}{
"type": "https://api.gridbeds.com/problems/not-found",
"title": "<string>",
"status": 499,
"instance": "<string>",
"code": "invalid_parameters",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"required_scopes": [
"read:catalog"
],
"detail": "<string>"
}{
"type": "https://api.gridbeds.com/problems/not-found",
"title": "<string>",
"status": 499,
"instance": "<string>",
"code": "invalid_parameters",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"detail": "<string>"
}{
"type": "https://api.gridbeds.com/problems/not-found",
"title": "<string>",
"status": 499,
"instance": "<string>",
"code": "invalid_parameters",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"detail": "<string>"
}{
"type": "https://api.gridbeds.com/problems/not-found",
"title": "<string>",
"status": 499,
"instance": "<string>",
"code": "invalid_parameters",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"detail": "<string>"
}Autorizzazioni
A key starts with gbd_live_ (production) or gbd_test_ (sandbox) and ends in a CRC32 checksum of its
secret part, so a mistyped or truncated key is refused before any lookup, as is a key of the other
environment. The prefix is registered with public secret scanners (GitHub secret scanning, TruffleHog,
GitGuardian): a key found in a public repository is revoked at once and your technical contact is told.
Gridbeds stores only a hash of each key. One partner may hold two keys per environment during a rotation.
Operations list the scopes they need; the scopes are OAuth 2.0 scope tokens, so short-lived access tokens
from a client-credentials grant can be offered later beside keys, with the same scopes and no change to any
operation.
Parametri del percorso
^loc_[0-7][0-9a-hjkmnp-tv-z]{25}$"loc_5ckd3q6vsn9qmt7xrj0689h226"
Risposta
The location or its tombstone.
- Option 1
- Option 2
^loc_[0-7][0-9a-hjkmnp-tv-z]{25}$"loc_5ckd3q6vsn9qmt7xrj0689h226"
inactive when every published property here is inactive.
active, inactive Additive. What kind of establishment this is, so you can decide how to show its properties: one listing of
a hotel or guesthouse with its room types, or a listing per property. vacation_rental is a single
whole unit (an apartment, a house) let on its own; apartment_building and villa_complex hold several
such units. Open enum.
hotel, guesthouse, hostel, apartment_building, villa_complex, holiday_park, vacation_rental, other Additive. The host's choice for this location. exact: the address and geo are the property's. approximate:
address.street, number, building and postal_code are null (a postal code can name a single street
or building), geo is a displaced point within geo.precision_m metres, a radius the host also chooses,
and geo.entrance is null. The exact address is never sent while approximate. Defaults to approximate when
the owner is an individual and to exact for a company. When it turns approximate, replace what you hold
and stop showing the exact address and point received before. Open enum.
exact, approximate A location's address. The members a host keeps private (address_visibility approximate) are null; city, county and country are always present.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
IANA time zone.
"Europe/Bucharest"
"Europe/Rome"
Grows on every change visible to this channel; ignore a lower one. Not a counter — do not expect consecutive values.
x >= 1^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"2026-10-16T09:30:00Z"
The establishment's name (a hotel, a guesthouse), to title one listing of the room types under it.
Set when every property here has the same owner.
^own_[0-7][0-9a-hjkmnp-tv-z]{25}$"own_63g5d4zsqj809bf5rwekga54a5"
Show child attributes
Show child attributes