List booths
curl --request GET \
--url https://public-api.sessionboard.com/v1/event/{eventId}/booths \
--header 'x-access-token: <api-key>'import requests
url = "https://public-api.sessionboard.com/v1/event/{eventId}/booths"
headers = {"x-access-token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-access-token': '<api-key>'}};
fetch('https://public-api.sessionboard.com/v1/event/{eventId}/booths', 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://public-api.sessionboard.com/v1/event/{eventId}/booths",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-access-token: <api-key>"
],
]);
$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://public-api.sessionboard.com/v1/event/{eventId}/booths"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-access-token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://public-api.sessionboard.com/v1/event/{eventId}/booths")
.header("x-access-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api.sessionboard.com/v1/event/{eventId}/booths")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-access-token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "2f1e0d9c-8b7a-4695-a4b3-c2d1e0f9a8b7",
"floor_map_id": "7a6b5c4d-3e2f-4a1b-9c8d-7e6f5a4b3c2d",
"hall_id": "5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e",
"number": "1207",
"status": "reserved",
"stored_status": "reserved",
"booth_type": "linear",
"list_price_cents": null,
"price_cents": 450000,
"currency": "USD",
"hold_until": null,
"geom": {},
"fill_color": null,
"product": {
"id": "8c7b6a5f-4e3d-4c2b-a1f0-e9d8c7b6a5f4",
"name": "10x10 inline booth",
"price_cents": 450000
},
"account": {
"id": "e1d2c3b4-a5f6-4789-8a9b-0c1d2e3f4a5b",
"name": "Contoso Diagnostics"
},
"application_id": null,
"order_id": null
}
]
}{
"error": "FORBIDDEN",
"message": "Expo is not enabled for this event"
}Event — Expo
List booths
The booths drawn on the event’s floor maps, by booth number, with their status, price, the booth package they are sold in, and the exhibitor or sponsor holding them.
status is the booth’s status now: a hold whose hold_until has passed reads
available. stored_status is the status as last set.
Not paginated. Requires read:expo (legacy tokens with no scopes pass).
GET
/
v1
/
event
/
{eventId}
/
booths
List booths
curl --request GET \
--url https://public-api.sessionboard.com/v1/event/{eventId}/booths \
--header 'x-access-token: <api-key>'import requests
url = "https://public-api.sessionboard.com/v1/event/{eventId}/booths"
headers = {"x-access-token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-access-token': '<api-key>'}};
fetch('https://public-api.sessionboard.com/v1/event/{eventId}/booths', 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://public-api.sessionboard.com/v1/event/{eventId}/booths",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-access-token: <api-key>"
],
]);
$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://public-api.sessionboard.com/v1/event/{eventId}/booths"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-access-token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://public-api.sessionboard.com/v1/event/{eventId}/booths")
.header("x-access-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api.sessionboard.com/v1/event/{eventId}/booths")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-access-token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "2f1e0d9c-8b7a-4695-a4b3-c2d1e0f9a8b7",
"floor_map_id": "7a6b5c4d-3e2f-4a1b-9c8d-7e6f5a4b3c2d",
"hall_id": "5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e",
"number": "1207",
"status": "reserved",
"stored_status": "reserved",
"booth_type": "linear",
"list_price_cents": null,
"price_cents": 450000,
"currency": "USD",
"hold_until": null,
"geom": {},
"fill_color": null,
"product": {
"id": "8c7b6a5f-4e3d-4c2b-a1f0-e9d8c7b6a5f4",
"name": "10x10 inline booth",
"price_cents": 450000
},
"account": {
"id": "e1d2c3b4-a5f6-4789-8a9b-0c1d2e3f4a5b",
"name": "Contoso Diagnostics"
},
"application_id": null,
"order_id": null
}
]
}{
"error": "FORBIDDEN",
"message": "Expo is not enabled for this event"
}Authorizations
ApiKeyBearerToken
Organization API token. Generate from Organization Settings → API Tokens.
Path Parameters
Event ID
Query Parameters
Only booths on this floor map.
Only booths whose current status is one of these, comma-separated:
available, hold, reserved, sold, blocked.
Response
OK
Show child attributes
Show child attributes

