Skip to content

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.

Preview

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!

Download OpenAPI description
Overview
License
Languages
Servers
https://api.understory.io

Bookings related endpoints.

Operations
Webhooks

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.

Operations

Request

Get the availability for a single event.

Returns availability information including remaining seats and constraints.

Security
OAuth2(Required scopes:
event.read
)
Path
eventIdstringrequired

The unique identifier of the event.

curl -i -X GET \
  'https://api.understory.io/v1/event-availabilities/{eventId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
event_idstringrequired

The unique identifier of the event.

availablebooleanrequired

Whether the event is available for booking. This is false if any constraint makes the event unavailable.

constraintsArray of any(AvailabilityConstraint)required

List of constraints that affect availability. Each constraint represents a different factor limiting availability.

typestringrequired
Value"EVENT_STATE"
Discriminator
availablebooleanrequired

Whether this constraint allows booking.

statestringrequired

The state of the event.

Response
application/json
{ "event_id": "string", "available": true, "constraints": [ {} ] }

Request

Get availability for events belonging to an experience.

Returns a paginated list of event availability information. Use the cursor parameter to paginate through results.

Security
OAuth2(Required scopes:
event.read
)
Query
experienceIdstringrequired

The unique identifier of the experience to query events for.

fromstring

Filter events starting from this local date-time (inclusive). ISO 8601 date-time without timezone (e.g., 2025-10-09T08:00:00). The value is matched against the event's local start time.

Example: from=2025-10-09T08:00:00
tostring

Filter events up to this local date-time (exclusive). ISO 8601 date-time without timezone (e.g., 2025-10-10T18:00:00). The value is matched against the event's local start time.

Example: to=2025-10-10T18:00:00
cursorstring

Pagination cursor for fetching the next page of results. An empty string or omitted value indicates the start of the list.

limitinteger(int32)[ 1 .. 100 ]

Maximum number of items to return per page. Defaults to 50, maximum 100.

Default 50
curl -i -X GET \
  'https://api.understory.io/v1/event-availabilities?experienceId=string&from=2025-10-09T08%3A00%3A00&to=2025-10-10T18%3A00%3A00&cursor=string&limit=50' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
itemsArray of objects(EventAvailability)required

Availability information for events matching the query.

event_idstringrequired

The unique identifier of the event.

availablebooleanrequired

Whether the event is available for booking. This is false if any constraint makes the event unavailable.

constraintsArray of any(AvailabilityConstraint)required

List of constraints that affect availability. Each constraint represents a different factor limiting availability.

typestringrequired
Value"EVENT_STATE"
Discriminator
availablebooleanrequired

Whether this constraint allows booking.

statestringrequired

The state of the event.

nextstring

The cursor for the next page. An empty string or no value indicates the end of the list.

Response
application/json
{ "items": [ {} ], "next": "string" }

This is a preview of the Events API specification.

The API is not yet available in production.

Operations
Webhooks

This is a preview of the Experience API specification.

The API is not yet available in production.

Operations
Webhooks

This is a collection of endpoints related to Understory Grow.

Operations

Orders API allows you to retrieve order information, including line items, transactions and refunds.

Operations

These endpoints are for testing purposes only.

You can use them to verify that your integration authentication works as intended.

Operations

Webhook subscription management and event delivery.

Webhooks are sent to subscriber endpoints when events occur related to experiences, events, and bookings.

Operations
Webhooks