Bookings related endpoints.
Understory API
This is the reference documentation for the Understory API. Here you can find detailed information about the API endpoints, request and response formats, and authentication methods.
For more general information, go to Documentation.
You’re exploring an early preview of the Understory API documentation. Take a look around and see what’s available.
Want to help us test and improve it? Share your feedback by clicking the chat icon in the bottom right. We’d love to hear your thoughts!
Event Availability
Query availability for events.
Event availability is a computed value based on a number of parameters, including:
- Event capacity and current reservations
- Resources linked to tickets and bookings (e.g., bikes, kayaks, equipment)
- Booking cut-off time
The availability response includes both an overall availability status and a breakdown of individual constraints, allowing you to understand exactly what factors are limiting availability for a given event.
Combination of language and country/region. The format is a lowercase ISO 639-1 language code followed by an optional hyphen and an uppercase ISO 3166-1 country code.
If no value matches what is available in the host's Storefront, an error response is returned.
You can optionally provide multiple language-country pairs with a priority, separated by commas based on content negotiation.
- https://api.understory.io/v1/experiences
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.understory.io/v1/experiences?cursor=string&limit=100' \
-H 'Accept-Language: en-GB; q=1.0, en-US; q=0.8' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "next": "string", "items": [ { … } ] }
- https://api.understory.io/v1/experiences/{experienceId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.understory.io/v1/experiences/{experienceId}' \
-H 'Accept-Language: en-GB; q=1.0, en-US; q=0.8' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "id": "string", "type": "MULTI_SESSION", "state": "ACTIVE", "name": "string", "description": "string", "tag_ids": [ "string" ], "media": [ { … } ], "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "metadata": { "key1": "value1", "key2": "value2" } }
Pagination cursor for fetching the next page of results. Omit or pass an empty string to start from the beginning of the list.
Combination of language and country/region. The format is a lowercase ISO 639-1 language code followed by an optional hyphen and an uppercase ISO 3166-1 country code.
If no value matches what is available in the host's Storefront, an error response is returned.
You can optionally provide multiple language-country pairs with a priority, separated by commas based on content negotiation.
- https://api.understory.io/v1/experiences/{experienceId}/information-requests
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.understory.io/v1/experiences/{experienceId}/information-requests?cursor=string&limit=100' \
-H 'Accept-Language: en-GB; q=1.0, en-US; q=0.8' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "next": "string", "items": [ { … } ] }
Pagination cursor for fetching the next page of results. Omit or pass an empty string to start from the beginning of the list.
Combination of language and country/region. The format is a lowercase ISO 639-1 language code followed by an optional hyphen and an uppercase ISO 3166-1 country code.
If no value matches what is available in the host's Storefront, an error response is returned.
You can optionally provide multiple language-country pairs with a priority, separated by commas based on content negotiation.
- https://api.understory.io/v1/experiences/{experienceId}/ticket-variants
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.understory.io/v1/experiences/{experienceId}/ticket-variants?cursor=string&limit=100' \
-H 'Accept-Language: en-GB; q=1.0, en-US; q=0.8' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "next": "string", "items": [ { … } ] }
Unique identifier for this webhook message. This ID is the same when a webhook is retried due to a previous failure. Use this for deduplication.
Timestamp of when the webhook was sent, in seconds since epoch. Compare against your system time to prevent replay attacks.
Information about the created experience.
- https://api.understory.io/v1.experience.created
{ "experience_id": "string", "host_id": "string" }
Unique identifier for this webhook message. This ID is the same when a webhook is retried due to a previous failure. Use this for deduplication.
Timestamp of when the webhook was sent, in seconds since epoch. Compare against your system time to prevent replay attacks.
Information about the updated experience.
- https://api.understory.io/v1.experience.updated
{ "experience_id": "string", "host_id": "string" }
Unique identifier for this webhook message. This ID is the same when a webhook is retried due to a previous failure. Use this for deduplication.
Timestamp of when the webhook was sent, in seconds since epoch. Compare against your system time to prevent replay attacks.
Information about the deleted experience.
- https://api.understory.io/v1.experience.deleted
{ "experience_id": "string", "host_id": "string" }