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/

Booking

Bookings related endpoints.

OperationsWebhooks

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.

Operations

Event

This is a preview of the Events API specification.

The API is not yet available in production.

OperationsWebhooks

Experience

This is a preview of the Experience API specification.

The API is not yet available in production.

OperationsWebhooks

Grow

This is a collection of endpoints related to Understory Grow.

Operations

Test

These endpoints are for testing purposes only.

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

Operations

Webhook

Webhook subscription management and event delivery.

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

OperationsWebhooks

Request

Retrieve details of a specific webhook subscription.

Security
OAuth2
Path
subscriptionIdstringrequired

The unique identifier of the subscription.

curl -i -X GET \
  'https://api.understory.io/v1/webhook-subscriptions/{subscriptionId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
idstringrequired

The unique identifier of the subscription.

urlstringrequired

The URL to send webhook events to.

event_typesArray of stringsrequired

List of event types this subscription is subscribed to.

statestringrequired

The state of the subscription.

Enum"ENABLED""DISABLED"
created_atstring(date-time)required

Timestamp of when the subscription was created.

updated_atstring(date-time)required

Timestamp of when the subscription was last updated.

descriptionstring

A description of the subscription.

metadataobject

Additional metadata for the subscription.

This property lets you add custom data to the subscription. The key has a limit of 40 characters and the value has a limit of 500 characters.

property name*stringadditional property
Response
application/json
{ "id": "string", "url": "string", "description": "string", "event_types": [ "string" ], "state": "ENABLED", "metadata": { "property1": "string", "property2": "string" }, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }

Update Webhook SubscriptionPreview

Request

Update the configuration of an existing webhook subscription.

Security
OAuth2
Path
subscriptionIdstringrequired

The unique identifier of the subscription.

Bodyapplication/jsonrequired
urlstringrequired

The URL to send webhook events to.

event_typesArray of stringsnon-emptyrequired

List of event types to subscribe to. At least one event type must be specified.

statestringrequired

The state of the subscription.

Enum"ENABLED""DISABLED"
descriptionstring

A description of the subscription.

metadataobject

Additional metadata for the subscription.

This property lets you add custom data to the subscription. The key has a limit of 40 characters and the value has a limit of 500 characters.

property name*stringadditional property
curl -i -X PUT \
  'https://api.understory.io/v1/webhook-subscriptions/{subscriptionId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "string",
    "description": "string",
    "event_types": [
      "string"
    ],
    "state": "ENABLED",
    "metadata": {
      "property1": "string",
      "property2": "string"
    }
  }'

Responses

OK

Bodyapplication/json
idstringrequired

The unique identifier of the subscription.

urlstringrequired

The URL to send webhook events to.

event_typesArray of stringsrequired

List of event types this subscription is subscribed to.

statestringrequired

The state of the subscription.

Enum"ENABLED""DISABLED"
created_atstring(date-time)required

Timestamp of when the subscription was created.

updated_atstring(date-time)required

Timestamp of when the subscription was last updated.

descriptionstring

A description of the subscription.

metadataobject

Additional metadata for the subscription.

This property lets you add custom data to the subscription. The key has a limit of 40 characters and the value has a limit of 500 characters.

property name*stringadditional property
Response
application/json
{ "id": "string", "url": "string", "description": "string", "event_types": [ "string" ], "state": "ENABLED", "metadata": { "property1": "string", "property2": "string" }, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }

Delete Webhook SubscriptionPreview

Request

Permanently delete a webhook subscription. This will stop all webhook deliveries for this subscription.

Security
OAuth2
Path
subscriptionIdstringrequired

The unique identifier of the subscription.

curl -i -X DELETE \
  'https://api.understory.io/v1/webhook-subscriptions/{subscriptionId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Subscription successfully deleted.

Response
No content