{"items":[{"type":"link","label":"Understory API","link":"/apis","routeSlug":"/apis","content":{"contentType":"overview","meta":{"name":"Understory API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"index.json","url":"/_bundle/apis/index.json?download"},{"kind":"download","label":"index.yaml","url":"/_bundle/apis/index.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"externallink","title":"License","titleTranslationKey":"info.license","label":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"https://api.understory.io"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Understory API","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the reference documentation for the Understory API."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Here you can find detailed information about the API endpoints, request and response formats, and authentication methods."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For more general information, go to "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/docs"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Documentation"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"admonition","attributes":{"type":"success","name":"Preview and Alpha"},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Some parts of the Understory API is still under active development."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Refer to "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"docs/about/api-versioning"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API Versioning"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for details on what you can expect from endpoints and webhooks marked with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Preview"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Alpha"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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!"},"children":[]}]}]}]}]}],"sectionId":"/apis"}],"sectionId":"/apis"}]}]}},{"type":"group","label":"Accounting","link":"/apis/accounting","routeSlug":"/apis/accounting","items":[{"type":"link","label":"Gross and net amounts","link":"/apis/accounting/gross-and-net-amounts","routeSlug":"/apis/accounting/gross-and-net-amounts","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"Gross and net amounts"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"accounting/gross-and-net-amounts"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Gross and net amounts"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A posting's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is VAT-inclusive on "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REFUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entries and VAT-exclusive on"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVENUE_RECOGNITION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVENUE_RECOGNITION_REVERSAL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entries. Both carry a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vat_rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", so the rate alone"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"does not tell you which you are holding — the entry's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"kind"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" does."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This matters most when the destination system splits VAT for you. Handing it a net recognition amount together"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with a rate makes it strip VAT that was never in the amount, which understates revenue and leaves the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"prepayment short by the difference. See "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vat_rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on a posting for the full rules."},"children":[]}]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Access to the Accounting API requires an active accounting subscription."},"children":[]}]}]}]}]}],"panels":[]}]}},{"label":"List journal entries","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/accounting/listjournalentries","routeSlug":"/apis/accounting/listjournalentries","metadata":{"seo":{"title":"List journal entries","description":"List the company's journal entries whose business event falls inside atime window. Both ends are required: from is inclusive and to isexclusive."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listJournalEntries","name":"List journal entries","isWebhook":false,"pointer":"/paths/~1v1~1accounting-journal-entries/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List journal entries","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the company's journal entries whose business event falls inside a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"time window. Both ends are required: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is inclusive and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"exclusive."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["accounting.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_53","description":"Return entries whose business event occurred at or after this time.","required":true},{"name":"to","in":"query","schemaId":"schema_53","description":"Return entries whose business event occurred strictly before this time.","required":true},{"name":"kind","in":"query","schemaId":"schema_54","description":"Restrict the result to entries of these kinds.\nOmit to return every kind.\n"},{"name":"sort","in":"query","schemaId":"schema_55","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Field to define the sort order. To indicate sorting direction, fields may be prefixed"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"+"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (ascending) or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (descending)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ensure to URL escape the value as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"+"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can otherwise be interpreted as a space."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only the field "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"occurred_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is supported."},"children":[]}]}]}]},{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_57","description":"Maximum number of items to return per page.\nDefaults to 100, maximum 1000.\n"}],"pointer":"/paths/~1v1~1accounting-journal-entries/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/accounting-journal-entries","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[{"name":"from","in":"query","required":true,"schemaId":"schema_53"},{"name":"to","in":"query","required":true,"schemaId":"schema_53"},{"name":"kind","in":"query","schemaId":"schema_54"},{"name":"sort","in":"query","schemaId":"schema_55"},{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_57"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["accounting.read"]}],"responseCodes":["200","400","403","default"],"pointer":"/v1/accounting-journal-entries","href":"accounting/listjournalentries","openApiOperationId":"listJournalEntries","summary":"List journal entries"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/JournalEntryList"}},"schemaId":"components/schemas/JournalEntryList"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden - the token lacks the required scope, or the company has\nno active accounting subscription.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"An unexpected error occurred.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1accounting-journal-entries/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/JournalEntryList","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/JournalEntryList"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/accounting/listjournalentries"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/accounting-journal-entries"},{"label":"Get journal entry","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/accounting/getjournalentrybyid","routeSlug":"/apis/accounting/getjournalentrybyid","metadata":{"seo":{"title":"Get journal entry","description":"Get a single journal entry by its ID. Returns the postings, references, and supporting documents required to sync the entry to an external accounting integration."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getJournalEntryById","name":"Get journal entry","isWebhook":false,"pointer":"/paths/~1v1~1accounting-journal-entries~1{journalEntryId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get journal entry","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get a single journal entry by its ID. Returns the postings, references,\nand supporting documents required to sync the entry to an external\naccounting integration.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["accounting.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"journalEntryId","in":"path","schemaId":"schema_56","description":"The unique identifier of the journal entry.","required":true}],"pointer":"/paths/~1v1~1accounting-journal-entries~1{journalEntryId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/accounting-journal-entries/{journalEntryId}","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"journalEntryId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["accounting.read"]}],"responseCodes":["200","403","404","default"],"pointer":"/v1/accounting-journal-entries/{journalEntryId}","href":"accounting/getjournalentrybyid","openApiOperationId":"getJournalEntryById","summary":"Get journal entry"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/JournalEntry"}},"schemaId":"components/schemas/JournalEntry"},{"code":"403","description":"Forbidden - the token lacks the required scope, or the company has\nno active accounting subscription.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Journal entry not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"An unexpected error occurred.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1accounting-journal-entries~1{journalEntryId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/JournalEntry","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/JournalEntry"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/accounting/getjournalentrybyid"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/accounting-journal-entries/{journalEntryId}"},{"label":"Record a journal entry activity","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/accounting/recordjournalentryactivity","routeSlug":"/apis/accounting/recordjournalentryactivity","metadata":{"seo":{"title":"Record a journal entry activity","description":"Record an activity item against a journal entry. Integrations can usethis to relay how an entry was processed in an external accountingsystem - for example that a sync started, succeeded, or failed. Therecorded activity surfaces on the entry's activity feed and drives itssync status."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"recordJournalEntryActivity","name":"Record a journal entry activity","isWebhook":false,"pointer":"/paths/~1v1~1accounting-journal-entries~1{journalEntryId}~1activities/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Record a journal entry activity","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Record an activity item against a journal entry. Integrations can use"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"this to relay how an entry was processed in an external accounting"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"system - for example that a sync started, succeeded, or failed. The"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"recorded activity surfaces on the entry's activity feed and drives its"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"sync status."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Supply a stable "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"activity_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to make retries idempotent: recording the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"activity_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" again has no further effect."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["accounting.write"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"journalEntryId","in":"path","schemaId":"schema_56","description":"The unique identifier of the journal entry.","required":true}],"pointer":"/paths/~1v1~1accounting-journal-entries~1{journalEntryId}~1activities/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordActivityRequest"}},"schemaId":"components/schemas/RecordActivityRequest","pointer":"/paths/~1v1~1accounting-journal-entries~1{journalEntryId}~1activities/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/accounting-journal-entries/{journalEntryId}/activities","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"journalEntryId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["accounting.write"]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RecordActivityRequest"}},"responseCodes":["201","400","403","404","default"],"pointer":"/v1/accounting-journal-entries/{journalEntryId}/activities","href":"accounting/recordjournalentryactivity","openApiOperationId":"recordJournalEntryActivity","summary":"Record a journal entry activity"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"components/schemas/RecordActivityRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RecordActivityRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"The activity was recorded.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Activity"}},"schemaId":"components/schemas/Activity"},{"code":"400","description":"The request body is invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden - the token lacks the required scope, or the company has\nno active accounting subscription.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Journal entry not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"An unexpected error occurred.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1accounting-journal-entries~1{journalEntryId}~1activities/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/Activity","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Activity"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/accounting/recordjournalentryactivity"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/accounting-journal-entries/{journalEntryId}/activities"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Journal Entry created","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/accounting/journalentrycreated","routeSlug":"/apis/accounting/journalentrycreated","metadata":{"seo":{"title":"Journal Entry created","description":"Sent when a new accounting journal entry has been recorded."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"journalEntryCreated","name":"Journal Entry created","isWebhook":true,"pointer":"/paths/v1.journal_entry.created/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Journal Entry created","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a new accounting journal entry has been recorded."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.journal_entry.created/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_58"}},"schemaId":"schema_58","pointer":"/paths/v1.journal_entry.created/post/requestBody","description":"The journal entry ID for lookup."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.journal_entry.created","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_58"}},"responseCodes":["200"],"pointer":"v1.journal_entry.created","href":"accounting/journalentrycreated","openApiOperationId":"journalEntryCreated","summary":"Journal Entry created"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_58","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_58"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.journal_entry.created/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/accounting/journalentrycreated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.journal_entry.created"},{"label":"Journal Entry document attached","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/accounting/journalentrydocumentattached","routeSlug":"/apis/accounting/journalentrydocumentattached","metadata":{"seo":{"title":"Journal Entry document attached","description":"Sent when a supporting document - such as a customer receipt or credit note - is attached to an existing journal entry. Documents can be attached after the entry was first recorded, so re-fetch the entry to pick up the newly attached document."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"journalEntryDocumentAttached","name":"Journal Entry document attached","isWebhook":true,"pointer":"/paths/v1.journal_entry.document_attached/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Journal Entry document attached","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a supporting document - such as a customer receipt or credit\nnote - is attached to an existing journal entry. Documents can be\nattached after the entry was first recorded, so re-fetch the entry to\npick up the newly attached document.\n"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.journal_entry.document_attached/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_59"}},"schemaId":"schema_59","pointer":"/paths/v1.journal_entry.document_attached/post/requestBody","description":"The journal entry and document IDs for lookup."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.journal_entry.document_attached","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_59"}},"responseCodes":["200"],"pointer":"v1.journal_entry.document_attached","href":"accounting/journalentrydocumentattached","openApiOperationId":"journalEntryDocumentAttached","summary":"Journal Entry document attached"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_59","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_59"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.journal_entry.document_attached/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/accounting/journalentrydocumentattached"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.journal_entry.document_attached"}],"content":{"contentType":"group","meta":{"name":"Accounting"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Accounting","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Accounting exposes financial transactions recorded against bookings and gift cards as journal entries."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each journal entry carries the postings, references, and supporting documents needed to sync financial activity"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"into external accounting and bookkeeping systems."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/accounting-journal-entries","summary":"List journal entries","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/accounting/listjournalentries","deprecated":false},{"title":"/v1/accounting-journal-entries/{journalEntryId}","summary":"Get journal entry","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/accounting/getjournalentrybyid","deprecated":false},{"title":"/v1/accounting-journal-entries/{journalEntryId}/activities","summary":"Record a journal entry activity","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/accounting/recordjournalentryactivity","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"v1.journal_entry.created","summary":"Journal Entry created","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/accounting/journalentrycreated","deprecated":false},{"title":"v1.journal_entry.document_attached","summary":"Journal Entry document attached","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/accounting/journalentrydocumentattached","deprecated":false}]}]}]}]}},{"type":"group","label":"Availability","link":"/apis/availability","routeSlug":"/apis/availability","items":[{"label":"Get Availabilities","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/availability/getavailabilitiesforexperience","routeSlug":"/apis/availability/getavailabilitiesforexperience","metadata":{"seo":{"title":"Get Availabilities","description":"Get the availabilities of an experience within a time window."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAvailabilitiesForExperience","name":"Get Availabilities","isWebhook":false,"pointer":"/paths/~1v1~1experiences~1{experienceId}~1availabilities/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Availabilities","badges":[{"name":"Preview","color":"#fffced"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get the availabilities of an experience within a time window."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this to render a calendar or a time picker. For an availability you already hold an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for, prefer"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/availability/getavailabilitybyid"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get Availability"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response is paginated; pass the returned "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"next"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" cursor on subsequent calls to continue."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["experience.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"experienceId","in":"path","schemaId":"schema_56","description":"The unique identifier of the experience to compute availability for.","required":true}],"pointer":"/paths/~1v1~1experiences~1{experienceId}~1availabilities/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"from","in":"query","schemaId":"schema_60","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Return availabilities starting on or after this local date-time (inclusive)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ISO 8601 date-time without a timezone offset (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"2026-07-14T08:00:00"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), interpreted in the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"availability's own "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Defaults to the current time — pass it explicitly to look into the past."},"children":[]}]}]}]},{"name":"to","in":"query","schemaId":"schema_61","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Return availabilities starting before this local date-time (exclusive)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ISO 8601 date-time without a timezone offset (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"2026-07-15T00:00:00"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), interpreted in the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"availability's own "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Omit it to leave the window open-ended."},"children":[]}]}]}]},{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_62","description":"Maximum number of items to return per page.\nDefaults to 50, maximum 100.\n"}],"pointer":"/paths/~1v1~1experiences~1{experienceId}~1availabilities/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/experiences/{experienceId}/availabilities","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"experienceId","in":"path","required":true,"schemaId":"schema_56"}],"query":[{"name":"from","in":"query","example":"2026-07-14T08:00:00","schemaId":"schema_60"},{"name":"to","in":"query","example":"2026-07-15T00:00:00","schemaId":"schema_61"},{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_62"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["experience.read"]}],"responseCodes":["200","400","403","default"],"pointer":"/v1/experiences/{experienceId}/availabilities","href":"availability/getavailabilitiesforexperience","openApiOperationId":"getAvailabilitiesForExperience","summary":"Get Availabilities"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AvailabilityList"}},"schemaId":"components/schemas/AvailabilityList"},{"code":"400","description":"Bad request - validation failed.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1experiences~1{experienceId}~1availabilities/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/AvailabilityList","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AvailabilityList"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/availability/getavailabilitiesforexperience"}],"panels":[]}]},"badges":[{"name":"Preview","color":"#fffced"}],"httpPath":"/v1/experiences/{experienceId}/availabilities"},{"label":"Get Availability","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/availability/getavailabilitybyid","routeSlug":"/apis/availability/getavailabilitybyid","metadata":{"seo":{"title":"Get Availability","description":"Get a single availability by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAvailabilityById","name":"Get Availability","isWebhook":false,"pointer":"/paths/~1v1~1experiences~1{experienceId}~1availabilities~1{availabilityId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Availability","badges":[{"name":"Preview","color":"#fffced"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get a single availability by its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this to re-check one availability a guest has selected, without fetching the window around it again."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An availability that no longer exists — a deleted event, or a start time the experience has stopped"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"operating — returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", as does one that belongs to a different experience."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["experience.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"experienceId","in":"path","schemaId":"schema_56","description":"The unique identifier of the experience the availability belongs to.","required":true},{"name":"availabilityId","in":"path","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The opaque availability ID, exactly as returned on "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Availability.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1v1~1experiences~1{experienceId}~1availabilities~1{availabilityId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/experiences/{experienceId}/availabilities/{availabilityId}","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"experienceId","in":"path","required":true,"schemaId":"schema_56"},{"name":"availabilityId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["experience.read"]}],"responseCodes":["200","400","403","404","default"],"pointer":"/v1/experiences/{experienceId}/availabilities/{availabilityId}","href":"availability/getavailabilitybyid","openApiOperationId":"getAvailabilityById","summary":"Get Availability"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Availability"}},"schemaId":"components/schemas/Availability"},{"code":"400","description":"Bad request - the ID is not a well-formed availability ID.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Availability not found, or not part of this experience.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1experiences~1{experienceId}~1availabilities~1{availabilityId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Availability","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Availability"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/availability/getavailabilitybyid"}],"panels":[]}]},"badges":[{"name":"Preview","color":"#fffced"}],"httpPath":"/v1/experiences/{experienceId}/availabilities/{availabilityId}"}],"content":{"contentType":"group","meta":{"name":"Availability"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Availability","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An Availability is a period an experience can be booked for, together with the constraints that"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"decide whether it can be booked right now."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An availability covers either a concrete "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/event/getevents"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Event"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or a timeslot that has no event yet."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Experiences that sell timeslots offer several durations from the same start time, and the event is created"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"only when someone books. Both kinds carry an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" that addresses the availability, so a caller can re-read"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"one it already holds without searching the window around it again."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"admonition","attributes":{"type":"warning","name":"Timeslots are not bookable yet"},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Timeslots are not bookable yet through the public API."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Events are unaffected: read availability here, then book with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" carried on the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EVENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" subject"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"using "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/booking/createbooking"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create Booking"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every constraint that applies to an availability is returned whether it passes or fails, so callers can show why"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"an availability is unavailable, or how much of it is left while it still is."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/experiences/{experienceId}/availabilities","summary":"Get Availabilities","prefix":{"name":"get","color":"get"},"badges":[{"name":"Preview","color":"#fffced"}],"link":"/availability/getavailabilitiesforexperience","deprecated":false},{"title":"/v1/experiences/{experienceId}/availabilities/{availabilityId}","summary":"Get Availability","prefix":{"name":"get","color":"get"},"badges":[{"name":"Preview","color":"#fffced"}],"link":"/availability/getavailabilitybyid","deprecated":false}]}]}]}]}},{"type":"group","label":"Booking","link":"/apis/booking","routeSlug":"/apis/booking","items":[{"label":"Get Bookings","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/booking/getbookings","routeSlug":"/apis/booking/getbookings","metadata":{"seo":{"title":"Get Bookings","description":"Get all bookings."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBookings","name":"Get Bookings","isWebhook":false,"pointer":"/paths/~1v1~1bookings/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Bookings","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get all bookings."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["booking.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_63","description":"Maximum number of items to return per page.\nDefaults to 100, maximum 100.\n"},{"name":"event_id","in":"query","schemaId":"schema_56","description":"Filter bookings to a specific event.\nIf provided, only bookings belonging to that event are returned.\n"},{"name":"from","in":"query","schemaId":"schema_64"},{"name":"to","in":"query","schemaId":"schema_65"},{"name":"status","in":"query","schemaId":"schema_66","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Return only bookings with one of these statuses. Comma-separate"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"several, e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status=MOVED,CANCELLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PROCESSING"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" cannot be filtered on: the first is a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"transient checkout state and the second is a defensive default, so"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"neither is a stable thing to select by."},"children":[]}]}]}]},{"name":"sort","in":"query","schemaId":"schema_67"}],"pointer":"/paths/~1v1~1bookings/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/bookings","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_63"},{"name":"event_id","in":"query","schemaId":"schema_56"},{"name":"from","in":"query","schemaId":"schema_64"},{"name":"to","in":"query","schemaId":"schema_65"},{"name":"status","in":"query","schemaId":"schema_66","style":"form","explode":false},{"name":"sort","in":"query","schemaId":"schema_67"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["booking.read"]}],"responseCodes":["200","400","default"],"pointer":"/v1/bookings","href":"booking/getbookings","openApiOperationId":"getBookings","summary":"Get Bookings"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_68"}},"schemaId":"schema_68"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1bookings/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_68","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_68"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/booking/getbookings"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/bookings"},{"label":"Create Booking","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/booking/createbooking","routeSlug":"/apis/booking/createbooking","metadata":{"seo":{"title":"Create Booking","description":"Create a new booking for an event."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createBooking","name":"Create Booking","isWebhook":false,"pointer":"/paths/~1v1~1bookings/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Booking","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new booking for an event."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["booking.write"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_69"}},"schemaId":"schema_69","pointer":"/paths/~1v1~1bookings/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/bookings","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["booking.write"]}],"requestBody":{"application/json":{"schemaId":"schema_69"}},"responseCodes":["201","400","409","default"],"pointer":"/v1/bookings","href":"booking/createbooking","openApiOperationId":"createBooking","summary":"Create Booking"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_69","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_69"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Booking successfully created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_70"}},"schemaId":"schema_70"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"409","description":"Request violates a business rule.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1bookings/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_70","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_70"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"409","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/booking/createbooking"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/bookings"},{"label":"Get Booking","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/booking/getbooking","routeSlug":"/apis/booking/getbooking","metadata":{"seo":{"title":"Get Booking","description":"Get a booking by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBooking","name":"Get Booking","isWebhook":false,"pointer":"/paths/~1v1~1bookings~1{bookingId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Booking","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get a booking by its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["booking.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"bookingId","in":"path","schemaId":"schema_56","description":"The unique identifier of the booking.","required":true}],"pointer":"/paths/~1v1~1bookings~1{bookingId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/bookings/{bookingId}","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"bookingId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["booking.read"]}],"responseCodes":["200","400","403","404","default"],"pointer":"/v1/bookings/{bookingId}","href":"booking/getbooking","openApiOperationId":"getBooking","summary":"Get Booking"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Booking"}},"schemaId":"components/schemas/Booking"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1bookings~1{bookingId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Booking","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Booking"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/booking/getbooking"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/bookings/{bookingId}"},{"label":"Get Information Request Answers","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/booking/getinformationrequestanswers","routeSlug":"/apis/booking/getinformationrequestanswers","metadata":{"seo":{"title":"Get Information Request Answers","description":"Get answers to information requests for a booking."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getInformationRequestAnswers","name":"Get Information Request Answers","isWebhook":false,"pointer":"/paths/~1v1~1bookings~1{bookingId}~1information-request-answers/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Information Request Answers","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get answers to information requests for a booking.\n\nEach answer corresponds to a question defined as an information request in the Experience API.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["booking.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"bookingId","in":"path","schemaId":"schema_56","description":"The unique identifier of the booking.","required":true}],"pointer":"/paths/~1v1~1bookings~1{bookingId}~1information-request-answers/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_63","description":"Maximum number of items to return per page.\nDefaults to 100, maximum 100.\n"}],"pointer":"/paths/~1v1~1bookings~1{bookingId}~1information-request-answers/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/bookings/{bookingId}/information-request-answers","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"bookingId","in":"path","required":true,"schemaId":"schema_56"}],"query":[{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_63"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["booking.read"]}],"responseCodes":["200","default"],"pointer":"/v1/bookings/{bookingId}/information-request-answers","href":"booking/getinformationrequestanswers","openApiOperationId":"getInformationRequestAnswers","summary":"Get Information Request Answers"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_71"}},"schemaId":"schema_71"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1bookings~1{bookingId}~1information-request-answers/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_71","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_71"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/booking/getinformationrequestanswers"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/bookings/{bookingId}/information-request-answers"},{"label":"Get Tickets","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/booking/gettickets","routeSlug":"/apis/booking/gettickets","metadata":{"seo":{"title":"Get Tickets","description":"Get all tickets for a booking."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTickets","name":"Get Tickets","isWebhook":false,"pointer":"/paths/~1v1~1bookings~1{bookingId}~1tickets/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Tickets","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get all tickets for a booking."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["booking.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"bookingId","in":"path","schemaId":"schema_56","description":"The unique identifier of the booking.","required":true}],"pointer":"/paths/~1v1~1bookings~1{bookingId}~1tickets/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/bookings/{bookingId}/tickets","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"bookingId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["booking.read"]}],"responseCodes":["200","400","default"],"pointer":"/v1/bookings/{bookingId}/tickets","href":"booking/gettickets","openApiOperationId":"getTickets","summary":"Get Tickets"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_72"}},"schemaId":"schema_72"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1bookings~1{bookingId}~1tickets/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_72","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_72"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/booking/gettickets"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/bookings/{bookingId}/tickets"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Booking created","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/booking/bookingcreated","routeSlug":"/apis/booking/bookingcreated","metadata":{"seo":{"title":"Booking created","description":"Sent when a new booking is created."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"bookingCreated","name":"Booking created","isWebhook":true,"pointer":"/paths/v1.booking.created/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Booking created","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a new booking is created."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.booking.created/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_73"}},"schemaId":"schema_73","pointer":"/paths/v1.booking.created/post/requestBody","description":"Information about the created booking."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.booking.created","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_73"}},"responseCodes":["200"],"pointer":"v1.booking.created","href":"booking/bookingcreated","openApiOperationId":"bookingCreated","summary":"Booking created"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_73","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_73"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.booking.created/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/booking/bookingcreated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.booking.created"},{"label":"Booking updated","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/booking/bookingupdated","routeSlug":"/apis/booking/bookingupdated","metadata":{"seo":{"title":"Booking updated","description":"Sent when a booking is updated."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"bookingUpdated","name":"Booking updated","isWebhook":true,"pointer":"/paths/v1.booking.updated/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Booking updated","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a booking is updated."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.booking.updated/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_74"}},"schemaId":"schema_74","pointer":"/paths/v1.booking.updated/post/requestBody","description":"Information about the updated booking."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.booking.updated","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_74"}},"responseCodes":["200"],"pointer":"v1.booking.updated","href":"booking/bookingupdated","openApiOperationId":"bookingUpdated","summary":"Booking updated"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_74","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_74"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.booking.updated/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/booking/bookingupdated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.booking.updated"},{"label":"Booking cancelled","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/booking/bookingcancelled","routeSlug":"/apis/booking/bookingcancelled","metadata":{"seo":{"title":"Booking cancelled","description":"Sent when a booking is cancelled."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"bookingCancelled","name":"Booking cancelled","isWebhook":true,"pointer":"/paths/v1.booking.cancelled/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Booking cancelled","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a booking is cancelled."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.booking.cancelled/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_75"}},"schemaId":"schema_75","pointer":"/paths/v1.booking.cancelled/post/requestBody","description":"Information about the cancelled booking."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.booking.cancelled","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_75"}},"responseCodes":["200"],"pointer":"v1.booking.cancelled","href":"booking/bookingcancelled","openApiOperationId":"bookingCancelled","summary":"Booking cancelled"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_75","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_75"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.booking.cancelled/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/booking/bookingcancelled"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.booking.cancelled"}],"content":{"contentType":"group","meta":{"name":"Booking"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Booking","showPageActions":true},{"nodeType":"markdoc","content":"A Booking is a customer's reservation against an Event.\n\nEach Booking carries the customer details, the items the customer chose (ticket variants and add-ons),\nand the lifecycle status of the reservation. Tickets are issued per booking and can be checked in when the customer arrives."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/bookings","summary":"Get Bookings","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/booking/getbookings","deprecated":false},{"title":"/v1/bookings","summary":"Create Booking","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/booking/createbooking","deprecated":false},{"title":"/v1/bookings/{bookingId}","summary":"Get Booking","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/booking/getbooking","deprecated":false},{"title":"/v1/bookings/{bookingId}/information-request-answers","summary":"Get Information Request Answers","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/booking/getinformationrequestanswers","deprecated":false},{"title":"/v1/bookings/{bookingId}/tickets","summary":"Get Tickets","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/booking/gettickets","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"v1.booking.created","summary":"Booking created","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/booking/bookingcreated","deprecated":false},{"title":"v1.booking.updated","summary":"Booking updated","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/booking/bookingupdated","deprecated":false},{"title":"v1.booking.cancelled","summary":"Booking cancelled","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/booking/bookingcancelled","deprecated":false}]}]}]}]}},{"type":"group","label":"Event Availability","link":"/apis/event-availability","routeSlug":"/apis/event-availability","items":[{"label":"Get Event Availability","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/event-availability/geteventavailability","routeSlug":"/apis/event-availability/geteventavailability","metadata":{"seo":{"title":"Get Event Availability","description":"Get the availability for a single event."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getEventAvailability","name":"Get Event Availability","isWebhook":false,"pointer":"/paths/~1v1~1event-availabilities~1{eventId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Event Availability","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get the availability for a single event.\n\nReturns availability information including remaining seats and constraints.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["event.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"eventId","in":"path","schemaId":"schema_56","description":"The unique identifier of the event.","required":true}],"pointer":"/paths/~1v1~1event-availabilities~1{eventId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/event-availabilities/{eventId}","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"eventId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["event.read"]}],"responseCodes":["200","400","403","404","default"],"pointer":"/v1/event-availabilities/{eventId}","href":"event-availability/geteventavailability","openApiOperationId":"getEventAvailability","summary":"Get Event Availability"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_76"}},"schemaId":"schema_76"},{"code":"400","description":"Bad request - validation failed.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Event not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1event-availabilities~1{eventId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_76","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_76"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/event-availability/geteventavailability"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/event-availabilities/{eventId}"},{"label":"List Event Availability","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/event-availability/listeventavailability","routeSlug":"/apis/event-availability/listeventavailability","metadata":{"seo":{"title":"List Event Availability","description":"Get availability for events of an experience."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listEventAvailability","name":"List Event Availability","isWebhook":false,"pointer":"/paths/~1v1~1event-availabilities/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Event Availability","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get availability for events of an experience."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this when you need availability for many events at once — for example, when rendering a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"calendar. For a single event, prefer "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /v1/event-availabilities/{eventId}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The response is paginated;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"pass the returned "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"next"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" cursor on subsequent calls to continue."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["event.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"experienceId","in":"query","schemaId":"schema_56","description":"The unique identifier of the experience to query events for.","required":true},{"name":"from","in":"query","schemaId":"schema_77","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter events with a session starting on or after this local date-time (inclusive)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ISO 8601 date-time without timezone (e.g., "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"2025-10-09T08:00:00"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The value is matched against each session's local start time;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"an event is returned when any of its sessions starts within the requested window."},"children":[]}]}]}]},{"name":"to","in":"query","schemaId":"schema_78","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter events with a session starting before this local date-time (exclusive)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ISO 8601 date-time without timezone (e.g., "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"2025-10-10T18:00:00"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The value is matched against each session's local start time;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"an event is returned when any of its sessions starts within the requested window."},"children":[]}]}]}]},{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_62","description":"Maximum number of items to return per page.\nDefaults to 50, maximum 100.\n"}],"pointer":"/paths/~1v1~1event-availabilities/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/event-availabilities","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[{"name":"experienceId","in":"query","required":true,"schemaId":"schema_56"},{"name":"from","in":"query","example":"2025-10-09T08:00:00","schemaId":"schema_77"},{"name":"to","in":"query","example":"2025-10-10T18:00:00","schemaId":"schema_78"},{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_62"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["event.read"]}],"responseCodes":["200","400","403","default"],"pointer":"/v1/event-availabilities","href":"event-availability/listeventavailability","openApiOperationId":"listEventAvailability","summary":"List Event Availability"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ListEventAvailabilityResponse"}},"schemaId":"components/schemas/ListEventAvailabilityResponse"},{"code":"400","description":"Bad request - validation failed.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1event-availabilities/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ListEventAvailabilityResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ListEventAvailabilityResponse"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/event-availability/listeventavailability"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/event-availabilities"}],"content":{"contentType":"group","meta":{"name":"Event Availability"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Event Availability","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Query availability for events."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Availability is computed from multiple inputs — the event's lifecycle state, its remaining seat capacity,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"configured booking limits, the booking cutoff, and the per-ticket-variant resource limits."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response always returns every applicable constraint (both passing and failing), so callers can tell"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"exactly "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"why"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" an event is or is not bookable."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/event-availabilities/{eventId}","summary":"Get Event Availability","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/event-availability/geteventavailability","deprecated":false},{"title":"/v1/event-availabilities","summary":"List Event Availability","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/event-availability/listeventavailability","deprecated":false}]}]}]}]}},{"type":"group","label":"Event","link":"/apis/event","routeSlug":"/apis/event","items":[{"label":"Get events","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/event/getevents","routeSlug":"/apis/event/getevents","metadata":{"seo":{"title":"Get events","description":"Get all events."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getEvents","name":"Get events","isWebhook":false,"pointer":"/paths/~1v1~1events/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get events","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get all events."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response includes events in every non-deleted lifecycle state ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCELLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPLETED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":");"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"apply state filtering client-side if you only want bookable events."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Results are ordered by session start time. Each event is returned once,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"positioned by its earliest session that matches the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" window."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["event.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_79","description":"Maximum number of items to return per page.\nDefaults to 100, maximum 500.\n"},{"name":"from","in":"query","schemaId":"schema_80","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter events with a session starting on or after this local date-time (inclusive)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ISO 8601 date-time without a timezone offset (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"2025-01-15T09:00:00"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The value is matched against each session's local "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An event is returned when any of its sessions starts within the requested window."},"children":[]}]}]}]},{"name":"to","in":"query","schemaId":"schema_81","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter events with a session starting before this local date-time (exclusive)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ISO 8601 date-time without a timezone offset (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"2025-01-15T18:00:00"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The value is matched against each session's local "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An event is returned when any of its sessions starts within the requested window."},"children":[]}]}]}]},{"name":"experience_id","in":"query","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Restrict the result to events of a single experience."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The filter strictly scopes results — no events from other experiences are returned."},"children":[]}]}]}]}],"pointer":"/paths/~1v1~1events/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/events","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_79"},{"name":"from","in":"query","example":"2025-01-15T09:00:00","schemaId":"schema_80"},{"name":"to","in":"query","example":"2025-01-15T18:00:00","schemaId":"schema_81"},{"name":"experience_id","in":"query","schemaId":"schema_56"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["event.read"]}],"responseCodes":["200","400","default"],"pointer":"/v1/events","href":"event/getevents","openApiOperationId":"getEvents","summary":"Get events"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_82"}},"schemaId":"schema_82"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1events/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_82","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_82"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/event/getevents"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/events"},{"label":"Get event","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/event/getevent","routeSlug":"/apis/event/getevent","metadata":{"seo":{"title":"Get event","description":"Get an event by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getEvent","name":"Get event","isWebhook":false,"pointer":"/paths/~1v1~1events~1{eventId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get event","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get an event by its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["event.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"eventId","in":"path","schemaId":"schema_56","description":"The unique identifier for the event.","required":true}],"pointer":"/paths/~1v1~1events~1{eventId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/events/{eventId}","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"eventId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["event.read"]}],"responseCodes":["200","403","404","default"],"pointer":"/v1/events/{eventId}","href":"event/getevent","openApiOperationId":"getEvent","summary":"Get event"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Event"}},"schemaId":"components/schemas/Event"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Event not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1events~1{eventId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Event","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Event"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/event/getevent"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/events/{eventId}"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Event created","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/event/eventcreated","routeSlug":"/apis/event/eventcreated","metadata":{"seo":{"title":"Event created","description":"Sent when a new event is created for an experience."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"eventCreated","name":"Event created","isWebhook":true,"pointer":"/paths/v1.event.created/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Event created","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a new event is created for an experience."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.event.created/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_83"}},"schemaId":"schema_83","pointer":"/paths/v1.event.created/post/requestBody","description":"Information about the created event."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.event.created","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_83"}},"responseCodes":["200"],"pointer":"v1.event.created","href":"event/eventcreated","openApiOperationId":"eventCreated","summary":"Event created"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_83","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_83"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.event.created/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/event/eventcreated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.event.created"},{"label":"Event updated","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/event/eventupdated","routeSlug":"/apis/event/eventupdated","metadata":{"seo":{"title":"Event updated","description":"Sent when an event is updated."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"eventUpdated","name":"Event updated","isWebhook":true,"pointer":"/paths/v1.event.updated/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Event updated","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when an event is updated."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.event.updated/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_84"}},"schemaId":"schema_84","pointer":"/paths/v1.event.updated/post/requestBody","description":"Information about the updated event."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.event.updated","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_84"}},"responseCodes":["200"],"pointer":"v1.event.updated","href":"event/eventupdated","openApiOperationId":"eventUpdated","summary":"Event updated"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_84","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_84"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.event.updated/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/event/eventupdated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.event.updated"},{"label":"Event cancelled","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/event/eventcancelled","routeSlug":"/apis/event/eventcancelled","metadata":{"seo":{"title":"Event cancelled","description":"Sent when an event is cancelled."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"eventCancelled","name":"Event cancelled","isWebhook":true,"pointer":"/paths/v1.event.cancelled/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Event cancelled","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when an event is cancelled."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.event.cancelled/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_85"}},"schemaId":"schema_85","pointer":"/paths/v1.event.cancelled/post/requestBody","description":"Information about the cancelled event."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.event.cancelled","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_85"}},"responseCodes":["200"],"pointer":"v1.event.cancelled","href":"event/eventcancelled","openApiOperationId":"eventCancelled","summary":"Event cancelled"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_85","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_85"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.event.cancelled/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/event/eventcancelled"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.event.cancelled"},{"label":"Event completed","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/event/eventcompleted","routeSlug":"/apis/event/eventcompleted","metadata":{"seo":{"title":"Event completed","description":"Sent when an event has completed."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"eventCompleted","name":"Event completed","isWebhook":true,"pointer":"/paths/v1.event.completed/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Event completed","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when an event has completed.\n\nFor single-session events, this is triggered when the session's end time is reached.\nFor multi-session events, this is triggered when the last session's end time is reached.\n"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.event.completed/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_86"}},"schemaId":"schema_86","pointer":"/paths/v1.event.completed/post/requestBody","description":"Information about the completed event."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.event.completed","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_86"}},"responseCodes":["200"],"pointer":"v1.event.completed","href":"event/eventcompleted","openApiOperationId":"eventCompleted","summary":"Event completed"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_86","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_86"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.event.completed/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/event/eventcompleted"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.event.completed"},{"label":"Event deleted","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/event/eventdeleted","routeSlug":"/apis/event/eventdeleted","metadata":{"seo":{"title":"Event deleted","description":"Sent when an event is deleted."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"eventDeleted","name":"Event deleted","isWebhook":true,"pointer":"/paths/v1.event.deleted/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Event deleted","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when an event is deleted."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.event.deleted/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_87"}},"schemaId":"schema_87","pointer":"/paths/v1.event.deleted/post/requestBody","description":"Information about the deleted event."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.event.deleted","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_87"}},"responseCodes":["200"],"pointer":"v1.event.deleted","href":"event/eventdeleted","openApiOperationId":"eventDeleted","summary":"Event deleted"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_87","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_87"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.event.deleted/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/event/eventdeleted"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.event.deleted"}],"content":{"contentType":"group","meta":{"name":"Event"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Event","showPageActions":true},{"nodeType":"markdoc","content":"An Event is a scheduled, bookable instance of an Experience.\n\nEach Event has a lifecycle state, a visibility, a capacity that is shared across all of its sessions,\nand one or more Sessions describing when and where it takes place. Bookings are made against an Event."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/events","summary":"Get events","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/event/getevents","deprecated":false},{"title":"/v1/events/{eventId}","summary":"Get event","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/event/getevent","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"v1.event.created","summary":"Event created","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/event/eventcreated","deprecated":false},{"title":"v1.event.updated","summary":"Event updated","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/event/eventupdated","deprecated":false},{"title":"v1.event.cancelled","summary":"Event cancelled","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/event/eventcancelled","deprecated":false},{"title":"v1.event.completed","summary":"Event completed","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/event/eventcompleted","deprecated":false},{"title":"v1.event.deleted","summary":"Event deleted","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/event/eventdeleted","deprecated":false}]}]}]}]}},{"type":"group","label":"Experience","link":"/apis/experience","routeSlug":"/apis/experience","items":[{"label":"Get experiences","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/experience/getexperiences","routeSlug":"/apis/experience/getexperiences","metadata":{"seo":{"title":"Get experiences","description":"Get all experiences for the company."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getExperiences","name":"Get experiences","isWebhook":false,"pointer":"/paths/~1v1~1experiences/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get experiences","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get all experiences for the company."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns experiences in any non-deleted lifecycle state, including "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ARCHIVED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"state"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" client-side if you only want bookable experiences. The response is paginated;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"pass the returned "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"next"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" cursor on subsequent calls to continue."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["experience.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_63","description":"Maximum number of items to return per page.\nDefaults to 100, maximum 100.\n"}],"pointer":"/paths/~1v1~1experiences/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept-Language","in":"header","schemaId":"schema_88","required":true}],"pointer":"/paths/~1v1~1experiences/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/experiences","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_63"}],"querystring":[],"header":[{"name":"Accept-Language","in":"header","required":true,"example":"en-GB; q=1.0, en-US; q=0.8","schemaId":"components/schemas/AcceptLanguageHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["experience.read"]}],"responseCodes":["200","400","default"],"pointer":"/v1/experiences","href":"experience/getexperiences","openApiOperationId":"getExperiences","summary":"Get experiences"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_89"}},"schemaId":"schema_89"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1experiences/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_89","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_89"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/experience/getexperiences"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/experiences"},{"label":"Get experience","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/experience/getexperiencebyid","routeSlug":"/apis/experience/getexperiencebyid","metadata":{"seo":{"title":"Get experience","description":"Get an experience by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getExperienceById","name":"Get experience","isWebhook":false,"pointer":"/paths/~1v1~1experiences~1{experienceId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get experience","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get an experience by its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["experience.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"experienceId","in":"path","schemaId":"schema_56","description":"The unique identifier of the experience.","required":true}],"pointer":"/paths/~1v1~1experiences~1{experienceId}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept-Language","in":"header","schemaId":"schema_88","required":true}],"pointer":"/paths/~1v1~1experiences~1{experienceId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/experiences/{experienceId}","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"experienceId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[{"name":"Accept-Language","in":"header","required":true,"example":"en-GB; q=1.0, en-US; q=0.8","schemaId":"components/schemas/AcceptLanguageHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["experience.read"]}],"responseCodes":["200","403","404","default"],"pointer":"/v1/experiences/{experienceId}","href":"experience/getexperiencebyid","openApiOperationId":"getExperienceById","summary":"Get experience"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Experience"}},"schemaId":"components/schemas/Experience"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Experience not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1experiences~1{experienceId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Experience","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Experience"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/experience/getexperiencebyid"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/experiences/{experienceId}"},{"label":"Get information requests","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/experience/getinformationrequestsforexperience","routeSlug":"/apis/experience/getinformationrequestsforexperience","metadata":{"seo":{"title":"Get information requests","description":"Get the information requests configured for an experience."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getInformationRequestsForExperience","name":"Get information requests","isWebhook":false,"pointer":"/paths/~1v1~1experiences~1{experienceId}~1information-requests/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get information requests","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get the information requests configured for an experience."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Information requests describe the additional questions a guest answers during the booking flow."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use them to render the booking form. The answers a guest actually provides are returned by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/booking/getinformationrequestanswers"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get information request answers"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on a booking."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["experience.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"experienceId","in":"path","schemaId":"schema_56","description":"The ID of the experience.","required":true}],"pointer":"/paths/~1v1~1experiences~1{experienceId}~1information-requests/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_63","description":"Maximum number of items to return per page.\nDefaults to 100, maximum 100.\n"}],"pointer":"/paths/~1v1~1experiences~1{experienceId}~1information-requests/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept-Language","in":"header","schemaId":"schema_88","required":true}],"pointer":"/paths/~1v1~1experiences~1{experienceId}~1information-requests/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/experiences/{experienceId}/information-requests","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"experienceId","in":"path","required":true,"schemaId":"schema_56"}],"query":[{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_63"}],"querystring":[],"header":[{"name":"Accept-Language","in":"header","required":true,"example":"en-GB; q=1.0, en-US; q=0.8","schemaId":"components/schemas/AcceptLanguageHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["experience.read"]}],"responseCodes":["200","400","403","404","default"],"pointer":"/v1/experiences/{experienceId}/information-requests","href":"experience/getinformationrequestsforexperience","openApiOperationId":"getInformationRequestsForExperience","summary":"Get information requests"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_90"}},"schemaId":"schema_90"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Experience not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1experiences~1{experienceId}~1information-requests/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_90","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_90"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/experience/getinformationrequestsforexperience"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/experiences/{experienceId}/information-requests"},{"label":"Get ticket variants","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/experience/getticketvariantsforexperience","routeSlug":"/apis/experience/getticketvariantsforexperience","metadata":{"seo":{"title":"Get ticket variants","description":"Get the ticket variants configured for an experience."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTicketVariantsForExperience","name":"Get ticket variants","isWebhook":false,"pointer":"/paths/~1v1~1experiences~1{experienceId}~1ticket-variants/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get ticket variants","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get the ticket variants configured for an experience."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ticket variants are the ticket options a guest can choose between when booking — the experience's"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"price catalog. Add-ons offered alongside a ticket are nested inside each variant. Pricing returned"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here is the catalog price; the actual price for a specific event is finalized when the booking is created."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["experience.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"experienceId","in":"path","schemaId":"schema_56","description":"The ID of the experience.","required":true}],"pointer":"/paths/~1v1~1experiences~1{experienceId}~1ticket-variants/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_63","description":"Maximum number of items to return per page.\nDefaults to 100, maximum 100.\n"}],"pointer":"/paths/~1v1~1experiences~1{experienceId}~1ticket-variants/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept-Language","in":"header","schemaId":"schema_88","required":true}],"pointer":"/paths/~1v1~1experiences~1{experienceId}~1ticket-variants/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/experiences/{experienceId}/ticket-variants","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"experienceId","in":"path","required":true,"schemaId":"schema_56"}],"query":[{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_63"}],"querystring":[],"header":[{"name":"Accept-Language","in":"header","required":true,"example":"en-GB; q=1.0, en-US; q=0.8","schemaId":"components/schemas/AcceptLanguageHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["experience.read"]}],"responseCodes":["200","400","403","404","default"],"pointer":"/v1/experiences/{experienceId}/ticket-variants","href":"experience/getticketvariantsforexperience","openApiOperationId":"getTicketVariantsForExperience","summary":"Get ticket variants"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_91"}},"schemaId":"schema_91"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Experience not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1experiences~1{experienceId}~1ticket-variants/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_91","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_91"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/experience/getticketvariantsforexperience"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/experiences/{experienceId}/ticket-variants"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Experience created","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/experience/experiencecreated","routeSlug":"/apis/experience/experiencecreated","metadata":{"seo":{"title":"Experience created","description":"Sent when a new experience is created."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"experienceCreated","name":"Experience created","isWebhook":true,"pointer":"/paths/v1.experience.created/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Experience created","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a new experience is created."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.experience.created/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_92"}},"schemaId":"schema_92","pointer":"/paths/v1.experience.created/post/requestBody","description":"Information about the created experience."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.experience.created","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_92"}},"responseCodes":["200"],"pointer":"v1.experience.created","href":"experience/experiencecreated","openApiOperationId":"experienceCreated","summary":"Experience created"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_92","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_92"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.experience.created/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/experience/experiencecreated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.experience.created"},{"label":"Experience updated","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/experience/experienceupdated","routeSlug":"/apis/experience/experienceupdated","metadata":{"seo":{"title":"Experience updated","description":"Sent when an experience is updated."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"experienceUpdated","name":"Experience updated","isWebhook":true,"pointer":"/paths/v1.experience.updated/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Experience updated","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when an experience is updated."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.experience.updated/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_93"}},"schemaId":"schema_93","pointer":"/paths/v1.experience.updated/post/requestBody","description":"Information about the updated experience."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.experience.updated","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_93"}},"responseCodes":["200"],"pointer":"v1.experience.updated","href":"experience/experienceupdated","openApiOperationId":"experienceUpdated","summary":"Experience updated"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_93","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_93"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.experience.updated/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/experience/experienceupdated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.experience.updated"},{"label":"Experience deleted","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/experience/experiencedeleted","routeSlug":"/apis/experience/experiencedeleted","metadata":{"seo":{"title":"Experience deleted","description":"Sent when an experience is deleted."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"experienceDeleted","name":"Experience deleted","isWebhook":true,"pointer":"/paths/v1.experience.deleted/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Experience deleted","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when an experience is deleted."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.experience.deleted/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_94"}},"schemaId":"schema_94","pointer":"/paths/v1.experience.deleted/post/requestBody","description":"Information about the deleted experience."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.experience.deleted","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_94"}},"responseCodes":["200"],"pointer":"v1.experience.deleted","href":"experience/experiencedeleted","openApiOperationId":"experienceDeleted","summary":"Experience deleted"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_94","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_94"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.experience.deleted/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/experience/experiencedeleted"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.experience.deleted"}],"content":{"contentType":"group","meta":{"name":"Experience"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Experience","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An Experience is the product a company offers — for example, a guided tour, a workshop, or a tasting."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Experiences are templates: each Experience produces one or more Events (scheduled instances) that customers actually book."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This API exposes experiences along with their information requests and ticket variants."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/experiences","summary":"Get experiences","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/experience/getexperiences","deprecated":false},{"title":"/v1/experiences/{experienceId}","summary":"Get experience","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/experience/getexperiencebyid","deprecated":false},{"title":"/v1/experiences/{experienceId}/information-requests","summary":"Get information requests","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/experience/getinformationrequestsforexperience","deprecated":false},{"title":"/v1/experiences/{experienceId}/ticket-variants","summary":"Get ticket variants","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/experience/getticketvariantsforexperience","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"v1.experience.created","summary":"Experience created","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/experience/experiencecreated","deprecated":false},{"title":"v1.experience.updated","summary":"Experience updated","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/experience/experienceupdated","deprecated":false},{"title":"v1.experience.deleted","summary":"Experience deleted","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/experience/experiencedeleted","deprecated":false}]}]}]}]}},{"type":"group","label":"Gift Card","link":"/apis/gift-card","routeSlug":"/apis/gift-card","items":[{"label":"Get Gift Cards","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/gift-card/getgiftcards","routeSlug":"/apis/gift-card/getgiftcards","metadata":{"seo":{"title":"Get Gift Cards","description":"Get all gift cards for the company."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getGiftCards","name":"Get Gift Cards","isWebhook":false,"pointer":"/paths/~1v1~1gift-cards/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Gift Cards","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get all gift cards for the company."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["gift-card.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_63","description":"Maximum number of items to return per page.\nDefaults to 100, maximum 100.\n"},{"name":"status","in":"query","schemaId":"schema_95","description":"Restrict the result to gift cards with the given status."}],"pointer":"/paths/~1v1~1gift-cards/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/gift-cards","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_63"},{"name":"status","in":"query","schemaId":"components/schemas/GiftCardStatus"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["gift-card.read"]}],"responseCodes":["200","400","403","default"],"pointer":"/v1/gift-cards","href":"gift-card/getgiftcards","openApiOperationId":"getGiftCards","summary":"Get Gift Cards"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GiftCardList"}},"schemaId":"components/schemas/GiftCardList"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1gift-cards/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/GiftCardList","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GiftCardList"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/gift-card/getgiftcards"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/gift-cards"},{"label":"Get Gift Card","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/gift-card/getgiftcardbyid","routeSlug":"/apis/gift-card/getgiftcardbyid","metadata":{"seo":{"title":"Get Gift Card","description":"Get a gift card by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getGiftCardById","name":"Get Gift Card","isWebhook":false,"pointer":"/paths/~1v1~1gift-cards~1{giftCardId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Gift Card","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get a gift card by its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["gift-card.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"giftCardId","in":"path","schemaId":"schema_56","description":"The unique identifier of the gift card.","required":true}],"pointer":"/paths/~1v1~1gift-cards~1{giftCardId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/gift-cards/{giftCardId}","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"giftCardId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["gift-card.read"]}],"responseCodes":["200","403","404","default"],"pointer":"/v1/gift-cards/{giftCardId}","href":"gift-card/getgiftcardbyid","openApiOperationId":"getGiftCardById","summary":"Get Gift Card"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GiftCard"}},"schemaId":"components/schemas/GiftCard"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Gift card not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1gift-cards~1{giftCardId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/GiftCard","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GiftCard"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/gift-card/getgiftcardbyid"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/gift-cards/{giftCardId}"},{"label":"Extend Gift Card Expiry","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/gift-card/extendgiftcardexpiry","routeSlug":"/apis/gift-card/extendgiftcardexpiry","metadata":{"seo":{"title":"Extend Gift Card Expiry","description":"Push an active gift card's expiry date further out."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"extendGiftCardExpiry","name":"Extend Gift Card Expiry","isWebhook":false,"pointer":"/paths/~1v1~1gift-cards~1{giftCardId}~1extend-expiry/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Extend Gift Card Expiry","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Push an active gift card's expiry date further out."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The new expiry must be later than the gift card's current expiry — this action only extends"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"validity, it never shortens it. Only gift cards with status "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can be extended; a gift card"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"that has already expired, been fully spent, or been voided is final."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Re-sending the gift card's current expiry date has no effect and returns the gift card unchanged,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"so a retried request is safe."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The change is recorded on the gift card's history and is visible to the company in Understory."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["gift-card.write"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"giftCardId","in":"path","schemaId":"schema_56","description":"The unique identifier of the gift card.","required":true}],"pointer":"/paths/~1v1~1gift-cards~1{giftCardId}~1extend-expiry/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ExtendGiftCardExpiryRequest"}},"schemaId":"components/schemas/ExtendGiftCardExpiryRequest","pointer":"/paths/~1v1~1gift-cards~1{giftCardId}~1extend-expiry/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/gift-cards/{giftCardId}/extend-expiry","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"giftCardId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["gift-card.write"]}],"requestBody":{"application/json":{"schemaId":"components/schemas/ExtendGiftCardExpiryRequest"}},"responseCodes":["200","400","403","404","409","default"],"pointer":"/v1/gift-cards/{giftCardId}/extend-expiry","href":"gift-card/extendgiftcardexpiry","openApiOperationId":"extendGiftCardExpiry","summary":"Extend Gift Card Expiry"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"components/schemas/ExtendGiftCardExpiryRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ExtendGiftCardExpiryRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GiftCard"}},"schemaId":"components/schemas/GiftCard"},{"code":"400","description":"The requested expiry date is invalid.\nIt is either in the past or not later than the gift card's current expiry.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Gift card not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The gift card cannot be extended in its current state."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only gift cards with status "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can be extended."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1gift-cards~1{giftCardId}~1extend-expiry/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/GiftCard","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GiftCard"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"409","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/gift-card/extendgiftcardexpiry"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/gift-cards/{giftCardId}/extend-expiry"}],"content":{"contentType":"group","meta":{"name":"Gift Card"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Gift Card","showPageActions":true},{"nodeType":"markdoc","content":"A Gift Card is a prepaid balance that a customer can redeem against future purchases.\n\nEach Gift Card carries an initial value, a remaining balance, an expiry date, and a status describing where it is in its lifecycle.\n\nAn active Gift Card's expiry date can be pushed further out with the extend-expiry action. Its balance cannot be\nchanged through this API. Gift Cards that have already expired, been fully spent, or been voided are final."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/gift-cards","summary":"Get Gift Cards","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/gift-card/getgiftcards","deprecated":false},{"title":"/v1/gift-cards/{giftCardId}","summary":"Get Gift Card","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/gift-card/getgiftcardbyid","deprecated":false},{"title":"/v1/gift-cards/{giftCardId}/extend-expiry","summary":"Extend Gift Card Expiry","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/gift-card/extendgiftcardexpiry","deprecated":false}]}]}]}]}},{"type":"group","label":"Location","link":"/apis/location","routeSlug":"/apis/location","items":[{"label":"Get Locations","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/location/getlocations","routeSlug":"/apis/location/getlocations","metadata":{"seo":{"title":"Get Locations","description":"Get all locations for the company."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLocations","name":"Get Locations","isWebhook":false,"pointer":"/paths/~1v1~1locations/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Locations","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get all locations for the company."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["location.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_63","description":"Maximum number of items to return per page.\nDefaults to 100, maximum 100.\n"}],"pointer":"/paths/~1v1~1locations/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/locations","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_63"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["location.read"]}],"responseCodes":["200","400","403","default"],"pointer":"/v1/locations","href":"location/getlocations","openApiOperationId":"getLocations","summary":"Get Locations"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LocationList"}},"schemaId":"components/schemas/LocationList"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1locations/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/LocationList","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LocationList"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/location/getlocations"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/locations"},{"label":"Get Location","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/location/getlocationbyid","routeSlug":"/apis/location/getlocationbyid","metadata":{"seo":{"title":"Get Location","description":"Get a location by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLocationById","name":"Get Location","isWebhook":false,"pointer":"/paths/~1v1~1locations~1{locationId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Location","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get a location by its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A removed location is no longer resolvable and returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["location.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"locationId","in":"path","schemaId":"schema_56","description":"The unique identifier of the location.","required":true}],"pointer":"/paths/~1v1~1locations~1{locationId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/locations/{locationId}","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"locationId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["location.read"]}],"responseCodes":["200","403","404","default"],"pointer":"/v1/locations/{locationId}","href":"location/getlocationbyid","openApiOperationId":"getLocationById","summary":"Get Location"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Location"}},"schemaId":"components/schemas/Location"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Location not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1locations~1{locationId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Location","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Location"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/location/getlocationbyid"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/locations/{locationId}"}],"content":{"contentType":"group","meta":{"name":"Location"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Location","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Location is a place a company runs its experiences from, referenced by the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"location_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on every"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"session of an "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/event/getevents"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Event"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each Location carries a postal address, optional geographic coordinates, and the IANA time zone that"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"interprets its sessions' offset-free "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The time zone falls back to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Europe/Copenhagen"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the company has not set one."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/locations","summary":"Get Locations","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/location/getlocations","deprecated":false},{"title":"/v1/locations/{locationId}","summary":"Get Location","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/location/getlocationbyid","deprecated":false}]}]}]}]}},{"type":"group","label":"Marketing","link":"/apis/marketing","routeSlug":"/apis/marketing","items":[{"label":"Get marketing consents","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/marketing/getmarketingconsents","routeSlug":"/apis/marketing/getmarketingconsents","metadata":{"seo":{"title":"Get marketing consents","description":"Get all marketing consents collected through Understory checkouts."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getMarketingConsents","name":"Get marketing consents","isWebhook":false,"pointer":"/paths/~1v1~1marketing-consents/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get marketing consents","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get all marketing consents collected through Understory checkouts."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["marketing.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_63","description":"Maximum number of items to return per page.\nDefaults to 100, maximum 100.\n"}],"pointer":"/paths/~1v1~1marketing-consents/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/marketing-consents","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_63"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["marketing.read"]}],"responseCodes":["200","400","default"],"pointer":"/v1/marketing-consents","href":"marketing/getmarketingconsents","openApiOperationId":"getMarketingConsents","summary":"Get marketing consents"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_96"}},"schemaId":"schema_96"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1marketing-consents/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_96","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_96"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/marketing/getmarketingconsents"}],"panels":[]}]},"httpPath":"/v1/marketing-consents"},{"label":"Get marketing consent by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/marketing/getmarketingconsentbyid","routeSlug":"/apis/marketing/getmarketingconsentbyid","metadata":{"seo":{"title":"Get marketing consent by ID","description":"Get a single marketing consent by its unique identifier."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getMarketingConsentById","name":"Get marketing consent by ID","isWebhook":false,"pointer":"/paths/~1v1~1marketing-consents~1{consentId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get marketing consent by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get a single marketing consent by its unique identifier."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["marketing.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"consentId","in":"path","schemaId":"schema_56","description":"The unique identifier of the marketing consent.","required":true}],"pointer":"/paths/~1v1~1marketing-consents~1{consentId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/marketing-consents/{consentId}","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"consentId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["marketing.read"]}],"responseCodes":["200","400","403","404","default"],"pointer":"/v1/marketing-consents/{consentId}","href":"marketing/getmarketingconsentbyid","openApiOperationId":"getMarketingConsentById","summary":"Get marketing consent by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MarketingConsent"}},"schemaId":"components/schemas/MarketingConsent"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden - insufficient permissions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Marketing consent not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1marketing-consents~1{consentId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/MarketingConsent","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MarketingConsent"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/marketing/getmarketingconsentbyid"}],"panels":[]}]},"httpPath":"/v1/marketing-consents/{consentId}"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Marketing consent created","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/marketing/marketingconsentcreated","routeSlug":"/apis/marketing/marketingconsentcreated","metadata":{"seo":{"title":"Marketing consent created","description":"Sent when a new marketing consent is submitted."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"marketingConsentCreated","name":"Marketing consent created","isWebhook":true,"pointer":"/paths/v1.marketing_consent.created/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Marketing consent created","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a new marketing consent is submitted.\n\nThis webhook is triggered every time a consent is submitted, even if the\nemail already exists. This allows external marketing systems to resubscribe\nusers who may have been unsubscribed externally.\n"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.marketing_consent.created/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_97"}},"schemaId":"schema_97","pointer":"/paths/v1.marketing_consent.created/post/requestBody","description":"Information about the marketing consent."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.marketing_consent.created","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_97"}},"responseCodes":["200"],"pointer":"v1.marketing_consent.created","href":"marketing/marketingconsentcreated","openApiOperationId":"marketingConsentCreated","summary":"Marketing consent created"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_97","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_97"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.marketing_consent.created/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/marketing/marketingconsentcreated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.marketing_consent.created"}],"content":{"contentType":"group","meta":{"name":"Marketing"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Marketing","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Marketing endpoints expose data captured for marketing automation flows."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Today the API surfaces marketing consents collected through Understory checkouts —"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"use them to feed external mailing platforms, build segmented audiences, and reconcile opt-ins."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/marketing-consents","summary":"Get marketing consents","prefix":{"name":"get","color":"get"},"badges":[],"link":"/marketing/getmarketingconsents","deprecated":false},{"title":"/v1/marketing-consents/{consentId}","summary":"Get marketing consent by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/marketing/getmarketingconsentbyid","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"v1.marketing_consent.created","summary":"Marketing consent created","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/marketing/marketingconsentcreated","deprecated":false}]}]}]}]}},{"type":"group","label":"Order","link":"/apis/order","routeSlug":"/apis/order","items":[{"label":"Get Orders","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/order/getorders","routeSlug":"/apis/order/getorders","metadata":{"seo":{"title":"Get Orders","description":"Get all orders."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getOrders","name":"Get Orders","isWebhook":false,"pointer":"/paths/~1v1~1orders/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Orders","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get all orders."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["order.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_63","description":"Maximum number of items to return per page.\nDefaults to 100, maximum 100.\n"},{"name":"from","in":"query","schemaId":"schema_53","description":"Filter orders after the provided timestamp.\n"},{"name":"to","in":"query","schemaId":"schema_53","description":"Filter orders before the provided timestamp.\n"},{"name":"sort","in":"query","schemaId":"schema_67"}],"pointer":"/paths/~1v1~1orders/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/orders","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_63"},{"name":"from","in":"query","schemaId":"schema_53"},{"name":"to","in":"query","schemaId":"schema_53"},{"name":"sort","in":"query","schemaId":"schema_67"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["order.read"]}],"responseCodes":["200","400","default"],"pointer":"/v1/orders","href":"order/getorders","openApiOperationId":"getOrders","summary":"Get Orders"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_98"}},"schemaId":"schema_98"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1orders/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_98","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_98"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/order/getorders"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/orders"},{"label":"Get Order","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/order/getorder","routeSlug":"/apis/order/getorder","metadata":{"seo":{"title":"Get Order","description":"Get an order by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getOrder","name":"Get Order","isWebhook":false,"pointer":"/paths/~1v1~1orders~1{orderId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Order","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get an order by its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["order.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"orderId","in":"path","schemaId":"schema_56","description":"The unique identifier of the order.","required":true}],"pointer":"/paths/~1v1~1orders~1{orderId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/orders/{orderId}","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"orderId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["order.read"]}],"responseCodes":["200","400","403","404","default"],"pointer":"/v1/orders/{orderId}","href":"order/getorder","openApiOperationId":"getOrder","summary":"Get Order"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Order"}},"schemaId":"components/schemas/Order"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1orders~1{orderId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Order","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Order"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/order/getorder"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/orders/{orderId}"},{"label":"Get Line Items","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/order/getlineitems","routeSlug":"/apis/order/getlineitems","metadata":{"seo":{"title":"Get Line Items","description":"Get all line items for an order."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLineItems","name":"Get Line Items","isWebhook":false,"pointer":"/paths/~1v1~1orders~1{orderId}~1line-items/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Line Items","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get all line items for an order."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Resolving product names"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Line items contain product references but not human-readable names. To resolve the name, use the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"product_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fields to determine which endpoint to call."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"• "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TICKET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TICKET_ADDON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Extract "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"experience_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", call "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/experience/getticketvariantsforexperience"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get ticket variants"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and match "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"product_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to a ticket variant or add-on."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"• "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GIFTCARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"gift_card_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to call "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/gift-card/getgiftcardbyid"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get gift card by ID"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["order.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"orderId","in":"path","schemaId":"schema_56","description":"The unique identifier of the order.","required":true}],"pointer":"/paths/~1v1~1orders~1{orderId}~1line-items/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/orders/{orderId}/line-items","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"orderId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["order.read"]}],"responseCodes":["200","400","404","default"],"pointer":"/v1/orders/{orderId}/line-items","href":"order/getlineitems","openApiOperationId":"getLineItems","summary":"Get Line Items"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_99"}},"schemaId":"schema_99"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1orders~1{orderId}~1line-items/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_99","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_99"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/order/getlineitems"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/orders/{orderId}/line-items"},{"label":"Get Transactions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/order/gettransactions","routeSlug":"/apis/order/gettransactions","metadata":{"seo":{"title":"Get Transactions","description":"Get all transactions for an order."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTransactions","name":"Get Transactions","isWebhook":false,"pointer":"/paths/~1v1~1orders~1{orderId}~1transactions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Transactions","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get all transactions for an order."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["order.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"orderId","in":"path","schemaId":"schema_56","description":"The unique identifier of the order.","required":true}],"pointer":"/paths/~1v1~1orders~1{orderId}~1transactions/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/orders/{orderId}/transactions","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"orderId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["order.read"]}],"responseCodes":["200","400","404","default"],"pointer":"/v1/orders/{orderId}/transactions","href":"order/gettransactions","openApiOperationId":"getTransactions","summary":"Get Transactions"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_100"}},"schemaId":"schema_100"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1orders~1{orderId}~1transactions/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_100","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_100"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/order/gettransactions"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/orders/{orderId}/transactions"},{"label":"Get Refunds","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/order/getrefunds","routeSlug":"/apis/order/getrefunds","metadata":{"seo":{"title":"Get Refunds","description":"Get all refunds for an order."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getRefunds","name":"Get Refunds","isWebhook":false,"pointer":"/paths/~1v1~1orders~1{orderId}~1refunds/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Refunds","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get all refunds for an order."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["order.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"orderId","in":"path","schemaId":"schema_56","description":"The unique identifier of the order.","required":true}],"pointer":"/paths/~1v1~1orders~1{orderId}~1refunds/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/orders/{orderId}/refunds","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"orderId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["order.read"]}],"responseCodes":["200","400","404","default"],"pointer":"/v1/orders/{orderId}/refunds","href":"order/getrefunds","openApiOperationId":"getRefunds","summary":"Get Refunds"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_101"}},"schemaId":"schema_101"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1orders~1{orderId}~1refunds/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_101","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_101"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/order/getrefunds"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/orders/{orderId}/refunds"}],"content":{"contentType":"group","meta":{"name":"Order"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Order","showPageActions":true},{"nodeType":"markdoc","content":"An Order represents the financial side of a purchase made through Understory.\n\nEach Order is linked to its origin (a booking or a gift card purchase) and carries its line items,\ntransactions, and refunds. Use this API to reconcile payments, build invoices, and audit the financial trail."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/orders","summary":"Get Orders","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/order/getorders","deprecated":false},{"title":"/v1/orders/{orderId}","summary":"Get Order","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/order/getorder","deprecated":false},{"title":"/v1/orders/{orderId}/line-items","summary":"Get Line Items","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/order/getlineitems","deprecated":false},{"title":"/v1/orders/{orderId}/transactions","summary":"Get Transactions","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/order/gettransactions","deprecated":false},{"title":"/v1/orders/{orderId}/refunds","summary":"Get Refunds","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/order/getrefunds","deprecated":false}]}]}]}]}},{"type":"group","label":"Test","link":"/apis/test","routeSlug":"/apis/test","items":[{"label":"Who am I","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/test/getme","routeSlug":"/apis/test/getme","metadata":{"seo":{"title":"Who am I","description":"Get information about the current user."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getMe","name":"Who am I","isWebhook":false,"pointer":"/paths/~1v1~1me/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Who am I","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get information about the current user."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":[],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/me","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":[]}],"responseCodes":["200"],"pointer":"/v1/me","href":"test/getme","openApiOperationId":"getMe","summary":"Who am I"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Me"}},"schemaId":"components/schemas/Me"}],"pointer":"/paths/~1v1~1me/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Me","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Me"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/test/getme"}],"panels":[]}]},"httpPath":"/v1/me"}],"content":{"contentType":"group","meta":{"name":"Test"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Test","showPageActions":true},{"nodeType":"markdoc","content":"These endpoints are for testing purposes only.\n\nYou can use them to verify that your integration authentication works as intended."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/me","summary":"Who am I","prefix":{"name":"get","color":"get"},"badges":[],"link":"/test/getme","deprecated":false}]}]}]}]}},{"type":"group","label":"Webhook","link":"/apis/webhook","routeSlug":"/apis/webhook","items":[{"label":"List Webhook Subscriptions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webhook/listwebhooksubscriptions","routeSlug":"/apis/webhook/listwebhooksubscriptions","metadata":{"seo":{"title":"List Webhook Subscriptions","description":"Retrieve all webhook subscriptions for the current organization."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listWebhookSubscriptions","name":"List Webhook Subscriptions","isWebhook":false,"pointer":"/paths/~1v1~1webhook-subscriptions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Webhook Subscriptions","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve all webhook subscriptions for the current organization."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["webhook.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"cursor","in":"query","schemaId":"schema_56","description":"Pagination cursor for fetching the next page of results.\nOmit or pass an empty string to start from the beginning of the list.\n"},{"name":"limit","in":"query","schemaId":"schema_63","description":"Maximum number of items to return per page.\nDefaults to 100, maximum 100.\n"}],"pointer":"/paths/~1v1~1webhook-subscriptions/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/webhook-subscriptions","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[{"name":"cursor","in":"query","schemaId":"schema_56"},{"name":"limit","in":"query","schemaId":"schema_63"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["webhook.read"]}],"responseCodes":["200","400","default"],"pointer":"/v1/webhook-subscriptions","href":"webhook/listwebhooksubscriptions","openApiOperationId":"listWebhookSubscriptions","summary":"List Webhook Subscriptions"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_102"}},"schemaId":"schema_102"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1webhook-subscriptions/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_102","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_102"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/listwebhooksubscriptions"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/webhook-subscriptions"},{"label":"Create Webhook Subscription","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webhook/createwebhooksubscription","routeSlug":"/apis/webhook/createwebhooksubscription","metadata":{"seo":{"title":"Create Webhook Subscription","description":"Create a new webhook subscription to receive event notifications at the specified URL."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createWebhookSubscription","name":"Create Webhook Subscription","isWebhook":false,"pointer":"/paths/~1v1~1webhook-subscriptions/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Webhook Subscription","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new webhook subscription to receive event notifications at the specified URL."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["webhook.write"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_103"}},"schemaId":"schema_103","pointer":"/paths/~1v1~1webhook-subscriptions/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/webhook-subscriptions","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["webhook.write"]}],"requestBody":{"application/json":{"schemaId":"schema_103"}},"responseCodes":["201","400","409","default"],"pointer":"/v1/webhook-subscriptions","href":"webhook/createwebhooksubscription","openApiOperationId":"createWebhookSubscription","summary":"Create Webhook Subscription"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_103","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_103"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Subscription successfully created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_104"}},"schemaId":"schema_104"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"409","description":"Request violates a business rule.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1webhook-subscriptions/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_104","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_104"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"409","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/createwebhooksubscription"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/webhook-subscriptions"},{"label":"Get Webhook Subscription","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webhook/getwebhooksubscription","routeSlug":"/apis/webhook/getwebhooksubscription","metadata":{"seo":{"title":"Get Webhook Subscription","description":"Retrieve details of a specific webhook subscription."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getWebhookSubscription","name":"Get Webhook Subscription","isWebhook":false,"pointer":"/paths/~1v1~1webhook-subscriptions~1{subscriptionId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Webhook Subscription","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve details of a specific webhook subscription."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["webhook.read"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"subscriptionId","in":"path","schemaId":"schema_56","description":"The unique identifier of the subscription.","required":true}],"pointer":"/paths/~1v1~1webhook-subscriptions~1{subscriptionId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/webhook-subscriptions/{subscriptionId}","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"subscriptionId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["webhook.read"]}],"responseCodes":["200","400","403","404","default"],"pointer":"/v1/webhook-subscriptions/{subscriptionId}","href":"webhook/getwebhooksubscription","openApiOperationId":"getWebhookSubscription","summary":"Get Webhook Subscription"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WebhookSubscription"}},"schemaId":"components/schemas/WebhookSubscription"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1webhook-subscriptions~1{subscriptionId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/WebhookSubscription","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WebhookSubscription"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/getwebhooksubscription"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/webhook-subscriptions/{subscriptionId}"},{"label":"Update Webhook Subscription","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webhook/updatewebhooksubscription","routeSlug":"/apis/webhook/updatewebhooksubscription","metadata":{"seo":{"title":"Update Webhook Subscription","description":"Update the configuration of an existing webhook subscription."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateWebhookSubscription","name":"Update Webhook Subscription","isWebhook":false,"pointer":"/paths/~1v1~1webhook-subscriptions~1{subscriptionId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Webhook Subscription","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update the configuration of an existing webhook subscription."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["webhook.write"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"subscriptionId","in":"path","schemaId":"schema_56","description":"The unique identifier of the subscription.","required":true}],"pointer":"/paths/~1v1~1webhook-subscriptions~1{subscriptionId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_105"}},"schemaId":"schema_105","pointer":"/paths/~1v1~1webhook-subscriptions~1{subscriptionId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v1/webhook-subscriptions/{subscriptionId}","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"subscriptionId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["webhook.write"]}],"requestBody":{"application/json":{"schemaId":"schema_105"}},"responseCodes":["200","400","403","404","409","default"],"pointer":"/v1/webhook-subscriptions/{subscriptionId}","href":"webhook/updatewebhooksubscription","openApiOperationId":"updateWebhookSubscription","summary":"Update Webhook Subscription"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_105","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_105"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WebhookSubscription"}},"schemaId":"components/schemas/WebhookSubscription"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"409","description":"Request violates a business rule.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1webhook-subscriptions~1{subscriptionId}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/WebhookSubscription","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/WebhookSubscription"}}},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"409","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/updatewebhooksubscription"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/webhook-subscriptions/{subscriptionId}"},{"label":"Delete Webhook Subscription","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webhook/deletewebhooksubscription","routeSlug":"/apis/webhook/deletewebhooksubscription","metadata":{"seo":{"title":"Delete Webhook Subscription","description":"Permanently delete a webhook subscription. This will stop all webhook deliveries for this subscription."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteWebhookSubscription","name":"Delete Webhook Subscription","isWebhook":false,"pointer":"/paths/~1v1~1webhook-subscriptions~1{subscriptionId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Webhook Subscription","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Permanently delete a webhook subscription. This will stop all webhook deliveries for this subscription."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2","scopes":["webhook.write"],"type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"subscriptionId","in":"path","schemaId":"schema_56","description":"The unique identifier of the subscription.","required":true}],"pointer":"/paths/~1v1~1webhook-subscriptions~1{subscriptionId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v1/webhook-subscriptions/{subscriptionId}","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[{"name":"subscriptionId","in":"path","required":true,"schemaId":"schema_56"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"OAuth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}],"scopes":["webhook.write"]}],"responseCodes":["204","400","403","404","default"],"pointer":"/v1/webhook-subscriptions/{subscriptionId}","href":"webhook/deletewebhooksubscription","openApiOperationId":"deleteWebhookSubscription","summary":"Delete Webhook Subscription"},"isWebhook":false,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Subscription successfully deleted."},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"403","description":"Forbidden.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"404","description":"Not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"},{"code":"default","description":"Unexpected error.\nThis will be a 5XX status code.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}},"schemaId":"components/schemas/Error"}],"pointer":"/paths/~1v1~1webhook-subscriptions~1{subscriptionId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"403","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"404","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}},{"code":"default","schemaId":"components/schemas/Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/deletewebhooksubscription"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"/v1/webhook-subscriptions/{subscriptionId}"},{"type":"separator","label":"Webhooks","variant":"secondary","content":null},{"label":"Event created","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/eventcreated","routeSlug":"/apis/webhook/eventcreated","metadata":{"seo":{"title":"Event created","description":"Sent when a new event is created for an experience."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"eventCreated","name":"Event created","isWebhook":true,"pointer":"/paths/v1.event.created/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Event created","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a new event is created for an experience."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.event.created/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_83"}},"schemaId":"schema_83","pointer":"/paths/v1.event.created/post/requestBody","description":"Information about the created event."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.event.created","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_83"}},"responseCodes":["200"],"pointer":"v1.event.created","href":"webhook/eventcreated","openApiOperationId":"eventCreated","summary":"Event created"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_83","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_83"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.event.created/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/eventcreated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.event.created"},{"label":"Event updated","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/eventupdated","routeSlug":"/apis/webhook/eventupdated","metadata":{"seo":{"title":"Event updated","description":"Sent when an event is updated."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"eventUpdated","name":"Event updated","isWebhook":true,"pointer":"/paths/v1.event.updated/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Event updated","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when an event is updated."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.event.updated/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_84"}},"schemaId":"schema_84","pointer":"/paths/v1.event.updated/post/requestBody","description":"Information about the updated event."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.event.updated","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_84"}},"responseCodes":["200"],"pointer":"v1.event.updated","href":"webhook/eventupdated","openApiOperationId":"eventUpdated","summary":"Event updated"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_84","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_84"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.event.updated/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/eventupdated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.event.updated"},{"label":"Event cancelled","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/eventcancelled","routeSlug":"/apis/webhook/eventcancelled","metadata":{"seo":{"title":"Event cancelled","description":"Sent when an event is cancelled."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"eventCancelled","name":"Event cancelled","isWebhook":true,"pointer":"/paths/v1.event.cancelled/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Event cancelled","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when an event is cancelled."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.event.cancelled/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_85"}},"schemaId":"schema_85","pointer":"/paths/v1.event.cancelled/post/requestBody","description":"Information about the cancelled event."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.event.cancelled","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_85"}},"responseCodes":["200"],"pointer":"v1.event.cancelled","href":"webhook/eventcancelled","openApiOperationId":"eventCancelled","summary":"Event cancelled"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_85","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_85"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.event.cancelled/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/eventcancelled"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.event.cancelled"},{"label":"Event completed","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/eventcompleted","routeSlug":"/apis/webhook/eventcompleted","metadata":{"seo":{"title":"Event completed","description":"Sent when an event has completed."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"eventCompleted","name":"Event completed","isWebhook":true,"pointer":"/paths/v1.event.completed/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Event completed","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when an event has completed.\n\nFor single-session events, this is triggered when the session's end time is reached.\nFor multi-session events, this is triggered when the last session's end time is reached.\n"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.event.completed/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_86"}},"schemaId":"schema_86","pointer":"/paths/v1.event.completed/post/requestBody","description":"Information about the completed event."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.event.completed","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_86"}},"responseCodes":["200"],"pointer":"v1.event.completed","href":"webhook/eventcompleted","openApiOperationId":"eventCompleted","summary":"Event completed"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_86","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_86"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.event.completed/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/eventcompleted"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.event.completed"},{"label":"Event deleted","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/eventdeleted","routeSlug":"/apis/webhook/eventdeleted","metadata":{"seo":{"title":"Event deleted","description":"Sent when an event is deleted."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"eventDeleted","name":"Event deleted","isWebhook":true,"pointer":"/paths/v1.event.deleted/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Event deleted","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when an event is deleted."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.event.deleted/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_87"}},"schemaId":"schema_87","pointer":"/paths/v1.event.deleted/post/requestBody","description":"Information about the deleted event."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.event.deleted","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_87"}},"responseCodes":["200"],"pointer":"v1.event.deleted","href":"webhook/eventdeleted","openApiOperationId":"eventDeleted","summary":"Event deleted"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_87","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_87"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.event.deleted/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/eventdeleted"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.event.deleted"},{"label":"Experience created","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/experiencecreated","routeSlug":"/apis/webhook/experiencecreated","metadata":{"seo":{"title":"Experience created","description":"Sent when a new experience is created."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"experienceCreated","name":"Experience created","isWebhook":true,"pointer":"/paths/v1.experience.created/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Experience created","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a new experience is created."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.experience.created/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_92"}},"schemaId":"schema_92","pointer":"/paths/v1.experience.created/post/requestBody","description":"Information about the created experience."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.experience.created","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_92"}},"responseCodes":["200"],"pointer":"v1.experience.created","href":"webhook/experiencecreated","openApiOperationId":"experienceCreated","summary":"Experience created"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_92","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_92"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.experience.created/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/experiencecreated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.experience.created"},{"label":"Experience updated","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/experienceupdated","routeSlug":"/apis/webhook/experienceupdated","metadata":{"seo":{"title":"Experience updated","description":"Sent when an experience is updated."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"experienceUpdated","name":"Experience updated","isWebhook":true,"pointer":"/paths/v1.experience.updated/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Experience updated","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when an experience is updated."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.experience.updated/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_93"}},"schemaId":"schema_93","pointer":"/paths/v1.experience.updated/post/requestBody","description":"Information about the updated experience."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.experience.updated","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_93"}},"responseCodes":["200"],"pointer":"v1.experience.updated","href":"webhook/experienceupdated","openApiOperationId":"experienceUpdated","summary":"Experience updated"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_93","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_93"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.experience.updated/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/experienceupdated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.experience.updated"},{"label":"Experience deleted","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/experiencedeleted","routeSlug":"/apis/webhook/experiencedeleted","metadata":{"seo":{"title":"Experience deleted","description":"Sent when an experience is deleted."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"experienceDeleted","name":"Experience deleted","isWebhook":true,"pointer":"/paths/v1.experience.deleted/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Experience deleted","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when an experience is deleted."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.experience.deleted/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_94"}},"schemaId":"schema_94","pointer":"/paths/v1.experience.deleted/post/requestBody","description":"Information about the deleted experience."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.experience.deleted","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_94"}},"responseCodes":["200"],"pointer":"v1.experience.deleted","href":"webhook/experiencedeleted","openApiOperationId":"experienceDeleted","summary":"Experience deleted"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_94","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_94"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.experience.deleted/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/experiencedeleted"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.experience.deleted"},{"label":"Booking created","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/bookingcreated","routeSlug":"/apis/webhook/bookingcreated","metadata":{"seo":{"title":"Booking created","description":"Sent when a new booking is created."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"bookingCreated","name":"Booking created","isWebhook":true,"pointer":"/paths/v1.booking.created/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Booking created","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a new booking is created."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.booking.created/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_73"}},"schemaId":"schema_73","pointer":"/paths/v1.booking.created/post/requestBody","description":"Information about the created booking."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.booking.created","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_73"}},"responseCodes":["200"],"pointer":"v1.booking.created","href":"webhook/bookingcreated","openApiOperationId":"bookingCreated","summary":"Booking created"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_73","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_73"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.booking.created/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/bookingcreated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.booking.created"},{"label":"Booking updated","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/bookingupdated","routeSlug":"/apis/webhook/bookingupdated","metadata":{"seo":{"title":"Booking updated","description":"Sent when a booking is updated."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"bookingUpdated","name":"Booking updated","isWebhook":true,"pointer":"/paths/v1.booking.updated/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Booking updated","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a booking is updated."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.booking.updated/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_74"}},"schemaId":"schema_74","pointer":"/paths/v1.booking.updated/post/requestBody","description":"Information about the updated booking."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.booking.updated","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_74"}},"responseCodes":["200"],"pointer":"v1.booking.updated","href":"webhook/bookingupdated","openApiOperationId":"bookingUpdated","summary":"Booking updated"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_74","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_74"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.booking.updated/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/bookingupdated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.booking.updated"},{"label":"Booking cancelled","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/bookingcancelled","routeSlug":"/apis/webhook/bookingcancelled","metadata":{"seo":{"title":"Booking cancelled","description":"Sent when a booking is cancelled."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"bookingCancelled","name":"Booking cancelled","isWebhook":true,"pointer":"/paths/v1.booking.cancelled/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Booking cancelled","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a booking is cancelled."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.booking.cancelled/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_75"}},"schemaId":"schema_75","pointer":"/paths/v1.booking.cancelled/post/requestBody","description":"Information about the cancelled booking."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.booking.cancelled","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_75"}},"responseCodes":["200"],"pointer":"v1.booking.cancelled","href":"webhook/bookingcancelled","openApiOperationId":"bookingCancelled","summary":"Booking cancelled"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_75","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_75"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.booking.cancelled/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/bookingcancelled"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.booking.cancelled"},{"label":"Journal Entry created","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/journalentrycreated","routeSlug":"/apis/webhook/journalentrycreated","metadata":{"seo":{"title":"Journal Entry created","description":"Sent when a new accounting journal entry has been recorded."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"journalEntryCreated","name":"Journal Entry created","isWebhook":true,"pointer":"/paths/v1.journal_entry.created/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Journal Entry created","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a new accounting journal entry has been recorded."},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.journal_entry.created/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_58"}},"schemaId":"schema_58","pointer":"/paths/v1.journal_entry.created/post/requestBody","description":"The journal entry ID for lookup."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.journal_entry.created","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_58"}},"responseCodes":["200"],"pointer":"v1.journal_entry.created","href":"webhook/journalentrycreated","openApiOperationId":"journalEntryCreated","summary":"Journal Entry created"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_58","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_58"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.journal_entry.created/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/journalentrycreated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.journal_entry.created"},{"label":"Journal Entry document attached","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/journalentrydocumentattached","routeSlug":"/apis/webhook/journalentrydocumentattached","metadata":{"seo":{"title":"Journal Entry document attached","description":"Sent when a supporting document - such as a customer receipt or credit note - is attached to an existing journal entry. Documents can be attached after the entry was first recorded, so re-fetch the entry to pick up the newly attached document."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"journalEntryDocumentAttached","name":"Journal Entry document attached","isWebhook":true,"pointer":"/paths/v1.journal_entry.document_attached/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Journal Entry document attached","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a supporting document - such as a customer receipt or credit\nnote - is attached to an existing journal entry. Documents can be\nattached after the entry was first recorded, so re-fetch the entry to\npick up the newly attached document.\n"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.journal_entry.document_attached/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_59"}},"schemaId":"schema_59","pointer":"/paths/v1.journal_entry.document_attached/post/requestBody","description":"The journal entry and document IDs for lookup."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.journal_entry.document_attached","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_59"}},"responseCodes":["200"],"pointer":"v1.journal_entry.document_attached","href":"webhook/journalentrydocumentattached","openApiOperationId":"journalEntryDocumentAttached","summary":"Journal Entry document attached"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_59","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_59"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.journal_entry.document_attached/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/journalentrydocumentattached"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.journal_entry.document_attached"},{"label":"Marketing consent created","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/webhook/marketingconsentcreated","routeSlug":"/apis/webhook/marketingconsentcreated","metadata":{"seo":{"title":"Marketing consent created","description":"Sent when a new marketing consent is submitted."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"marketingConsentCreated","name":"Marketing consent created","isWebhook":true,"pointer":"/paths/v1.marketing_consent.created/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Marketing consent created","badges":[{"name":"Alpha","color":"#dbe5d0"}],"isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Sent when a new marketing consent is submitted.\n\nThis webhook is triggered every time a consent is submitted, even if the\nemail already exists. This allows external marketing systems to resubscribe\nusers who may have been unsubscribed externally.\n"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"webhook-id","in":"header","schemaId":"schema_56","description":"Unique identifier for this webhook message.\nThis ID is the same when a webhook is retried due to a previous failure.\nUse this for deduplication.\n","required":true},{"name":"webhook-timestamp","in":"header","schemaId":"schema_56","description":"Timestamp of when the webhook was sent, in seconds since epoch.\nCompare against your system time to prevent replay attacks.\n","required":true},{"name":"webhook-signature","in":"header","schemaId":"schema_56","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base64-encoded HMAC-SHA256 signature for verifying the webhook authenticity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature is computed over: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{webhook-id}.{webhook-timestamp}.{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/v1.marketing_consent.created/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_97"}},"schemaId":"schema_97","pointer":"/paths/v1.marketing_consent.created/post/requestBody","description":"Information about the marketing consent."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"v1.marketing_consent.created","servers":[{"url":"https://api.understory.io"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"webhook-id","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-timestamp","in":"header","required":true,"schemaId":"schema_56"},{"name":"webhook-signature","in":"header","required":true,"schemaId":"schema_56"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_97"}},"responseCodes":["200"],"pointer":"v1.marketing_consent.created","href":"webhook/marketingconsentcreated","openApiOperationId":"marketingConsentCreated","summary":"Marketing consent created"},"isWebhook":true,"hideReplay":true,"servers":[{"url":"https://api.understory.io"}],"schemaId":"schema_97","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_97"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"}],"pointer":"/paths/v1.marketing_consent.created/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhook/marketingconsentcreated"}],"panels":[]}]},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"httpPath":"v1.marketing_consent.created"}],"content":{"contentType":"group","meta":{"name":"Webhook"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Webhook","showPageActions":true},{"nodeType":"markdoc","content":"Webhook subscription management and event delivery.\n\nWebhooks are sent to subscriber endpoints when events occur related to\nexperiences, events, and bookings."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/webhook-subscriptions","summary":"List Webhook Subscriptions","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/listwebhooksubscriptions","deprecated":false},{"title":"/v1/webhook-subscriptions","summary":"Create Webhook Subscription","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/createwebhooksubscription","deprecated":false},{"title":"/v1/webhook-subscriptions/{subscriptionId}","summary":"Get Webhook Subscription","prefix":{"name":"get","color":"get"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/getwebhooksubscription","deprecated":false},{"title":"/v1/webhook-subscriptions/{subscriptionId}","summary":"Update Webhook Subscription","prefix":{"name":"put","color":"put"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/updatewebhooksubscription","deprecated":false},{"title":"/v1/webhook-subscriptions/{subscriptionId}","summary":"Delete Webhook Subscription","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/deletewebhooksubscription","deprecated":false}]},{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"v1.event.created","summary":"Event created","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/eventcreated","deprecated":false},{"title":"v1.event.updated","summary":"Event updated","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/eventupdated","deprecated":false},{"title":"v1.event.cancelled","summary":"Event cancelled","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/eventcancelled","deprecated":false},{"title":"v1.event.completed","summary":"Event completed","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/eventcompleted","deprecated":false},{"title":"v1.event.deleted","summary":"Event deleted","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/eventdeleted","deprecated":false},{"title":"v1.experience.created","summary":"Experience created","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/experiencecreated","deprecated":false},{"title":"v1.experience.updated","summary":"Experience updated","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/experienceupdated","deprecated":false},{"title":"v1.experience.deleted","summary":"Experience deleted","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/experiencedeleted","deprecated":false},{"title":"v1.booking.created","summary":"Booking created","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/bookingcreated","deprecated":false},{"title":"v1.booking.updated","summary":"Booking updated","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/bookingupdated","deprecated":false},{"title":"v1.booking.cancelled","summary":"Booking cancelled","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/bookingcancelled","deprecated":false},{"title":"v1.journal_entry.created","summary":"Journal Entry created","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/journalentrycreated","deprecated":false},{"title":"v1.journal_entry.document_attached","summary":"Journal Entry document attached","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/journalentrydocumentattached","deprecated":false},{"title":"v1.marketing_consent.created","summary":"Marketing consent created","prefix":{"name":"post","color":"post"},"badges":[{"name":"Alpha","color":"#dbe5d0"}],"link":"/webhook/marketingconsentcreated","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/JournalEntryKind":{"id":"components/schemas/JournalEntryKind","kind":"json-schema","title":"JournalEntryKind","data":{"type":"string","enum":["SALE","REFUND","REVENUE_RECOGNITION","BREAKAGE","ADJUSTMENT","REVENUE_RECOGNITION_REVERSAL"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The kind of journal entry, which determines the variant of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"JournalEntry"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and which reference fields it populates."},"children":[]}]}]}]}},"components/schemas/JournalEntryList":{"id":"components/schemas/JournalEntryList","kind":"json-schema","title":"JournalEntryList","data":{"type":"object","description":"A paginated list of journal entries.","properties":{"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"},"items":{"type":"array","description":"The list of journal entries on the current page.","items":{"$ref":"#/components/schemas/JournalEntry"}}}}},"components/schemas/JournalEntry":{"id":"components/schemas/JournalEntry","kind":"json-schema","title":"JournalEntry","data":{"oneOf":[{"$ref":"#/components/schemas/SaleJournalEntry"},{"$ref":"#/components/schemas/RefundJournalEntry"},{"$ref":"#/components/schemas/RevenueRecognitionJournalEntry"},{"$ref":"#/components/schemas/BreakageJournalEntry"},{"$ref":"#/components/schemas/AdjustmentJournalEntry"},{"$ref":"#/components/schemas/RevenueRecognitionReversalJournalEntry"}],"discriminator":{"propertyName":"kind","mapping":{"SALE":"#/components/schemas/SaleJournalEntry","REFUND":"#/components/schemas/RefundJournalEntry","REVENUE_RECOGNITION":"#/components/schemas/RevenueRecognitionJournalEntry","BREAKAGE":"#/components/schemas/BreakageJournalEntry","ADJUSTMENT":"#/components/schemas/AdjustmentJournalEntry","REVENUE_RECOGNITION_REVERSAL":"#/components/schemas/RevenueRecognitionReversalJournalEntry"}},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A journal entry. Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"kind"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to discriminate between the variants. Each"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"variant declares which reference fields are populated for that kind of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"entry."},"children":[]}]}]}]}},"components/schemas/JournalEntryBase":{"id":"components/schemas/JournalEntryBase","kind":"json-schema","title":"JournalEntryBase","data":{"type":"object","required":["id","kind","occurred_at","postings","documents"],"properties":{"id":{"type":"string","description":"The unique identifier of the journal entry."},"kind":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The kind of journal entry. Drives the bookkeeping treatment in the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"external accounting system, and discriminates the variant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The kind also decides whether the entry's posting amounts include"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"VAT — see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on a posting."},"children":[]}]}]}]},"order_ids":{"type":"array","items":{"type":"string"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The orders this journal entry derives from. A single order for most"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"kinds; several for REVENUE_RECOGNITION entries that aggregate an"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"event's bookings into one entry."},"children":[]}]}]}]},"origin":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The system that processed the transaction that produced this journal entry"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNDERSTORY_PAY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Understory's own payment offering."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"STRIPE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Stripe."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PAYPAL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - PayPal."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QUICKPAY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - QuickPay."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GIFTCARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - payment redeemed against a gift card balance."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUNCHCARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - payment redeemed against a punch card balance."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EXTERNAL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - payment was received in another system and marked as paid within Understory."},"children":[]}]}]}]}],"enum":["UNDERSTORY_PAY","STRIPE","PAYPAL","QUICKPAY","GIFTCARD","PUNCHCARD","EXTERNAL"]},"occurred_at":{"type":"string","format":"date-time","description":"Timestamp of when the underlying business event occurred. Drives\nwhich accounting period this entry is booked into.\n"},"postings":{"type":"array","items":{"$ref":"#/components/schemas/Posting"},"description":"The postings that make up the entry. Sum of debits equals sum of\ncredits.\n"},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Document"},"description":"Supporting documents (e.g. customer receipts) referenced by URL.\n"}}}},"components/schemas/SaleJournalEntry":{"id":"components/schemas/SaleJournalEntry","kind":"json-schema","title":"SaleJournalEntry","data":{"allOf":[{"$ref":"#/components/schemas/JournalEntryBase"},{"type":"object","required":["kind","order_ids","transaction_id"],"properties":{"kind":{"type":"string","enum":["SALE"]},"transaction_id":{"type":"string","description":"The payment transaction that produced this sale.\n"}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A payment captured against an order."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every posting amount on this entry is "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"gross"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - VAT-inclusive - and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vat_rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" states the rate embedded in it."},"children":[]}]}]}]}},"components/schemas/RefundJournalEntry":{"id":"components/schemas/RefundJournalEntry","kind":"json-schema","title":"RefundJournalEntry","data":{"allOf":[{"$ref":"#/components/schemas/JournalEntryBase"},{"type":"object","required":["kind","order_ids","transaction_id","refund_id"],"properties":{"kind":{"type":"string","enum":["REFUND"]},"transaction_id":{"type":"string","description":"The original payment transaction being refunded.\n"},"refund_id":{"type":"string","description":"The refund event that produced this entry.\n"}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A refund of a captured payment. Mirrors the sale it reverses, so every"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"posting amount on this entry is "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"gross"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - VAT-inclusive - and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vat_rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" states the rate embedded in it."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Refunding an order whose revenue has already been recognised produces"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a separate "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVENUE_RECOGNITION_REVERSAL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entry for the recognised"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"portion. That entry's amounts are net; this one's are not."},"children":[]}]}]}]}},"components/schemas/RevenueRecognitionJournalEntry":{"id":"components/schemas/RevenueRecognitionJournalEntry","kind":"json-schema","title":"RevenueRecognitionJournalEntry","data":{"allOf":[{"$ref":"#/components/schemas/JournalEntryBase"},{"type":"object","required":["kind","order_ids","event_id","experience_id","recognition_scope"],"properties":{"kind":{"type":"string","enum":["REVENUE_RECOGNITION"]},"event_id":{"type":"string","description":"The completed event whose bookings produced this revenue\nrecognition.\n"},"experience_id":{"type":"string","description":"The experience the recognised bookings are for.\n"},"recognition_scope":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"How the event's bookings were grouped into entries."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PER_EVENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - one entry aggregating every booking on the event."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PER_BOOKING"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - one entry per booking on the event."},"children":[]}]}]}]}],"enum":["PER_EVENT","PER_BOOKING"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Revenue earned by delivering a completed event, released from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"prepayment it was held against."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every posting amount on this entry is "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"net"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - VAT-exclusive - on the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKING_PREPAYMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" debit as well as the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKING_REVENUE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" credit."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vat_rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on a posting says which rate that revenue belongs to;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"it is not embedded in the amount, so extracting it understates the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"revenue and leaves the prepayment permanently short."},"children":[]}]}]}]}},"components/schemas/RevenueRecognitionReversalJournalEntry":{"id":"components/schemas/RevenueRecognitionReversalJournalEntry","kind":"json-schema","title":"RevenueRecognitionReversalJournalEntry","data":{"allOf":[{"$ref":"#/components/schemas/JournalEntryBase"},{"type":"object","required":["kind","order_ids","event_id","experience_id","recognition_scope"],"properties":{"kind":{"type":"string","enum":["REVENUE_RECOGNITION_REVERSAL"]},"event_id":{"type":"string","description":"The cancelled event whose earlier revenue recognition this entry\nreverses.\n"},"experience_id":{"type":"string","description":"The experience the reversed bookings are for.\n"},"recognition_scope":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"How the event's bookings were grouped into entries — the same"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"scope as the revenue-recognition entry being reversed."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PER_EVENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - one entry aggregating every booking on the event."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PER_BOOKING"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - one entry per booking on the event."},"children":[]}]}]}]}],"enum":["PER_EVENT","PER_BOOKING"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reverses a previously recognised revenue entry — booked when a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"completed event is later cancelled, when a booking is moved off it, or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"when an order is refunded after its revenue was recognised. Mirrors"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the original entry's postings with debit/credit flipped rather than"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"mutating it."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Amounts are "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"net"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", matching the entry being reversed, and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vat_rate"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is carried for the same reason - see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVENUE_RECOGNITION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}},"components/schemas/BreakageJournalEntry":{"id":"components/schemas/BreakageJournalEntry","kind":"json-schema","title":"BreakageJournalEntry","data":{"allOf":[{"$ref":"#/components/schemas/JournalEntryBase"},{"type":"object","required":["kind","order_ids"],"properties":{"kind":{"type":"string","enum":["BREAKAGE"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A gift card or punch card expiring unused, moving the balance left on"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"it from the liability to breakage revenue."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No VAT applies: the liability posting omits "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vat_rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"breakage posting carries "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", so gross and net are the same amount."},"children":[]}]}]}]}},"components/schemas/AdjustmentJournalEntry":{"id":"components/schemas/AdjustmentJournalEntry","kind":"json-schema","title":"AdjustmentJournalEntry","data":{"allOf":[{"$ref":"#/components/schemas/JournalEntryBase"},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["ADJUSTMENT"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A manual adjustment to a gift card's or punch card's balance, booked"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"as a movement between the card's liability and a contra adjustment"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"account."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No VAT applies: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vat_rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is omitted on both postings, so gross and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"net are the same amount."},"children":[]}]}]}]}},"components/schemas/Posting":{"id":"components/schemas/Posting","kind":"json-schema","title":"Posting","data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A single posting in a journal entry. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" discriminator determines"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"which posting shape applies and which fields are present."},"children":[]}]}]}],"oneOf":[{"$ref":"#/components/schemas/BookingPosting"},{"$ref":"#/components/schemas/GenericPosting"}],"discriminator":{"propertyName":"type","mapping":{"BOOKING_PREPAYMENT":"#/components/schemas/BookingPosting","BOOKING_REVENUE":"#/components/schemas/BookingPosting","BOOKING_FEE_REVENUE":"#/components/schemas/BookingPosting","CUSTOMER_PAYMENT":"#/components/schemas/GenericPosting","EXPERIENCE_GIFT_CARD_LIABILITY":"#/components/schemas/GenericPosting","MONETARY_GIFT_CARD_LIABILITY":"#/components/schemas/GenericPosting","GIFT_CARD_BREAKAGE":"#/components/schemas/GenericPosting","GIFT_CARD_ADJUSTMENT":"#/components/schemas/GenericPosting","PUNCH_CARD_LIABILITY":"#/components/schemas/GenericPosting","PUNCH_CARD_ADJUSTMENT":"#/components/schemas/GenericPosting","PUNCH_CARD_BREAKAGE":"#/components/schemas/GenericPosting","PLATFORM_FEE":"#/components/schemas/GenericPosting","TRANSACTION_FEE":"#/components/schemas/GenericPosting"}}}},"components/schemas/PostingBase":{"id":"components/schemas/PostingBase","kind":"json-schema","title":"PostingBase","data":{"type":"object","required":["id","type","direction","amount"],"properties":{"id":{"type":"string","description":"The unique identifier of the posting."},"type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The posting type, which discriminates the variant. Which types"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"appear depends on the originating journal entry "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"kind"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"direction":{"type":"string","enum":["DEBIT","CREDIT"],"description":"The direction of the posting.\n"},"amount":{"$ref":"#/components/schemas/Amount","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The amount of the posting. Always positive - the sign comes from"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the direction."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether the amount includes VAT is decided by the journal entry's"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"kind"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", not by the posting "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REFUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"gross"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The amount is what the customer"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paid or was refunded, VAT included, and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vat_rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the rate"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"embedded in it."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVENUE_RECOGNITION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVENUE_RECOGNITION_REVERSAL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"net"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The amount is already VAT-exclusive, on the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKING_PREPAYMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" leg as well as the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKING_REVENUE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" leg."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Do not extract VAT from it a second time."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BREAKAGE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADJUSTMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - no VAT applies, so the distinction"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"does not arise."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The same posting type is gross under one kind and net under"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"another: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKING_PREPAYMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is gross on a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and net on a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVENUE_RECOGNITION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". A rule keyed on posting type cannot express"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"this - key on the entry's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"kind"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"vat_rate":{"type":"number","format":"decimal","example":0.25,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The VAT rate as a decimal (e.g. 0.25 for 25%). Omitted when not"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"applicable."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The rate is stated on net postings as well as gross ones, so its"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"presence does not mean the amount is gross. On a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVENUE_RECOGNITION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVENUE_RECOGNITION_REVERSAL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" posting"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the amount is already net and the rate is there to route the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"posting to the right per-rate revenue account and to report the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"VAT that revenue attracts - not to be extracted from the amount."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for which kinds are gross."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Where no VAT is due, gross and net are the same amount either way,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"but the two sides state it differently: an exempt amount carries a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" rate on "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVENUE_RECOGNITION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REVENUE_RECOGNITION_REVERSAL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" postings, and omits the rate on the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"corresponding "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REFUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" postings."},"children":[]}]}]}]}}}},"components/schemas/BookingPosting":{"id":"components/schemas/BookingPosting","kind":"json-schema","title":"BookingPosting","data":{"description":"A posting that relates to a booking. Carries the booking context needed\nto attribute the amount to an experience and its locations.\n","allOf":[{"$ref":"#/components/schemas/PostingBase"},{"type":"object","required":["type","booking"],"properties":{"type":{"type":"string","enum":["BOOKING_PREPAYMENT","BOOKING_REVENUE","BOOKING_FEE_REVENUE"],"description":"Discriminator value identifying this as a booking posting."},"booking":{"$ref":"#/components/schemas/BookingDetails","description":"Booking-related context for this posting."}}}]}},"components/schemas/GenericPosting":{"id":"components/schemas/GenericPosting","kind":"json-schema","title":"GenericPosting","data":{"description":"A posting that does not relate to a specific booking, such as customer\npayments, gift-card liabilities, breakage, and fees.\n","allOf":[{"$ref":"#/components/schemas/PostingBase"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["CUSTOMER_PAYMENT","EXPERIENCE_GIFT_CARD_LIABILITY","MONETARY_GIFT_CARD_LIABILITY","GIFT_CARD_BREAKAGE","GIFT_CARD_ADJUSTMENT","PUNCH_CARD_LIABILITY","PUNCH_CARD_ADJUSTMENT","PUNCH_CARD_BREAKAGE","PLATFORM_FEE","TRANSACTION_FEE"],"description":"Discriminator value identifying this as a non-booking posting."}}}]}},"components/schemas/BookingDetails":{"id":"components/schemas/BookingDetails","kind":"json-schema","title":"BookingDetails","data":{"type":"object","description":"Booking-related context attached to a posting, identifying the\nexperience and locations the posting relates to.\n","required":["experience_id"],"properties":{"experience_id":{"type":"string","description":"The experience this posting relates to."},"location_ids":{"type":"array","items":{"type":"string"},"description":"The locations this posting relates to."},"variant_id":{"type":"string","description":"The ticket variant or add-on this posting relates to."}}}},"components/schemas/Amount":{"id":"components/schemas/Amount","kind":"json-schema","title":"Amount","data":{"type":"object","description":"A monetary amount expressed in a minor currency unit so it can be represented exactly as an integer.\n","required":["currency","value","exponent"],"properties":{"currency":{"type":"string","description":"The ISO 4217 currency code.","example":"EUR"},"value":{"type":"integer","description":"The amount in the smallest currency unit (e.g. cents for EUR).","example":2500},"exponent":{"type":"integer","description":"The number of decimal places for the currency.","example":2}}}},"components/schemas/Document":{"id":"components/schemas/Document","kind":"json-schema","title":"Document","data":{"type":"object","required":["id","url","type","mime_type"],"properties":{"id":{"type":"string","description":"The unique identifier of the document."},"url":{"type":"string","format":"uri","description":"URL pointing to the document in its immutable storage location.\n"},"type":{"type":"string","enum":["CUSTOMER_RECEIPT","CREDIT_NOTE","PLATFORM_FEE"],"description":"The document type.\n"},"mime_type":{"type":"string","description":"The IANA media type of the document.\n","example":"application/pdf"}}}},"components/schemas/Activity":{"id":"components/schemas/Activity","kind":"json-schema","title":"Activity","data":{"type":"object","required":["id","source","type","occurred_at","recorded_at"],"properties":{"id":{"type":"string","description":"The unique identifier of the activity item."},"source":{"type":"string","description":"The system that recorded the activity - typically the accounting\nintegration relaying the result (e.g. \"e-conomic\", \"tripletex\").\n"},"type":{"type":"string","enum":["SYNC_STARTED","SYNC_SUCCEEDED","SYNC_FAILED","UNKNOWN"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What the activity represents. The set of types grows over time, so"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"treat unrecognised values as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is returned when"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the upstream value does not match a known type; treat as a signal"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to re-fetch or surface for manual review."},"children":[]}]}]}]},"detail":{"type":"string","description":"Human-readable detail about the activity - for example the error\nmessage of a failed sync. Omitted when there is nothing to add.\n"},"detail_code":{"$ref":"#/components/schemas/ActivityDetailCode"},"external_reference":{"$ref":"#/components/schemas/ExternalReference"},"occurred_at":{"type":"string","format":"date-time","description":"When the activity happened in the source system."},"recorded_at":{"type":"string","format":"date-time","description":"When the activity was recorded by Understory."}}}},"components/schemas/RecordActivityRequest":{"id":"components/schemas/RecordActivityRequest","kind":"json-schema","title":"RecordActivityRequest","data":{"type":"object","required":["source","type"],"properties":{"activity_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A client-supplied idempotency key for the activity. Recording the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"activity_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" again has no further effect. Generated by the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"server when omitted."},"children":[]}]}]}]},"source":{"type":"string","description":"The system recording the activity - typically the integration\nrelaying the result (e.g. \"e-conomic\", \"tripletex\").\n"},"type":{"type":"string","enum":["SYNC_STARTED","SYNC_SUCCEEDED","SYNC_FAILED"],"description":"What the activity represents. The set of accepted types grows over\ntime as more kinds of activity are supported.\n"},"detail":{"type":"string","description":"Human-readable detail eg. error message of a failed sync.\n"},"detail_code":{"$ref":"#/components/schemas/ActivityDetailCode"},"external_reference":{"$ref":"#/components/schemas/ExternalReference"},"occurred_at":{"type":"string","format":"date-time","description":"Timestamp of when the activity happened in the source system.\nDefaults to the time the request is received when omitted.\n"}}}},"components/schemas/ActivityDetailCode":{"id":"components/schemas/ActivityDetailCode","kind":"json-schema","title":"ActivityDetailCode","data":{"type":"string","enum":["CONFIGURATION_INCOMPLETE","CONFIGURATION_INVALID","CONNECTION_REJECTED","ACCESS_DENIED","SALES_DOCUMENT_MISSING","FINANCIAL_YEAR_MISSING","PROVIDER_REJECTED","UNKNOWN"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"How a failed sync classifies, so it can be rendered in the reader's"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"language and acted on without parsing "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"detail"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"detail"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" still carries"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"what the accounting provider itself said about the posting; this says"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"what kind of failure it was. Omitted when the integration has nothing to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"classify - a successful sync, or an activity recorded before the field"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"existed - so fall back to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"detail"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when it is absent."},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Value"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What the customer does"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CONFIGURATION_INCOMPLETE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"finish setting the integration up"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CONFIGURATION_INVALID"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"correct a specific mapping, named in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"detail"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CONNECTION_REJECTED"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"reconnect the integration"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACCESS_DENIED"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"reauthorize the integration to widen its grant"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SALES_DOCUMENT_MISSING"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"make the correction in the provider by hand"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FINANCIAL_YEAR_MISSING"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"open a period covering the posting date"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PROVIDER_REJECTED"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"act on the provider's own message in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"detail"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"retry, and contact support if it persists"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The set grows over time; treat an unrecognised value as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}},"components/schemas/ExternalReference":{"id":"components/schemas/ExternalReference","kind":"json-schema","title":"ExternalReference","data":{"type":"object","required":["label"],"properties":{"label":{"type":"string","description":"Human-readable label for the external record, shown verbatim in the\nUI (e.g. \"Voucher 1024\").\n"},"url":{"type":"string","format":"uri","description":"Optional link to the external record. When present, the label is\nrendered as a link to it.\n"}},"description":"A labelled link to the record this activity refers to in the external\nsystem - for example the voucher created by a successful sync.\n"}},"components/schemas/Error":{"id":"components/schemas/Error","kind":"json-schema","title":"Error","data":{"type":"object","required":["message","code"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}}},"components/schemas/AvailabilityList":{"id":"components/schemas/AvailabilityList","kind":"json-schema","title":"AvailabilityList","data":{"type":"object","description":"Paginated response for listing availabilities.","required":["items"],"properties":{"items":{"type":"array","description":"The availabilities matching the query, ordered by start time.","items":{"$ref":"#/components/schemas/Availability"}},"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"}}}},"components/schemas/Availability":{"id":"components/schemas/Availability","kind":"json-schema","title":"Availability","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A period an experience can be booked for, and whether it can be booked right now."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the overall verdict — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only if every applicable constraint allows booking."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"constraints"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" always contains every constraint that applies to the availability, regardless of whether each"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"one is currently passing, so clients can render granular reasons (for example "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"3 seats left\""},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"booking closes Tuesday at 17:00\""},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and not just a yes/no."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" answers whether anything at all can still be sold on this availability. It does not account for a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"specific selection of ticket variants, so an availability can report "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" while the exact basket a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"guest has assembled no longer fits. Booking creation remains the authoritative check."},"children":[]}]}]}],"required":["id","subject","start_time","end_time","timezone","available","constraints"],"properties":{"id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Opaque identifier of the availability, stable for as long as the availability exists."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Hand it back as-is to "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/availability/getavailabilitybyid"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get Availability"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; its encoding is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"not part of the contract and may change without notice."},"children":[]}]}]}],"example":"djF8ZXZ0fDNmMmIxZDY0LTljN2UtNGYwYS04YjIxLTJmMGU1YTZjMWQ3Nw"},"subject":{"$ref":"#/components/schemas/AvailabilitySubject","description":"What this availability is for."},"start_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The start of the availability as a local date-time, without a timezone offset"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"2026-07-14T15:00:00"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Combine it with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to derive an absolute instant."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"On an event with several sessions this is the earliest session's start, whatever order the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"sessions are listed in."},"children":[]}]}]}],"example":"2026-07-14T15:00:00"},"end_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The end of the availability as a local date-time, without a timezone offset"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"2026-07-14T16:00:00"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for how to combine it with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"On an event with several sessions this is the end of that same earliest session — "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"not"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" the end"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"of the last one. An availability describes one sitting, named by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"subject.session_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", so "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is not when the event finishes, and a calendar built from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" alone will show"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a multi-session event as its first session only."},"children":[]}]}]}],"example":"2026-07-14T16:00:00"},"timezone":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The IANA timezone the availability's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are expressed in, resolved from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"location the availability runs at."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is the timezone of the session they are taken from, so an event whose sessions run"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"at locations in different timezones reports only the earliest session's."},"children":[]}]}]}],"example":"Europe/Copenhagen"},"available":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether the availability is currently bookable."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if any constraint in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"constraints"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" reports "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"constraints":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every constraint that applies to this availability, in no particular order."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both passing ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and failing constraints are included."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Which constraints apply depends on the availability: a timeslot has no event yet, so it carries neither"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EVENT_STATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" nor "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EXCLUSIVITY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/AvailabilityConstraint"}}}}},"components/schemas/AvailabilitySubject":{"id":"components/schemas/AvailabilitySubject","kind":"json-schema","title":"AvailabilitySubject","data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What an availability is for — a concrete event, or a timeslot that has none yet."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" discriminator determines which subject shape applies and which fields are present."},"children":[]}]}]}],"oneOf":[{"$ref":"#/components/schemas/EventSubject"},{"$ref":"#/components/schemas/TimeslotSubject"}],"discriminator":{"propertyName":"type","mapping":{"EVENT":"#/components/schemas/EventSubject","TIMESLOT":"#/components/schemas/TimeslotSubject"}}}},"components/schemas/EventSubject":{"id":"components/schemas/EventSubject","kind":"json-schema","title":"EventSubject","data":{"type":"object","description":"An availability for a concrete event.","required":["type","event_id","session_id"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this as an event subject.","enum":["EVENT"]},"event_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The unique identifier of the event, as returned by the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/event/getevents"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Events API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"session_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The unique identifier of the session this availability describes, as returned on the event's"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/event/getevents"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"sessions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is the session "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are taken from — the earliest one when the event has"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"several — so it names which sitting is on show without matching times back yourself."},"children":[]}]}]}]}}}},"components/schemas/TimeslotSubject":{"id":"components/schemas/TimeslotSubject","kind":"json-schema","title":"TimeslotSubject","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An availability for a period that has no event yet."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An experience that sells timeslots is bookable across its operating hours rather than at fixed times, and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the event is created when the first booking is made. The availability carries no event ID because no event exists;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"address it by the availability's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Timeslots are not bookable yet through the public API."},"children":[]}]}]}],"required":["type"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this as a timeslot subject.","enum":["TIMESLOT"]}}}},"components/schemas/AvailabilityConstraint":{"id":"components/schemas/AvailabilityConstraint","kind":"json-schema","title":"AvailabilityConstraint","data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A single factor evaluated when deciding whether an availability can be booked."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" discriminator determines which constraint shape applies and which fields are present."},"children":[]}]}]}],"oneOf":[{"$ref":"#/components/schemas/EventStateConstraint"},{"$ref":"#/components/schemas/SeatsLimitConstraint"},{"$ref":"#/components/schemas/BookingLimitConstraint"},{"$ref":"#/components/schemas/BookingCutoffTimeConstraint"},{"$ref":"#/components/schemas/TicketLimitConstraint"},{"$ref":"#/components/schemas/ExclusivityConstraint"}],"discriminator":{"propertyName":"type","mapping":{"EVENT_STATE":"#/components/schemas/EventStateConstraint","SEATS_LIMIT":"#/components/schemas/SeatsLimitConstraint","BOOKING_LIMIT":"#/components/schemas/BookingLimitConstraint","BOOKING_CUTOFF_TIME":"#/components/schemas/BookingCutoffTimeConstraint","TICKET_LIMIT":"#/components/schemas/TicketLimitConstraint","EXCLUSIVITY":"#/components/schemas/ExclusivityConstraint"}}}},"components/schemas/EventStateConstraint":{"id":"components/schemas/EventStateConstraint","kind":"json-schema","title":"EventStateConstraint","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether the event's lifecycle state permits booking."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only events in state "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are bookable; any other state (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCELLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPLETED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") reports "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only on availabilities whose subject is an event."},"children":[]}]}]}],"required":["type","available","state"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this as the event-state constraint.","enum":["EVENT_STATE"]},"available":{"type":"boolean","description":"Whether this constraint allows booking right now."},"state":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The current lifecycle state of the event."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The values map 1:1 to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Event.state"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/event/getevents"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Events API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"enum":["ACTIVE","INACTIVE","CANCELLED","COMPLETED"]}}}},"components/schemas/SeatsLimitConstraint":{"id":"components/schemas/SeatsLimitConstraint","kind":"json-schema","title":"SeatsLimitConstraint","data":{"type":"object","description":"Whether the availability has any seat capacity left.\nOn an availability backed by an event this is the event's remaining capacity; on a timeslot it is the\ncapacity the experience would start an event with.\n","required":["type","available","remaining"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this as the seats-limit constraint.","enum":["SEATS_LIMIT"]},"available":{"type":"boolean","description":"Whether this constraint allows booking right now."},"remaining":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The number of seats still available on the availability."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An availability locked for exclusive booking reports its seats unchanged while being unbookable to everyone"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"else, so read "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EXCLUSIVITY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" alongside this value rather than treating a non-zero count as bookable."},"children":[]}]}]}]}}}},"components/schemas/BookingLimitConstraint":{"id":"components/schemas/BookingLimitConstraint","kind":"json-schema","title":"BookingLimitConstraint","data":{"type":"object","description":"Whether the configured maximum number of seats per booking is reached for this availability.","required":["type","available","remaining"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this as the booking-limit constraint.","enum":["BOOKING_LIMIT"]},"available":{"type":"boolean","description":"Whether this constraint allows booking right now."},"remaining":{"type":"integer","description":"The largest number of seats a single new booking may still request."}}}},"components/schemas/BookingCutoffTimeConstraint":{"id":"components/schemas/BookingCutoffTimeConstraint","kind":"json-schema","title":"BookingCutoffTimeConstraint","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether bookings have closed for this availability."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The cutoff is configured per experience as an offset, before or after the availability's start or before its"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"end. A timeslot that has no cutoff configured closes at its own start."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"On an event with several sessions the deadline spans the whole event, unlike "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"start-relative cutoff runs from the earliest session's start, an end-relative one from the last"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"session's end. So "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cutoff_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can fall after the availability's own "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","available","cutoff_time"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this as the booking-cutoff-time constraint.","enum":["BOOKING_CUTOFF_TIME"]},"available":{"type":"boolean","description":"Whether this constraint allows booking right now."},"cutoff_time":{"type":"string","format":"date-time","description":"The instant (UTC) at which booking closes for this availability.\nBookings created after this time will be rejected.\n"}}}},"components/schemas/TicketLimitConstraint":{"id":"components/schemas/TicketLimitConstraint","kind":"json-schema","title":"TicketLimitConstraint","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether per-variant resource limits permit booking."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When ticket variants of the experience draw on limited resources, this constraint reports what is left"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"of each one separately, rather than collapsing them into a single number. Two variants can be limited"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"by different resources, so one being exhausted says nothing about the other."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ticket variants can be booked on their own; add-ons cannot be sold separately, and so never keep the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"constraint available by themselves. An empty "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ticket_variants"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means no variant is resource-limited and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the constraint places no restriction."},"children":[]}]}]}],"required":["type","available","ticket_variants","addon_variants"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this as the ticket-limit constraint.","enum":["TICKET_LIMIT"]},"available":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether this constraint allows booking right now."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when no variant is resource-limited, or while at least one limited ticket variant still has"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"availability left."},"children":[]}]}]}]},"ticket_variants":{"type":"array","description":"What is left of each resource-limited ticket variant.\nA variant absent from this list is not resource-limited.\n","items":{"$ref":"#/components/schemas/VariantLimit"}},"addon_variants":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What is left of each resource-limited add-on."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Add-ons cannot be sold on their own, so they never affect "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" by themselves."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/VariantLimit"}}}}},"components/schemas/VariantLimit":{"id":"components/schemas/VariantLimit","kind":"json-schema","title":"VariantLimit","data":{"type":"object","description":"What is left of a single ticket variant or add-on on an availability.","required":["variant_id","remaining"],"properties":{"variant_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The unique identifier of the ticket variant or add-on, as returned by the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/experience/getexperiences"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Experiences API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"remaining":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The number still available on this availability."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Zero means this variant cannot be booked, even while the availability as a whole reports"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" because another variant still can."},"children":[]}]}]}]}}}},"components/schemas/ExclusivityConstraint":{"id":"components/schemas/ExclusivityConstraint","kind":"json-schema","title":"ExclusivityConstraint","data":{"type":"object","description":"Whether the availability is locked to an exclusive booking.\n\nAn exclusively booked event is reserved for the booking that claimed it: only that booking may add\nfurther seats, and the availability is unbookable to everyone else until the lock is released. The availability keeps\nreporting its remaining seats unchanged while locked, so this is the only constraint that says an availability\nwith capacity left cannot be booked.\nPresent only on availabilities whose subject is an event.\n","required":["type","available","state"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this as the exclusivity constraint.","enum":["EXCLUSIVITY"]},"available":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether this constraint allows booking right now."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" while the availability is exclusively locked."},"children":[]}]}]}]},"state":{"type":"string","description":"The exclusivity state of the availability.","enum":["UNLOCKED","LOCKED"]}}}},"components/schemas/Booking":{"id":"components/schemas/Booking","kind":"json-schema","title":"Booking","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A customer's reservation against an Event. The booking carries the customer details, the chosen ticket variants and add-ons, and its lifecycle status. Tickets generated for the booking are accessible via "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /v1/bookings/{bookingId}/tickets"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["id","status","created_at","updated_at","company_id","experience_id","event_id","customer","locale"],"properties":{"id":{"type":"string","description":"The unique identifier of the booking."},"status":{"$ref":"#/components/schemas/BookingStatus","description":"The status of the booking."},"source":{"type":"string","description":"The system or channel through which the booking was created (for example, an Understory storefront identifier or an external integration name).\n"},"created_at":{"type":"string","format":"date-time","description":"Timestamp of when the booking was created."},"updated_at":{"type":"string","format":"date-time","description":"Timestamp of when the booking was last updated."},"company_id":{"type":"string","description":"The ID of the company hosting the experience."},"experience_id":{"type":"string","description":"The unique identifier of the experience."},"event_id":{"type":"string","description":"The unique identifier of the event."},"locale":{"type":"string","description":"A lowercase ISO 639-1 language code (e.g. \"da\"),\noptionally followed by a hyphen and an uppercase ISO 3166-1 country code (e.g. \"en-US\").\n"},"customer":{"description":"The customer that made the booking.","discriminator":{"propertyName":"customer_type","mapping":{"PRIVATE":"#/components/schemas/BookingPrivateCustomer","COMPANY":"#/components/schemas/BookingCompanyCustomer"}},"oneOf":[{"$ref":"#/components/schemas/BookingCompanyCustomer"},{"$ref":"#/components/schemas/BookingPrivateCustomer"}]},"internal_note":{"$ref":"#/components/schemas/MarkdownText","description":"Internal note for the booking."},"metadata":{"type":"object","description":"Additional metadata for the booking.\n\nThis property lets you add custom data to the booking, e.g. your own booking reference.\nThe key has a limit of 40 characters and the value has a limit of 500 characters.\n","additionalProperties":{"type":"string"}}}}},"components/schemas/BookingStatus":{"id":"components/schemas/BookingStatus","kind":"json-schema","title":"BookingStatus","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The lifecycle status of a booking."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — confirmed; the customer is expected to attend."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PROCESSING"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — being processed; not yet confirmed."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MOVED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — moved to a different event; the booking is no longer valid against the original event."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCELLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — cancelled; the customer will not attend."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CHECKED_IN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the customer has been checked in."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — defensive default; should not appear on a correctly configured booking."},"children":[]}]}]}]}],"enum":["ACTIVE","CANCELLED","MOVED","PROCESSING","CHECKED_IN","UNKNOWN"]}},"components/schemas/BookingStatusFilter":{"id":"components/schemas/BookingStatusFilter","kind":"json-schema","title":"BookingStatusFilter","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A booking status that can be filtered on, as a subset of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BookingStatus"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"enum":["ACTIVE","CANCELLED","MOVED","CHECKED_IN"]}},"components/schemas/PrivateCustomer":{"id":"components/schemas/PrivateCustomer","kind":"json-schema","title":"PrivateCustomer","data":{"type":"object","required":["customer_type","full_name","email","phone","address"],"properties":{"customer_type":{"$ref":"#/components/schemas/CustomerType","description":"For private customers, this is always \"PRIVATE\""},"full_name":{"type":"string","description":"The name of the customer."},"email":{"type":"string","format":"email","description":"The email address of the customer."},"phone":{"type":"string","description":"The phone number of the customer."},"address":{"$ref":"#/components/schemas/Address"}}}},"components/schemas/CompanyCustomer":{"id":"components/schemas/CompanyCustomer","kind":"json-schema","title":"CompanyCustomer","data":{"type":"object","required":["customer_type","company_name","vat_number","email","phone","address"],"properties":{"customer_type":{"$ref":"#/components/schemas/CustomerType","description":"For company customers, this is always \"COMPANY\""},"company_name":{"type":"string","description":"The name of the company."},"vat_number":{"type":"string","description":"The VAT number of the company."},"email":{"type":"string","format":"email","description":"The email address of the customer."},"name":{"type":"string","description":"The name of the customer."},"phone":{"type":"string","description":"The phone number of the customer."},"address":{"$ref":"#/components/schemas/Address"}}}},"components/schemas/BookingPrivateCustomer":{"id":"components/schemas/BookingPrivateCustomer","kind":"json-schema","title":"BookingPrivateCustomer","data":{"type":"object","description":"A private customer on a booking that already exists.\nCreating one requires an address; a stored booking may not have one.\n","required":["customer_type","full_name","email","phone"],"properties":{"customer_type":{"$ref":"#/components/schemas/CustomerType","description":"For private customers, this is always \"PRIVATE\""},"full_name":{"type":"string","description":"The name of the customer."},"email":{"type":"string","format":"email","description":"The email address of the customer."},"phone":{"type":"string","description":"The phone number of the customer."},"address":{"$ref":"#/components/schemas/BookingAddress","description":"Omitted when the booking has no address."}}}},"components/schemas/BookingCompanyCustomer":{"id":"components/schemas/BookingCompanyCustomer","kind":"json-schema","title":"BookingCompanyCustomer","data":{"type":"object","description":"A company customer on a booking that already exists.\nCreating one requires an address; a stored booking may not have one.\n","required":["customer_type","company_name","vat_number","email","phone"],"properties":{"customer_type":{"$ref":"#/components/schemas/CustomerType","description":"For company customers, this is always \"COMPANY\""},"company_name":{"type":"string","description":"The name of the company."},"vat_number":{"type":"string","description":"The VAT number of the company."},"email":{"type":"string","format":"email","description":"The email address of the customer."},"name":{"type":"string","description":"The name of the customer."},"phone":{"type":"string","description":"The phone number of the customer."},"address":{"$ref":"#/components/schemas/BookingAddress","description":"Omitted when the booking has no address."}}}},"components/schemas/BookingAddress":{"id":"components/schemas/BookingAddress","kind":"json-schema","title":"BookingAddress","data":{"type":"object","description":"An address on a booking that already exists. Unlike the address given\nwhen creating one, this reports what was stored, which may be partial.\n","required":["address_lines","city","zip_code","country"],"properties":{"address_lines":{"type":"array","maxItems":2,"items":{"type":"string"},"description":"Address lines.\nThe first line is the primary address line, e.g. street name and number.\nThe second line is the secondary address line, e.g. apartment number.\nEmpty when the stored address has no street address.\n"},"city":{"type":"string","description":"The city of the customer."},"zip_code":{"type":"string","description":"The postal code of the customer."},"region":{"type":"string","description":"The region of the customer.\nThis can be a state, province, or other administrative region.\n"},"country":{"type":"string","description":"The country of the customer.","format":"iso-3166-1-alpha-2"}}}},"components/schemas/CustomerType":{"id":"components/schemas/CustomerType","kind":"json-schema","title":"CustomerType","data":{"type":"string","enum":["PRIVATE","COMPANY"]}},"components/schemas/Address":{"id":"components/schemas/Address","kind":"json-schema","title":"Address","data":{"type":"object","required":["address_lines","city","zip_code","country"],"properties":{"address_lines":{"type":"array","minItems":1,"maxItems":2,"items":{"type":"string"},"description":"Address lines.\nThe first line is the primary address line, e.g. street name and number.\nThe second line is the secondary address line, e.g. apartment number.\n"},"city":{"type":"string","description":"The city of the customer."},"zip_code":{"type":"string","description":"The postal code of the customer."},"region":{"type":"string","description":"The region of the customer.\nThis can be a state, province, or other administrative region.\n"},"country":{"type":"string","description":"The country of the customer.","format":"iso-3166-1-alpha-2"}}}},"components/schemas/Ticket":{"id":"components/schemas/Ticket","kind":"json-schema","title":"Ticket","data":{"type":"object","description":"A ticket issued as part of a booking. Each ticket bundles one or more line items (a ticket variant and any add-ons attached to it) and can be checked in when the customer arrives.\n","required":["id","urls","status","items"],"properties":{"id":{"type":"string","description":"The unique identifier of the ticket."},"status":{"type":"string","enum":["ACTIVE","VOIDED","CHECKED_IN","UNKNOWN"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The current status of the ticket."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — issued and not yet used."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CHECKED_IN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the ticket has been checked in."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"VOIDED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — invalidated (for example, because the booking was cancelled)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — defensive default; should not appear on a correctly configured ticket."},"children":[]}]}]}]}]},"urls":{"type":"array","description":"The URLs associated with the ticket.","minItems":1,"items":{"type":"object","required":["type","url"],"properties":{"type":{"type":"string","description":"The type of the URL.","enum":["PDF"]},"url":{"type":"string","format":"uri","description":"URL to the ticket."}}}},"items":{"type":"array","items":{"$ref":"#/components/schemas/Item"},"description":"The items associated with the ticket, e.g. variants or addons."},"check_in":{"type":"object","required":["check_in_time","checked_in_by","method"],"properties":{"check_in_time":{"type":"string","format":"date-time","description":"Timestamp of when the ticket was checked in."},"checked_in_by":{"type":"string","description":"The ID of the person who checked in the ticket."},"method":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"How the ticket was checked in."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MANUAL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — checked in manually by an operator."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QR_CODE_SCAN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — checked in by scanning the ticket's QR code."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EXTERNAL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — checked in via an external system integrated with the backoffice."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — defensive default; should not appear on a correctly configured check-in."},"children":[]}]}]}]}],"enum":["MANUAL","QR_CODE_SCAN","EXTERNAL","UNKNOWN"]}}}}}},"components/schemas/Item":{"id":"components/schemas/Item","kind":"json-schema","title":"Item","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A line item within a booking or ticket — either a ticket variant chosen by the customer or an add-on attached to a ticket variant."},"children":[]}]}]}],"required":["type_id","item_type","quantity"],"properties":{"type_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The unique identifier of the item type. Maps to a ticket variant ID when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"item_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"VARIANT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or an add-on variant ID when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"item_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADDON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Resolve names via the Experiences API's "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/experience/getticketvariantsforexperience"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get ticket variants"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" endpoint."},"children":[]}]}]}]},"item_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The kind of item."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"VARIANT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — a ticket variant."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ADDON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — an add-on attached to a ticket variant."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — defensive default; should not appear on a correctly configured item."},"children":[]}]}]}]}],"enum":["VARIANT","ADDON","UNKNOWN"]},"quantity":{"type":"integer","minimum":1,"description":"The quantity of the item."}}}},"components/schemas/InformationRequestAnswer":{"id":"components/schemas/InformationRequestAnswer","kind":"json-schema","title":"InformationRequestAnswer","data":{"description":"An answer to an information request collected during the booking flow.\nDifferent types of information requests produce different answer types.\n","discriminator":{"propertyName":"type","mapping":{"TEXT":"#/components/schemas/TextInformationRequestAnswer"}},"oneOf":[{"$ref":"#/components/schemas/TextInformationRequestAnswer"}]}},"components/schemas/TextInformationRequestAnswer":{"id":"components/schemas/TextInformationRequestAnswer","kind":"json-schema","title":"TextInformationRequestAnswer","data":{"type":"object","description":"A free-form text answer to an information request.","required":["information_request_id","type","scope","question","answer"],"properties":{"information_request_id":{"type":"string","description":"The unique identifier of the information request being answered."},"type":{"type":"string","description":"The type of the information request that was answered.","enum":["TEXT"]},"scope":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The scope at which this answer was collected."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKING"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — collected once for the entire booking."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TICKET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — collected once per ticket within the booking."},"children":[]}]}]}]}],"enum":["BOOKING","TICKET"]},"question":{"type":"string","description":"The question that was asked in the information request.\nThe question is localized based on the language of the booking.\n"},"answer":{"type":"string","description":"The answer provided by the guest."}}}},"components/schemas/MarkdownText":{"id":"components/schemas/MarkdownText","kind":"json-schema","title":"MarkdownText","data":{"type":"string","description":"Markdown formatted text.\nThis is a string that contains markdown syntax.\n"}},"components/schemas/GetEventAvailabilityResponse":{"id":"components/schemas/GetEventAvailabilityResponse","kind":"json-schema","title":"GetEventAvailabilityResponse","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The computed availability of a single event."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the overall verdict — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only if every applicable constraint allows booking."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"constraints"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" always contains every constraint that applies to the event, regardless of whether each one is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"currently passing, so clients can render granular reasons (for example "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"3 seats left\""},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"booking closes Tuesday at 17:00\""},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and not just a yes/no."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Availability is computed at request time and is not cached. It is a snapshot — booking creation is the source of truth."},"children":[]}]}]}],"required":["event_id","available","constraints"],"properties":{"event_id":{"type":"string","description":"The unique identifier of the event whose availability is described."},"available":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether the event is currently bookable."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if any constraint in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"constraints"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" reports "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"constraints":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every constraint that applies to this event, in no particular order."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both passing ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and failing constraints are included."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/EventAvailabilityConstraint"}}}}},"components/schemas/ListEventAvailabilityResponse":{"id":"components/schemas/ListEventAvailabilityResponse","kind":"json-schema","title":"ListEventAvailabilityResponse","data":{"type":"object","description":"Paginated response for listing event availability.","required":["items"],"properties":{"items":{"type":"array","description":"Availability information for events matching the query.\n","items":{"$ref":"#/components/schemas/EventAvailability"}},"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"}}}},"components/schemas/EventAvailability":{"id":"components/schemas/EventAvailability","kind":"json-schema","title":"EventAvailability","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The computed availability of a single event."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the overall verdict — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only if every applicable constraint allows booking."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"constraints"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" always contains every constraint that applies to the event, regardless of whether each one is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"currently passing, so clients can render granular reasons (for example "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"3 seats left\""},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"booking closes Tuesday at 17:00\""},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and not just a yes/no."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Availability is computed at request time and is not cached. It is a snapshot — booking creation is the source of truth."},"children":[]}]}]}],"required":["event_id","available","constraints"],"properties":{"event_id":{"type":"string","description":"The unique identifier of the event whose availability is described."},"available":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether the event is currently bookable."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if any constraint in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"constraints"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" reports "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"constraints":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every constraint that applies to this event, in no particular order."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both passing ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and failing constraints are included."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/EventAvailabilityConstraint"}}}}},"components/schemas/EventAvailabilityConstraint":{"id":"components/schemas/EventAvailabilityConstraint","kind":"json-schema","title":"EventAvailabilityConstraint","data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A single factor evaluated when computing event availability."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" discriminator determines which constraint shape applies and which fields are present."},"children":[]}]}]}],"oneOf":[{"$ref":"#/components/schemas/EventAvailabilityStateConstraint"},{"$ref":"#/components/schemas/EventAvailabilitySeatsConstraint"},{"$ref":"#/components/schemas/EventAvailabilityBookingConstraint"},{"$ref":"#/components/schemas/EventAvailabilityCutoffConstraint"},{"$ref":"#/components/schemas/EventAvailabilityTicketConstraint"}],"discriminator":{"propertyName":"type","mapping":{"EVENT_STATE":"#/components/schemas/EventAvailabilityStateConstraint","EVENT_SEATS_LIMIT":"#/components/schemas/EventAvailabilitySeatsConstraint","BOOKING_LIMIT":"#/components/schemas/EventAvailabilityBookingConstraint","BOOKING_CUTOFF_TIME":"#/components/schemas/EventAvailabilityCutoffConstraint","TICKET_LIMIT":"#/components/schemas/EventAvailabilityTicketConstraint"}}}},"components/schemas/EventAvailabilityStateConstraint":{"id":"components/schemas/EventAvailabilityStateConstraint","kind":"json-schema","title":"EventAvailabilityStateConstraint","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether the event's lifecycle state permits booking."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only events in state "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are bookable; any other state (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCELLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPLETED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") reports "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"available: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","available","state"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this as the event-state constraint.","enum":["EVENT_STATE"]},"available":{"type":"boolean","description":"Whether this constraint allows booking right now."},"state":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The current lifecycle state of the event."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The values map 1:1 to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Event.state"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the Events API."},"children":[]}]}]}]}}}},"components/schemas/EventAvailabilitySeatsConstraint":{"id":"components/schemas/EventAvailabilitySeatsConstraint","kind":"json-schema","title":"EventAvailabilitySeatsConstraint","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether the event has any seat capacity left."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Computed as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"capacity.total − capacity.reserved"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" from the event."},"children":[]}]}]}],"required":["type","available","remaining"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this as the event-seats-limit constraint.","enum":["EVENT_SEATS_LIMIT"]},"available":{"type":"boolean","description":"Whether this constraint allows booking right now."},"remaining":{"type":"integer","description":"The number of seats still available for booking."}}}},"components/schemas/EventAvailabilityBookingConstraint":{"id":"components/schemas/EventAvailabilityBookingConstraint","kind":"json-schema","title":"EventAvailabilityBookingConstraint","data":{"type":"object","description":"Whether the configured maximum number of seats per booking is reached for this event.\n","required":["type","available","remaining"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this as the booking-limit constraint.","enum":["BOOKING_LIMIT"]},"available":{"type":"boolean","description":"Whether this constraint allows booking right now."},"remaining":{"type":"integer","description":"The largest number of seats a single new booking may still request."}}}},"components/schemas/EventAvailabilityCutoffConstraint":{"id":"components/schemas/EventAvailabilityCutoffConstraint","kind":"json-schema","title":"EventAvailabilityCutoffConstraint","data":{"type":"object","description":"Whether bookings have closed for this event.\nThe cutoff is configured per experience as an offset (before or after the event's start, or before its end)\nand is resolved against the first session's local start time and the event's timezone.\n","required":["type","available","cutoff_time"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this as the booking-cutoff-time constraint.","enum":["BOOKING_CUTOFF_TIME"]},"available":{"type":"boolean","description":"Whether this constraint allows booking right now."},"cutoff_time":{"type":"string","format":"date-time","description":"The instant (UTC) at which booking closes for this event.\nBookings created after this time will be rejected.\n"}}}},"components/schemas/EventAvailabilityTicketConstraint":{"id":"components/schemas/EventAvailabilityTicketConstraint","kind":"json-schema","title":"EventAvailabilityTicketConstraint","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether ticket-variant–level resource limits permit booking."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When ticket variants of the experience are tied to limited resources, this constraint surfaces"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the smallest remaining count across all variants of the event."},"children":[]}]}]}],"required":["type","available","remaining"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this as the ticket-limit constraint.","enum":["TICKET_LIMIT"]},"available":{"type":"boolean","description":"Whether this constraint allows booking right now."},"remaining":{"type":"integer","description":"The smallest remaining count across all ticket variants tied to this event."}}}},"components/schemas/Event":{"id":"components/schemas/Event","kind":"json-schema","title":"Event","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A scheduled, bookable instance of an Experience."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An Event groups one or more Sessions under a single capacity pool — booking the event reserves seats across all of its sessions."},"children":[]}]}]}],"required":["id","state","visibility","experience_id","capacity","sessions","created_at","updated_at"],"properties":{"id":{"type":"string","description":"The unique identifier of the event."},"state":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The lifecycle state of the event."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — bookable; the default operational state."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — not currently bookable. Can transition back to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCELLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — terminal. The event was cancelled and cannot be made bookable again."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPLETED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — terminal. The event's sessions have all elapsed."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — defensive default; should not appear on a correctly configured event."},"children":[]}]}]}]}],"enum":["ACTIVE","INACTIVE","CANCELLED","COMPLETED","UNKNOWN"]},"visibility":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Who can discover the event."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUBLIC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — discoverable through public listings and search."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PRIVATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — accessible only via direct link or referral; not publicly discoverable."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — defensive default; should not appear on a correctly configured event."},"children":[]}]}]}]}],"enum":["PUBLIC","PRIVATE","UNKNOWN"]},"experience_id":{"type":"string","description":"The unique identifier of the experience this event is an instance of."},"capacity":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The seat capacity of the event."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capacity is shared across all sessions: a single booking that attends every session counts once against "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reserved"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"$ref":"#/components/schemas/Capacity"},"sessions":{"type":"array","description":"The sessions that make up the event, in chronological order.\n\nAn event has between 1 and 50 sessions; multi-session events are booked together as a single reservation that covers every session.\n","minItems":1,"maxItems":50,"items":{"$ref":"#/components/schemas/Session"}},"created_at":{"type":"string","format":"date-time","description":"The date and time when the event was created."},"updated_at":{"type":"string","format":"date-time","description":"The date and time when the event was last updated."},"metadata":{"$ref":"#/components/schemas/Metadata","description":"Free-form key-value pairs attached by the integrator.\n"}}}},"components/schemas/Capacity":{"id":"components/schemas/Capacity","kind":"json-schema","title":"Capacity","data":{"type":"object","description":"The seat capacity of an event.","required":["total","reserved"],"properties":{"total":{"type":"integer","description":"The total number of seats available for the event, across all sessions combined."},"reserved":{"type":"integer","description":"The number of seats currently reserved.\n"}}}},"components/schemas/Session":{"id":"components/schemas/Session","kind":"json-schema","title":"Session","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A single occurrence of an event."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An event with multiple sessions has them booked together — the customer attends every session of the event."},"children":[]}]}]}],"required":["id","start_time","end_time","timezone","location_id","languages"],"properties":{"id":{"type":"string","description":"The unique identifier of the session within the event."},"start_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The session's start time in the location's local time, expressed without a UTC offset (ISO 8601 "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DDTHH:mm:ss"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Times are stored as local time so that scheduled events stay anchored to their wall-clock time across daylight-saving transitions and timezone-database updates."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To compute the absolute instant, combine this value with the session's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"2024-01-15T10:00:00"},"end_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The session's end time in the location's local time, expressed without a UTC offset (ISO 8601 "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DDTHH:mm:ss"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the rationale on local-time storage and how to combine it with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to derive a UTC instant."},"children":[]}]}]}],"example":"2024-01-15T12:00:00"},"timezone":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The IANA time zone the session takes place in."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Combine with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to derive UTC instants."},"children":[]}]}]}],"example":"Europe/Copenhagen"},"location_id":{"type":"string","description":"The unique identifier of the location where the session takes place."},"languages":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lowercase ISO 639-1 codes for the languages spoken during the session."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is metadata for display and filtering only — it does not gate booking eligibility."},"children":[]}]}]}],"items":{"type":"string","format":"iso-639-1","example":"en"}}}}},"components/schemas/Metadata":{"id":"components/schemas/Metadata","kind":"json-schema","title":"Metadata","data":{"type":"object","additionalProperties":{"type":"string"},"example":{"key1":"value1","key2":"value2"}}},"components/schemas/AcceptLanguageHeader":{"id":"components/schemas/AcceptLanguageHeader","kind":"json-schema","title":"AcceptLanguageHeader","data":{"type":"string","example":"en-GB; q=1.0, en-US; q=0.8","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A lowercase ISO 639-1 language code (e.g. \"da\"),"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"optionally followed by a hyphen and an uppercase ISO 3166-1 country code (e.g. \"en-US\")."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no value matches what is available in the host's Storefront, an error response is returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can optionally provide multiple language-country pairs with a priority, separated by commas based on "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://en.wikipedia.org/wiki/Content_negotiation"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"content negotiation"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}},"components/schemas/Experience":{"id":"components/schemas/Experience","kind":"json-schema","title":"Experience","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A product offered by a company. An Experience is a template — its scheduled instances are exposed as Events, which is what customers actually book."},"children":[]}]}]}],"required":["id","state","name","created_at","updated_at"],"properties":{"id":{"description":"The unique identifier of the experience.","type":"string"},"state":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The lifecycle state of the experience."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — bookable; the default operational state."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — temporarily not bookable, but still managed by the company. Can transition back to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ARCHIVED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — terminal state. The experience is hidden from active management; it is no longer bookable and cannot transition back."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DELETED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — terminal state. The experience has been deleted; it is no longer bookable and cannot transition back."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — defensive default; should not appear on a correctly configured experience."},"children":[]}]}]}]}],"enum":["ACTIVE","INACTIVE","ARCHIVED","DELETED","UNKNOWN"]},"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The display name of the experience, returned in the language negotiated via the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept-Language"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header."},"children":[]}]}]}]},"description":{"$ref":"#/components/schemas/MarkdownText","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A long-form description of the experience, returned in the language negotiated via the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept-Language"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The string may contain Markdown formatting; clients should render it accordingly."},"children":[]}]}]}]},"tag_ids":{"type":"array","description":"Opaque tag identifiers associated with the experience.\n\nUse them to group or filter experiences in your own UI; the IDs are not resolved to tag entities by this API.\n","items":{"type":"string"}},"media":{"type":"array","description":"Media items (images and videos) attached to the experience, ordered as configured by the company.\n","items":{"$ref":"#/components/schemas/Media"}},"created_at":{"type":"string","format":"date-time","description":"Timestamp of when the experience was created."},"updated_at":{"type":"string","format":"date-time","description":"Timestamp of when the experience was last modified.\n\nIncludes both content edits and lifecycle transitions (state changes, archival, deletion).\n"},"metadata":{"$ref":"#/components/schemas/Metadata","description":"Free-form key-value pairs attached by the integrator. Both keys and values are strings; the API does not enforce schema, length, or content.\n"}}}},"components/schemas/Media":{"id":"components/schemas/Media","kind":"json-schema","title":"Media","data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A media item attached to an experience. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" discriminator determines whether it is an image or a video."},"children":[]}]}]}],"discriminator":{"propertyName":"type","mapping":{"IMAGE":"#/components/schemas/Image","VIDEO":"#/components/schemas/Video"}},"oneOf":[{"$ref":"#/components/schemas/Image"},{"$ref":"#/components/schemas/Video"}]}},"components/schemas/Image":{"id":"components/schemas/Image","kind":"json-schema","title":"Image","data":{"type":"object","description":"An image attached to an experience.","required":["type","url","mime_type"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this media item as an image.","enum":["IMAGE"]},"url":{"type":"string","format":"uri","description":"URL where the image can be fetched."},"mime_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"IANA media type of the image, e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/jpeg"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"image/png"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}}},"components/schemas/Video":{"id":"components/schemas/Video","kind":"json-schema","title":"Video","data":{"type":"object","description":"A video attached to an experience.","required":["type","url"],"properties":{"type":{"type":"string","description":"Discriminator value identifying this media item as a video.","enum":["VIDEO"]},"url":{"type":"string","format":"uri","description":"URL where the video can be fetched."}}}},"components/schemas/InformationRequest":{"id":"components/schemas/InformationRequest","kind":"json-schema","title":"InformationRequest","data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An additional question presented to the guest during the booking flow."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" discriminator determines the input shape; today only "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TEXT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is supported, but this is a polymorphic type and additional shapes may be added in the future."},"children":[]}]}]}],"discriminator":{"propertyName":"type","mapping":{"TEXT":"#/components/schemas/TextInformationRequest"}},"oneOf":[{"$ref":"#/components/schemas/TextInformationRequest"}]}},"components/schemas/TextInformationRequest":{"id":"components/schemas/TextInformationRequest","kind":"json-schema","title":"TextInformationRequest","data":{"type":"object","description":"A free-form text input field.","required":["id","type","required","scope","question"],"properties":{"id":{"type":"string","description":"The unique identifier of this information request."},"type":{"type":"string","description":"Discriminator value identifying this as a text information request.","enum":["TEXT"]},"required":{"type":"boolean","description":"Whether an answer must be provided. Required answers are validated when the booking is created.\n"},"scope":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Where the answer is collected within the booking."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKING"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — collected once per booking (e.g. "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Any dietary restrictions?\""},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TICKET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — collected once per ticket within the booking (e.g. "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"What size of bicycle do you want?\""},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", asked once per attendee)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNSPECIFIED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — reserved value; not produced in normal API responses."},"children":[]}]}]}]}],"enum":["BOOKING","TICKET","UNSPECIFIED"]},"question":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The question presented to the guest, returned in the language negotiated via the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept-Language"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header."},"children":[]}]}]}]}}}},"components/schemas/TicketVariant":{"id":"components/schemas/TicketVariant","kind":"json-schema","title":"TicketVariant","data":{"type":"object","description":"A ticket option configured at the experience level.\n\nTicket variants are catalog items: their pricing here is the default price, reused across all events of the experience.\nPer-event overrides, if any, are surfaced through the booking flow.\n","required":["id","name","price","vat_amount"],"properties":{"id":{"type":"string","description":"The unique identifier of the ticket variant."},"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The display name of the ticket variant, returned in the language negotiated via the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept-Language"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header."},"children":[]}]}]}]},"description":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A description of the ticket variant, returned in the language negotiated via the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept-Language"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header."},"children":[]}]}]}]},"price":{"$ref":"#/components/schemas/PriceAmount","description":"The unit price of one ticket of this variant, before any VAT adjustment."},"vat_amount":{"$ref":"#/components/schemas/PriceAmount","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The portion of the unit price that represents VAT, in the same currency and exponent as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"add_on_variants":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Add-ons that can be attached to a ticket of this variant. Add-ons are scoped to their parent ticket variant — they cannot be ordered independently."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/AddOnVariant"}}}}},"components/schemas/AddOnVariant":{"id":"components/schemas/AddOnVariant","kind":"json-schema","title":"AddOnVariant","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An optional extra that can be attached to a specific ticket variant — for example a piece of equipment, an upgrade, or an add-on service."},"children":[]}]}]}],"required":["id","name","price","vat_amount"],"properties":{"id":{"type":"string","description":"The unique identifier of the add-on variant."},"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The display name of the add-on variant, returned in the language negotiated via the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept-Language"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header."},"children":[]}]}]}]},"description":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A description of the add-on variant, returned in the language negotiated via the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept-Language"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header."},"children":[]}]}]}]},"price":{"$ref":"#/components/schemas/PriceAmount","description":"The unit price of one of this add-on, before any VAT adjustment."},"vat_amount":{"$ref":"#/components/schemas/PriceAmount","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The portion of the unit price that represents VAT, in the same currency and exponent as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}}},"components/schemas/PriceAmount":{"id":"components/schemas/PriceAmount","kind":"json-schema","title":"PriceAmount","data":{"type":"object","required":["currency","value","exponent"],"properties":{"currency":{"type":"string","description":"The ISO 4217 currency code.","example":"USD"},"value":{"type":"integer","description":"The price in the smallest currency unit (e.g. cents for USD).","example":2500},"exponent":{"type":"integer","description":"The number of decimal places for the currency.","example":2}}}},"components/schemas/GiftCardList":{"id":"components/schemas/GiftCardList","kind":"json-schema","title":"GiftCardList","data":{"type":"object","description":"A paginated list of gift cards.","properties":{"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"},"items":{"type":"array","description":"The list of gift cards on the current page.","items":{"$ref":"#/components/schemas/GiftCard"}}}}},"components/schemas/GiftCard":{"id":"components/schemas/GiftCard","kind":"json-schema","title":"GiftCard","data":{"type":"object","description":"A prepaid balance issued by a company, redeemable against future purchases until it expires or its balance is fully spent.\n","required":["id","status","currency","initial_value","balance","expires_at","created_at","updated_at"],"properties":{"id":{"type":"string","description":"The unique identifier of the gift card."},"status":{"$ref":"#/components/schemas/GiftCardStatus","description":"The current status of the gift card."},"order_id":{"type":"string","description":"ID of the purchase order that created this gift card."},"currency":{"type":"string","description":"The ISO 4217 currency code.","example":"EUR"},"initial_value":{"$ref":"#/components/schemas/Amount","description":"The original value of the gift card."},"balance":{"$ref":"#/components/schemas/Amount","description":"The remaining balance of the gift card."},"expires_at":{"type":"string","format":"date-time","description":"Timestamp of when the gift card expires."},"created_at":{"type":"string","format":"date-time","description":"Timestamp of when the gift card was created."},"updated_at":{"type":"string","format":"date-time","description":"Timestamp of the most recent change to this gift card."},"source":{"type":"string","description":"Origin system (e.g. understory, truestory, fun-tours.com)."},"customer":{"$ref":"#/components/schemas/PrivateCustomer","description":"The buyer/recipient associated with the gift card."},"metadata":{"$ref":"#/components/schemas/Metadata","description":"Key-value metadata."}}}},"components/schemas/ExtendGiftCardExpiryRequest":{"id":"components/schemas/ExtendGiftCardExpiryRequest","kind":"json-schema","title":"ExtendGiftCardExpiryRequest","data":{"type":"object","description":"The new expiry date to apply to a gift card.","required":["expires_at"],"properties":{"expires_at":{"type":"string","format":"date-time","description":"The new expiry timestamp.\nMust be later than the gift card's current expiry.\n"},"reason":{"type":"string","maxLength":500,"description":"Why the gift card was extended.\nShown alongside the change in the gift card's history.\n"}}}},"components/schemas/GiftCardStatus":{"id":"components/schemas/GiftCardStatus","kind":"json-schema","title":"GiftCardStatus","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The lifecycle status of a gift card."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — has remaining balance and has not expired; can be redeemed."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SPENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — balance has been fully redeemed; cannot be used further."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EXPIRED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — past its expiry date; cannot be redeemed regardless of balance."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"VOIDED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — manually invalidated; cannot be redeemed."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — defensive default; should not appear on a correctly configured gift card."},"children":[]}]}]}]}],"enum":["ACTIVE","SPENT","EXPIRED","VOIDED","UNKNOWN"]}},"components/schemas/LocationList":{"id":"components/schemas/LocationList","kind":"json-schema","title":"LocationList","data":{"type":"object","description":"A paginated list of locations.","properties":{"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"},"items":{"type":"array","description":"The list of locations on the current page.","items":{"$ref":"#/components/schemas/Location"}}}}},"components/schemas/Location":{"id":"components/schemas/Location","kind":"json-schema","title":"Location","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A place a company runs its experiences from, referenced by the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"location_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on an event's sessions."},"children":[]}]}]}],"required":["id","timezone","address","created_at","updated_at"],"properties":{"id":{"type":"string","description":"The unique identifier of the location."},"timezone":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The IANA time zone that interprets the offset-free "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on the location's sessions."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Falls back to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Europe/Copenhagen"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the company has not set one."},"children":[]}]}]}],"example":"Europe/Copenhagen"},"address":{"$ref":"#/components/schemas/LocationAddress","description":"The postal address of the location."},"coordinates":{"$ref":"#/components/schemas/Coordinates","description":"The geographic coordinates of the location.\nOmitted unless both a latitude and a longitude are known.\n"},"created_at":{"type":"string","format":"date-time","description":"Timestamp of when the location was created."},"updated_at":{"type":"string","format":"date-time","description":"Timestamp of the most recent change to this location."}}}},"components/schemas/LocationAddress":{"id":"components/schemas/LocationAddress","kind":"json-schema","title":"LocationAddress","data":{"type":"object","description":"The postal address of a location.\nEvery part is optional; a location may be described by only some of them.\n","properties":{"address_lines":{"type":"array","maxItems":2,"items":{"type":"string"},"description":"Address lines.\nThe first line is the primary address line, e.g. street name and number.\nThe second line is the secondary address line, e.g. apartment number.\n"},"city":{"type":"string","description":"The city of the location."},"zip_code":{"type":"string","description":"The postal code of the location."},"region":{"type":"string","description":"The region of the location.\nThis can be a state, province, or other administrative region.\n"},"country":{"type":"string","description":"The country of the location.","format":"iso-3166-1-alpha-2"}}}},"components/schemas/Coordinates":{"id":"components/schemas/Coordinates","kind":"json-schema","title":"Coordinates","data":{"type":"object","description":"A geographic point, expressed as decimal degrees in the WGS 84 reference system.\n","required":["latitude","longitude"],"properties":{"latitude":{"type":"number","description":"The latitude of the point, in decimal degrees.","example":56.1577},"longitude":{"type":"number","description":"The longitude of the point, in decimal degrees.","example":10.20652}}}},"components/schemas/MarketingConsent":{"id":"components/schemas/MarketingConsent","kind":"json-schema","title":"MarketingConsent","data":{"type":"object","description":"A record of a customer giving consent to receive marketing communications. Each consent captures who gave it, where it was collected, and typed references to the related entities (storefront, booking, or order).\n","required":["id","company_id","full_name","email","source"],"properties":{"id":{"type":"string","format":"uuid","description":"The unique identifier for this marketing consent record."},"company_id":{"type":"string","description":"The company's unique ID."},"full_name":{"type":"string","description":"The full name of the person who has given marketing consent."},"email":{"type":"string","description":"The email of the person who has given marketing consent."},"source":{"type":"string","description":"The source from which the consent was given."},"references":{"type":"array","items":{"$ref":"#/components/schemas/ConsentReference"},"description":"Typed references to related entities. Consumers can use these to\nfetch additional details (e.g., customer info from the booking).\nAbsent for legacy consents.\n"}}}},"components/schemas/ConsentReference":{"id":"components/schemas/ConsentReference","kind":"json-schema","title":"ConsentReference","data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A typed reference to an entity that a marketing consent was collected against. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" discriminator determines which kind of entity is referenced; use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to fetch its details from the corresponding API."},"children":[]}]}]}],"oneOf":[{"$ref":"#/components/schemas/StorefrontReference"},{"$ref":"#/components/schemas/BookingReference"},{"$ref":"#/components/schemas/OrderReference"}],"discriminator":{"propertyName":"type","mapping":{"STOREFRONT":"#/components/schemas/StorefrontReference","BOOKING":"#/components/schemas/BookingReference","ORDER":"#/components/schemas/OrderReference"}}}},"components/schemas/StorefrontReference":{"id":"components/schemas/StorefrontReference","kind":"json-schema","title":"StorefrontReference","data":{"type":"object","description":"A reference to the storefront on which the consent was collected.","required":["type","id"],"properties":{"type":{"type":"string","enum":["STOREFRONT"],"description":"Discriminator value identifying this as a storefront reference."},"id":{"type":"string","description":"The unique identifier of the storefront."}}}},"components/schemas/BookingReference":{"id":"components/schemas/BookingReference","kind":"json-schema","title":"BookingReference","data":{"type":"object","description":"A reference to a booking with which the consent is associated.","required":["type","id"],"properties":{"type":{"type":"string","enum":["BOOKING"],"description":"Discriminator value identifying this as a booking reference."},"id":{"type":"string","description":"The unique identifier of the booking."}}}},"components/schemas/OrderReference":{"id":"components/schemas/OrderReference","kind":"json-schema","title":"OrderReference","data":{"type":"object","description":"A reference to an order with which the consent is associated.","required":["type","id"],"properties":{"type":{"type":"string","enum":["ORDER"],"description":"Discriminator value identifying this as an order reference."},"id":{"type":"string","description":"The unique identifier of the order."}}}},"components/schemas/Order":{"id":"components/schemas/Order","kind":"json-schema","title":"Order","data":{"type":"object","description":"The financial record of a purchase. An Order links to its origin (a booking or a gift card purchase) and aggregates the line items, transactions, and refunds that make up the transaction.\n","required":["id","status","created_at","updated_at","customer","origin","totals"],"properties":{"id":{"type":"string","description":"The unique identifier of the order."},"number":{"type":"string","description":"A sequential, human-readable order number.\n"},"status":{"$ref":"#/components/schemas/OrderStatus","description":"The status of the order."},"created_at":{"type":"string","format":"date-time","description":"Timestamp of when the order was created."},"updated_at":{"type":"string","format":"date-time","description":"Timestamp of when the order was last updated."},"customer":{"description":"The customer that placed the order.","discriminator":{"propertyName":"customer_type","mapping":{"PRIVATE":"#/components/schemas/OrderPrivateCustomer","COMPANY":"#/components/schemas/OrderCompanyCustomer"}},"oneOf":[{"$ref":"#/components/schemas/OrderCompanyCustomer"},{"$ref":"#/components/schemas/OrderPrivateCustomer"}]},"origin":{"description":"The origin of the order.","discriminator":{"propertyName":"type","mapping":{"BOOKING":"#/components/schemas/BookingOrigin","GIFTCARD":"#/components/schemas/GiftcardOrigin"}},"oneOf":[{"$ref":"#/components/schemas/BookingOrigin"},{"$ref":"#/components/schemas/GiftcardOrigin"}]},"totals":{"$ref":"#/components/schemas/OrderTotals"},"metadata":{"type":"object","description":"A set of key-value pairs that are attached to the order for storing additional information.\n","additionalProperties":{"type":"string"}}}}},"components/schemas/OrderStatus":{"id":"components/schemas/OrderStatus","kind":"json-schema","title":"OrderStatus","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The lifecycle status of an order."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PENDING"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — created but not yet finalized; payment may still be in progress."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPLETED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — finalized; payment has settled and the order is closed."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCELLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — cancelled; the order will not be fulfilled."},"children":[]}]}]}]}],"enum":["PENDING","COMPLETED","CANCELLED"]}},"components/schemas/OrderTotals":{"id":"components/schemas/OrderTotals","kind":"json-schema","title":"OrderTotals","data":{"type":"object","description":"Financial summary of the order.","required":["discount","vat_amount","amount"],"properties":{"discount":{"$ref":"#/components/schemas/PriceAmount","description":"The total discount applied to the order."},"vat_amount":{"$ref":"#/components/schemas/PriceAmount","description":"The total VAT amount for the order."},"amount":{"$ref":"#/components/schemas/PriceAmount","description":"The total amount for the order."}}}},"components/schemas/BookingOrigin":{"id":"components/schemas/BookingOrigin","kind":"json-schema","title":"BookingOrigin","data":{"type":"object","description":"Origin for orders created from a booking.","required":["type","id"],"properties":{"type":{"type":"string","description":"The type discriminator for booking origin.","enum":["BOOKING"]},"id":{"type":"string","description":"The unique identifier of the booking."}}}},"components/schemas/GiftcardOrigin":{"id":"components/schemas/GiftcardOrigin","kind":"json-schema","title":"GiftcardOrigin","data":{"type":"object","description":"Origin for orders created from a gift card purchase.","required":["type","id"],"properties":{"type":{"type":"string","description":"The type discriminator for gift card origin.","enum":["GIFTCARD"]},"id":{"type":"string","description":"The unique identifier of the gift card."}}}},"components/schemas/OrderPrivateCustomer":{"id":"components/schemas/OrderPrivateCustomer","kind":"json-schema","title":"OrderPrivateCustomer","data":{"type":"object","required":["customer_type","full_name","email","phone"],"properties":{"customer_type":{"$ref":"#/components/schemas/CustomerType","description":"For private customers, this is always \"PRIVATE\""},"full_name":{"type":"string","description":"The name of the customer."},"email":{"type":"string","format":"email","description":"The email address of the customer."},"phone":{"type":"string","description":"The phone number of the customer."},"address":{"$ref":"#/components/schemas/OrderAddress","description":"Omitted when the order has no address."}}}},"components/schemas/OrderCompanyCustomer":{"id":"components/schemas/OrderCompanyCustomer","kind":"json-schema","title":"OrderCompanyCustomer","data":{"type":"object","required":["customer_type","company_name","vat_number","email","phone"],"properties":{"customer_type":{"$ref":"#/components/schemas/CustomerType","description":"For company customers, this is always \"COMPANY\""},"company_name":{"type":"string","description":"The name of the company."},"vat_number":{"type":"string","description":"The VAT number of the company."},"email":{"type":"string","format":"email","description":"The email address of the customer."},"name":{"type":"string","description":"The name of the customer."},"phone":{"type":"string","description":"The phone number of the customer."},"address":{"$ref":"#/components/schemas/OrderAddress","description":"Omitted when the order has no address."}}}},"components/schemas/OrderAddress":{"id":"components/schemas/OrderAddress","kind":"json-schema","title":"OrderAddress","data":{"type":"object","description":"An address recorded on an order, which may be partial.\n","required":["address_lines","city","zip_code","country"],"properties":{"address_lines":{"type":"array","maxItems":2,"items":{"type":"string"},"description":"Address lines.\nThe first line is the primary address line, e.g. street name and number.\nThe second line is the secondary address line, e.g. apartment number.\nEmpty when the recorded address has no street address.\n"},"city":{"type":"string","description":"The city of the customer."},"zip_code":{"type":"string","description":"The postal code of the customer."},"region":{"type":"string","description":"The region of the customer.\nThis can be a state, province, or other administrative region.\n"},"country":{"type":"string","description":"The country of the customer.","format":"iso-3166-1-alpha-2"}}}},"components/schemas/LineItem":{"id":"components/schemas/LineItem","kind":"json-schema","title":"LineItem","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A single line in an order — one product (a ticket variant, an add-on, or a gift card) bought in some quantity, with its unit price, VAT, and any discounts that applied."},"children":[]}]}]}],"required":["quantity","unit_price","unit_vat_amount","product_type","product_id","details"],"properties":{"quantity":{"type":"integer","minimum":1,"description":"The quantity of the line item."},"unit_price":{"$ref":"#/components/schemas/PriceAmount","description":"The unit price of the line item."},"unit_vat_amount":{"$ref":"#/components/schemas/PriceAmount","description":"The unit VAT amount of the line item."},"discounts":{"type":"array","description":"The discounts applied to the line item.","items":{"description":"A discount applied to a line item.","discriminator":{"propertyName":"type","mapping":{"DISCOUNT_CODE":"#/components/schemas/DiscountCodeDiscount"}},"oneOf":[{"$ref":"#/components/schemas/DiscountCodeDiscount"}]}},"product_type":{"$ref":"#/components/schemas/LineItemProductType","description":"The type of product for this line item."},"product_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The unique identifier of the product. Maps to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ticket_variant.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when product type is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TICKET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"addon.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when product type is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TICKET_ADDON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or a giftcard identifier when product type is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GIFTCARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Ticket variant and addon IDs can be found via the \"Get ticket variants\" endpoint."},"children":[]}]}]}]},"details":{"description":"Product-specific details based on the product type.","discriminator":{"propertyName":"type","mapping":{"TICKET":"#/components/schemas/TicketDetails","GIFTCARD":"#/components/schemas/GiftcardDetails","ADDON":"#/components/schemas/TicketAddonDetails"}},"oneOf":[{"$ref":"#/components/schemas/TicketDetails"},{"$ref":"#/components/schemas/GiftcardDetails"},{"$ref":"#/components/schemas/TicketAddonDetails"}]}}}},"components/schemas/LineItemProductType":{"id":"components/schemas/LineItemProductType","kind":"json-schema","title":"LineItemProductType","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The type of product for a line item."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TICKET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — a ticket variant of an experience."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TICKET_ADDON"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — an add-on attached to a ticket variant."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GIFTCARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — a gift card purchase."},"children":[]}]}]}]}],"enum":["TICKET","GIFTCARD","TICKET_ADDON"]}},"components/schemas/DiscountCodeDiscount":{"id":"components/schemas/DiscountCodeDiscount","kind":"json-schema","title":"DiscountCodeDiscount","data":{"type":"object","required":["type","code","amount"],"properties":{"type":{"type":"string","enum":["DISCOUNT_CODE"],"description":"The type of discount."},"code":{"type":"string","description":"The discount code applied to the line item."},"amount":{"$ref":"#/components/schemas/PriceAmount","description":"The discount amount applied."}}}},"components/schemas/TicketDetails":{"id":"components/schemas/TicketDetails","kind":"json-schema","title":"TicketDetails","data":{"type":"object","description":"Details for a ticket line item.","required":["type","experience_id"],"properties":{"type":{"type":"string","description":"The type discriminator for ticket details.","enum":["TICKET"]},"experience_id":{"type":"string","description":"The unique identifier of the experience."}}}},"components/schemas/GiftcardDetails":{"id":"components/schemas/GiftcardDetails","kind":"json-schema","title":"GiftcardDetails","data":{"type":"object","description":"Details for a giftcard line item.","required":["type","gift_card_id"],"properties":{"type":{"type":"string","description":"The type discriminator for giftcard details.","enum":["GIFTCARD"]},"gift_card_id":{"type":"string","description":"The unique identifier of the gift card."}}}},"components/schemas/TicketAddonDetails":{"id":"components/schemas/TicketAddonDetails","kind":"json-schema","title":"TicketAddonDetails","data":{"type":"object","description":"Details for an ticket addon line item.","required":["type","ticket_id","experience_id"],"properties":{"type":{"type":"string","description":"The type discriminator for addon details.","enum":["TICKET_ADDON"]},"ticket_id":{"type":"string","description":"The unique identifier of the ticket."},"experience_id":{"type":"string","description":"The unique identifier of the experience."}}}},"components/schemas/Transaction":{"id":"components/schemas/Transaction","kind":"json-schema","title":"Transaction","data":{"type":"object","description":"A payment transaction recorded against an order. Each transaction captures the amount, the payment provider that processed it, and the resulting status.\n","required":["id","status","provider","amount","created_at"],"properties":{"id":{"type":"string","description":"The unique identifier of the transaction."},"status":{"$ref":"#/components/schemas/TransactionStatus","description":"The status of the transaction."},"provider":{"$ref":"#/components/schemas/TransactionProvider","description":"The payment provider for the transaction."},"amount":{"$ref":"#/components/schemas/PriceAmount","description":"The transaction amount."},"details":{"description":"Provider-specific details for the transaction, if applicable.","discriminator":{"propertyName":"type","mapping":{"GIFTCARD":"#/components/schemas/GiftcardTransactionDetails","SETTLEMENT":"#/components/schemas/SettlementTransactionDetails"}},"oneOf":[{"$ref":"#/components/schemas/GiftcardTransactionDetails"},{"$ref":"#/components/schemas/SettlementTransactionDetails"}]},"created_at":{"type":"string","format":"date-time","description":"Timestamp of when the transaction was created."}}}},"components/schemas/Refund":{"id":"components/schemas/Refund","kind":"json-schema","title":"Refund","data":{"type":"object","description":"A refund issued against a transaction on an order. Refunds reduce the net amount paid; multiple refunds may be issued for the same transaction.\n","required":["id","status","provider","amount","transaction_id","created_at"],"properties":{"id":{"type":"string","description":"The unique identifier of the refund."},"status":{"$ref":"#/components/schemas/RefundStatus","description":"The status of the refund."},"provider":{"$ref":"#/components/schemas/RefundProvider","description":"The payment provider that moved the money back."},"amount":{"$ref":"#/components/schemas/PriceAmount","description":"The refund amount."},"transaction_id":{"type":"string","description":"The ID of the transaction being refunded."},"details":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Details of how the refund was settled, if it was not returned to the original payment method. A refund with no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" went back to the payment method it was taken from."},"children":[]}]}]}],"discriminator":{"propertyName":"type","mapping":{"SETTLEMENT":"#/components/schemas/SettlementRefundDetails"}},"oneOf":[{"$ref":"#/components/schemas/SettlementRefundDetails"}]},"created_at":{"type":"string","format":"date-time","description":"Timestamp of when the refund was created."}}}},"components/schemas/GiftcardTransactionDetails":{"id":"components/schemas/GiftcardTransactionDetails","kind":"json-schema","title":"GiftcardTransactionDetails","data":{"type":"object","required":["type","gift_card_id"],"properties":{"type":{"type":"string","enum":["GIFTCARD"],"description":"The type of transaction details."},"gift_card_id":{"type":"string","description":"The unique identifier of the gift card."}}}},"components/schemas/SettlementTransactionDetails":{"id":"components/schemas/SettlementTransactionDetails","kind":"json-schema","title":"SettlementTransactionDetails","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Details of a settlement transaction, which records that a refund on another order was paid out as this gift card rather than returned to the guest. Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"origin_order_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to trace the gift card back to the booking it replaced."},"children":[]}]}]}],"required":["type","origin_order_id"],"properties":{"type":{"type":"string","enum":["SETTLEMENT"],"description":"The type of transaction details."},"origin_order_id":{"type":"string","description":"The unique identifier of the order whose payment funded this settlement."}}}},"components/schemas/SettlementRefundDetails":{"id":"components/schemas/SettlementRefundDetails","kind":"json-schema","title":"SettlementRefundDetails","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Details of a refund settled as a gift card rather than returned to the guest's payment method. No money left the payment provider: the amount became a gift card the host still owes. The card is carried by an order of its own, named by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"destination_order_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","destination_order_id"],"properties":{"type":{"type":"string","enum":["SETTLEMENT"],"description":"The type of refund details."},"destination_order_id":{"type":"string","description":"The unique identifier of the order created to carry the gift card this refund was settled as."}}}},"components/schemas/TransactionProvider":{"id":"components/schemas/TransactionProvider","kind":"json-schema","title":"TransactionProvider","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The payment provider that processed the transaction."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNDERSTORY_PAY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Understory's own payment offering."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"STRIPE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Stripe."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PAYPAL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — PayPal."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QUICKPAY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — QuickPay."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GIFTCARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — payment redeemed against a gift card balance."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUNCHCARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — payment redeemed against a punch card balance."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SETTLEMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — a refund on another order was used to fund this order, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" names the order it came from."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EXTERNAL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — payment was received in another system and marked as paid within Understory."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — defensive default; should not appear on a correctly configured transaction."},"children":[]}]}]}]}],"enum":["UNDERSTORY_PAY","STRIPE","PAYPAL","QUICKPAY","GIFTCARD","PUNCHCARD","SETTLEMENT","EXTERNAL","UNKNOWN"]}},"components/schemas/TransactionStatus":{"id":"components/schemas/TransactionStatus","kind":"json-schema","title":"TransactionStatus","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The status of a transaction."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNPAID"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — recorded but not yet settled."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PAID"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — settled."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REFUNDED_PARTIALLY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — settled; some of the amount has been refunded."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REFUNDED_FULLY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — settled; the full amount has been refunded."},"children":[]}]}]}]}],"enum":["UNPAID","PAID","REFUNDED_PARTIALLY","REFUNDED_FULLY"]}},"components/schemas/RefundProvider":{"id":"components/schemas/RefundProvider","kind":"json-schema","title":"RefundProvider","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The payment provider that moved the money back."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Normally the provider of the transaction named by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"transaction_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The two settlement cases differ: a refund settled as a gift card is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SETTLEMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and a refund of a settlement transaction names the provider that funded the card, because that is where the money comes back from."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNDERSTORY_PAY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Understory's own payment offering."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"STRIPE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Stripe."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PAYPAL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — PayPal."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QUICKPAY"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — QuickPay."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GIFTCARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the amount was credited back to a gift card balance."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUNCHCARD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the amount was credited back to a punch card balance."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SETTLEMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the amount became a gift card the host still owes rather than going back to the payment method, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" names the order carrying the card."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — defensive default; should not appear on a correctly recorded refund."},"children":[]}]}]}]}],"enum":["UNDERSTORY_PAY","STRIPE","PAYPAL","QUICKPAY","GIFTCARD","PUNCHCARD","SETTLEMENT","UNKNOWN"]}},"components/schemas/RefundStatus":{"id":"components/schemas/RefundStatus","kind":"json-schema","title":"RefundStatus","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The status of a refund."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INITIATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the refund has been requested with the payment provider."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPLETED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the refund has settled and funds have been returned to the customer."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FAILED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the refund could not be processed."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCELLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the refund was cancelled before completion."},"children":[]}]}]}]}],"enum":["INITIATED","COMPLETED","FAILED","CANCELLED"]}},"components/schemas/Me":{"id":"components/schemas/Me","kind":"json-schema","title":"Me","data":{"type":"object","properties":{"company_id":{"type":"string","description":"Your company's ID."},"company_name":{"type":"string","description":"Your company's Name."},"user_id":{"type":"string","description":"Your user ID."},"email":{"type":"string","description":"Your email."}}}},"components/schemas/BaseEvent":{"id":"components/schemas/BaseEvent","kind":"json-schema","title":"BaseEvent","data":{"type":"object","description":"Base properties shared by all webhook event envelopes.\n","required":["id","type","timestamp","payload"],"properties":{"id":{"type":"string","description":"Unique identifier for the event."},"type":{"type":"string","description":"The event type."},"timestamp":{"type":"string","format":"date-time","description":"Timestamp of when the event occurred."},"payload":{"type":"object","description":"The event-specific payload data."}}}},"components/schemas/WebhookSubscription":{"id":"components/schemas/WebhookSubscription","kind":"json-schema","title":"WebhookSubscription","data":{"type":"object","description":"A subscription that delivers webhook events to a configured URL. Each subscription is scoped to a list of event types and has a state controlling whether deliveries are currently active.\n","required":["id","url","event_types","state","created_at","updated_at"],"properties":{"id":{"type":"string","description":"The unique identifier of the subscription."},"url":{"type":"string","description":"The URL to send webhook events to."},"event_types":{"type":"array","items":{"type":"string"},"description":"List of event types this subscription is subscribed to."},"state":{"type":"string","enum":["ENABLED","DISABLED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether the subscription currently delivers events."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ENABLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — events are delivered to the subscription's URL."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DISABLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — events are not delivered; the subscription is paused."},"children":[]}]}]}]}]},"metadata":{"type":"object","description":"Additional metadata for the subscription.\n\nThis property lets you add custom data to the subscription.\nThe key has a limit of 40 characters and the value has a limit of 500 characters.\n","additionalProperties":{"type":"string"}},"created_at":{"type":"string","format":"date-time","description":"Timestamp of when the subscription was created."},"updated_at":{"type":"string","format":"date-time","description":"Timestamp of when the subscription was last updated."}}}},"components/schemas/EventCreatedEventV1":{"id":"components/schemas/EventCreatedEventV1","kind":"json-schema","title":"EventCreatedEventV1","data":{"type":"object","description":"Payload for the v1.event.created webhook event.","required":["event_id","experience_id","host_id","session_ids"],"properties":{"event_id":{"type":"string","description":"The unique identifier of the created event."},"experience_id":{"type":"string","description":"The unique identifier of the experience this event belongs to."},"host_id":{"type":"string","description":"The unique identifier of the host managing the event."},"session_ids":{"type":"array","description":"The unique identifiers of the sessions scheduled for this event.","items":{"type":"string"}}}}},"components/schemas/EventUpdatedEventV1":{"id":"components/schemas/EventUpdatedEventV1","kind":"json-schema","title":"EventUpdatedEventV1","data":{"type":"object","description":"Payload for the v1.event.updated webhook event.","required":["event_id","experience_id","host_id","session_ids"],"properties":{"event_id":{"type":"string","description":"The unique identifier of the updated event."},"experience_id":{"type":"string","description":"The unique identifier of the experience this event belongs to."},"host_id":{"type":"string","description":"The unique identifier of the host managing the event."},"session_ids":{"type":"array","description":"The unique identifiers of the sessions scheduled for this event.","items":{"type":"string"}}}}},"components/schemas/EventCancelledEventV1":{"id":"components/schemas/EventCancelledEventV1","kind":"json-schema","title":"EventCancelledEventV1","data":{"type":"object","description":"Payload for the v1.event.cancelled webhook event.","required":["event_id","host_id"],"properties":{"event_id":{"type":"string","description":"The unique identifier of the cancelled event."},"host_id":{"type":"string","description":"The unique identifier of the host managing the event."}}}},"components/schemas/EventCompletedEventV1":{"id":"components/schemas/EventCompletedEventV1","kind":"json-schema","title":"EventCompletedEventV1","data":{"type":"object","description":"Payload for the v1.event.completed webhook event.","required":["event_id","host_id"],"properties":{"event_id":{"type":"string","description":"The unique identifier of the completed event."},"host_id":{"type":"string","description":"The unique identifier of the host managing the event."}}}},"components/schemas/EventDeletedEventV1":{"id":"components/schemas/EventDeletedEventV1","kind":"json-schema","title":"EventDeletedEventV1","data":{"type":"object","description":"Payload for the v1.event.deleted webhook event.","required":["event_id","host_id"],"properties":{"event_id":{"type":"string","description":"The unique identifier of the deleted event."},"host_id":{"type":"string","description":"The unique identifier of the host managing the event."}}}},"components/schemas/ExperienceCreatedEventV1":{"id":"components/schemas/ExperienceCreatedEventV1","kind":"json-schema","title":"ExperienceCreatedEventV1","data":{"type":"object","description":"Payload for the v1.experience.created webhook event.","required":["experience_id","host_id"],"properties":{"experience_id":{"type":"string","description":"The unique identifier of the created experience."},"host_id":{"type":"string","description":"The unique identifier of the host that owns the experience."}}}},"components/schemas/ExperienceUpdatedEventV1":{"id":"components/schemas/ExperienceUpdatedEventV1","kind":"json-schema","title":"ExperienceUpdatedEventV1","data":{"type":"object","description":"Payload for the v1.experience.updated webhook event.","required":["experience_id","host_id"],"properties":{"experience_id":{"type":"string","description":"The unique identifier of the updated experience."},"host_id":{"type":"string","description":"The unique identifier of the host that owns the experience."}}}},"components/schemas/ExperienceDeletedEventV1":{"id":"components/schemas/ExperienceDeletedEventV1","kind":"json-schema","title":"ExperienceDeletedEventV1","data":{"type":"object","description":"Payload for the v1.experience.deleted webhook event.","required":["experience_id","host_id"],"properties":{"experience_id":{"type":"string","description":"The unique identifier of the deleted experience."},"host_id":{"type":"string","description":"The unique identifier of the host that owned the experience."}}}},"components/schemas/BookingCreatedEventV1":{"id":"components/schemas/BookingCreatedEventV1","kind":"json-schema","title":"BookingCreatedEventV1","data":{"type":"object","description":"Payload for the v1.booking.created webhook event.","required":["booking_id","host_id","experience_id","event_id"],"properties":{"booking_id":{"type":"string","description":"The unique identifier of the created booking."},"host_id":{"type":"string","description":"The unique identifier of the host (company) that owns the booking."},"experience_id":{"type":"string","description":"The unique identifier of the experience this booking is for."},"event_id":{"type":"string","description":"The unique identifier of the event this booking is for."}}}},"components/schemas/BookingUpdatedEventV1":{"id":"components/schemas/BookingUpdatedEventV1","kind":"json-schema","title":"BookingUpdatedEventV1","data":{"type":"object","description":"Payload for the v1.booking.updated webhook event.","required":["booking_id","host_id","experience_id","event_id"],"properties":{"booking_id":{"type":"string","description":"The unique identifier of the updated booking."},"host_id":{"type":"string","description":"The unique identifier of the host (company) that owns the booking."},"experience_id":{"type":"string","description":"The unique identifier of the experience this booking is for."},"event_id":{"type":"string","description":"The unique identifier of the event this booking is for."}}}},"components/schemas/BookingCancelledEventV1":{"id":"components/schemas/BookingCancelledEventV1","kind":"json-schema","title":"BookingCancelledEventV1","data":{"type":"object","description":"Payload for the v1.booking.cancelled webhook event.","required":["booking_id","host_id","event_id"],"properties":{"booking_id":{"type":"string","description":"The unique identifier of the cancelled booking."},"host_id":{"type":"string","description":"The unique identifier of the host (company) that owns the booking."},"event_id":{"type":"string","description":"The unique identifier of the event this booking was for."}}}},"components/schemas/JournalEntryCreatedEventV1":{"id":"components/schemas/JournalEntryCreatedEventV1","kind":"json-schema","title":"JournalEntryCreatedEventV1","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for the v1.journal_entry.created webhook event."},"children":[]}]}]}],"required":["id","host_id"],"properties":{"id":{"type":"string","description":"The unique identifier of the journal entry."},"host_id":{"type":"string","description":"The unique identifier of the host (company) that owns the journal entry."}}}},"components/schemas/JournalEntryDocumentAttachedEventV1":{"id":"components/schemas/JournalEntryDocumentAttachedEventV1","kind":"json-schema","title":"JournalEntryDocumentAttachedEventV1","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for the v1.journal_entry.document_attached webhook event."},"children":[]}]}]}],"required":["id","host_id","document_id"],"properties":{"id":{"type":"string","description":"The unique identifier of the journal entry the document was attached to."},"host_id":{"type":"string","description":"The unique identifier of the host (company) that owns the journal entry."},"document_id":{"type":"string","description":"The unique identifier of the attached document. Re-fetch the journal entry to retrieve its full details."}}}},"components/schemas/MarketingConsentCreatedEventV1":{"id":"components/schemas/MarketingConsentCreatedEventV1","kind":"json-schema","title":"MarketingConsentCreatedEventV1","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for the v1.marketing_consent.created webhook event."},"children":[]}]}]}],"required":["company_id","consent_id"],"properties":{"company_id":{"type":"string","description":"The unique identifier of the company that received the consent."},"consent_id":{"type":"string","description":"The unique identifier of the consent. Use this to fetch full consent details from the Marketing API."}}}},"schema_53":{"kind":"json-schema","data":{"type":"string","format":"date-time"},"id":"schema_53"},"schema_54":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/JournalEntryKind"}},"id":"schema_54"},"schema_55":{"kind":"json-schema","data":{"type":"string","default":"+occurred_at"},"id":"schema_55"},"schema_56":{"kind":"json-schema","data":{"type":"string"},"id":"schema_56"},"schema_57":{"kind":"json-schema","data":{"type":"integer","format":"int32","default":100,"maximum":1000,"minimum":1},"id":"schema_57"},"schema_58":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.journal_entry.created"},"payload":{"$ref":"#/components/schemas/JournalEntryCreatedEventV1"}}}]},"id":"schema_58"},"schema_59":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.journal_entry.document_attached"},"payload":{"$ref":"#/components/schemas/JournalEntryDocumentAttachedEventV1"}}}]},"id":"schema_59"},"schema_60":{"kind":"json-schema","data":{"type":"string","example":"2026-07-14T08:00:00"},"id":"schema_60"},"schema_61":{"kind":"json-schema","data":{"type":"string","example":"2026-07-15T00:00:00"},"id":"schema_61"},"schema_62":{"kind":"json-schema","data":{"type":"integer","format":"int32","default":50,"minimum":1,"maximum":100},"id":"schema_62"},"schema_63":{"kind":"json-schema","data":{"type":"integer","format":"int32","default":100,"minimum":1,"maximum":100},"id":"schema_63"},"schema_64":{"kind":"json-schema","data":{"type":"string","format":"date-time","description":"Filter bookings made after the provided timestamp."},"id":"schema_64"},"schema_65":{"kind":"json-schema","data":{"type":"string","format":"date-time","description":"Filter bookings made before the provided timestamp."},"id":"schema_65"},"schema_66":{"kind":"json-schema","data":{"type":"array","minItems":1,"maxItems":4,"uniqueItems":true,"items":{"$ref":"#/components/schemas/BookingStatusFilter"}},"id":"schema_66"},"schema_67":{"kind":"json-schema","data":{"type":"string","default":"-created_at","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Field to define the sort order. To indicate sorting direction, fields may be prefixed with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"+"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (ascending) or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (descending)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ensure to URL escape the value as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"+"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can otherwise be interpreted as a space."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only fields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are supported."},"children":[]}]}]}]},"id":"schema_67"},"schema_68":{"kind":"json-schema","data":{"type":"object","properties":{"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Booking"}}}},"id":"schema_68"},"schema_69":{"kind":"json-schema","data":{"type":"object","required":["event_id","customer","locale","items"],"properties":{"event_id":{"type":"string","description":"The unique identifier of the event."},"customer":{"oneOf":[{"$ref":"#/components/schemas/CompanyCustomer"},{"$ref":"#/components/schemas/PrivateCustomer"}],"description":"The customer making the booking."},"locale":{"type":"string","description":"A lowercase ISO 639-1 language code (e.g. \"da\"),\noptionally followed by a hyphen and an uppercase ISO 3166-1 country code (e.g. \"en-US\").\n"},"items":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/Item"}},"metadata":{"type":"object","description":"Additional metadata for the booking.\n\nThis property lets you add custom data to the booking, e.g. your own booking reference.\nThe key has a limit of 40 characters and the value has a limit of 500 characters.\n","additionalProperties":{"type":"string"}}}},"id":"schema_69"},"schema_70":{"kind":"json-schema","data":{"type":"object","required":["id","status"],"properties":{"id":{"type":"string","description":"The unique identifier of the booking."},"status":{"$ref":"#/components/schemas/BookingStatus","description":"The status of the booking.\n\nThis will always be \"ACTIVE\" when the booking is created.\n"}}},"id":"schema_70"},"schema_71":{"kind":"json-schema","data":{"type":"object","properties":{"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"},"items":{"type":"array","items":{"$ref":"#/components/schemas/InformationRequestAnswer"}}}},"id":"schema_71"},"schema_72":{"kind":"json-schema","data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Ticket"}}}},"id":"schema_72"},"schema_73":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.booking.created"},"payload":{"$ref":"#/components/schemas/BookingCreatedEventV1"}}}]},"id":"schema_73"},"schema_74":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.booking.updated"},"payload":{"$ref":"#/components/schemas/BookingUpdatedEventV1"}}}]},"id":"schema_74"},"schema_75":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.booking.cancelled"},"payload":{"$ref":"#/components/schemas/BookingCancelledEventV1"}}}]},"id":"schema_75"},"schema_76":{"kind":"json-schema","data":{"$ref":"#/components/schemas/EventAvailability"},"id":"schema_76"},"schema_77":{"kind":"json-schema","data":{"type":"string","example":"2025-10-09T08:00:00"},"id":"schema_77"},"schema_78":{"kind":"json-schema","data":{"type":"string","example":"2025-10-10T18:00:00"},"id":"schema_78"},"schema_79":{"kind":"json-schema","data":{"type":"integer","default":100,"maximum":500,"minimum":1,"format":"int32"},"id":"schema_79"},"schema_80":{"kind":"json-schema","data":{"type":"string","example":"2025-01-15T09:00:00"},"id":"schema_80"},"schema_81":{"kind":"json-schema","data":{"type":"string","example":"2025-01-15T18:00:00"},"id":"schema_81"},"schema_82":{"kind":"json-schema","data":{"type":"object","properties":{"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Event"}}}},"id":"schema_82"},"schema_83":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.event.created"},"payload":{"$ref":"#/components/schemas/EventCreatedEventV1"}}}]},"id":"schema_83"},"schema_84":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.event.updated"},"payload":{"$ref":"#/components/schemas/EventUpdatedEventV1"}}}]},"id":"schema_84"},"schema_85":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.event.cancelled"},"payload":{"$ref":"#/components/schemas/EventCancelledEventV1"}}}]},"id":"schema_85"},"schema_86":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.event.completed"},"payload":{"$ref":"#/components/schemas/EventCompletedEventV1"}}}]},"id":"schema_86"},"schema_87":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.event.deleted"},"payload":{"$ref":"#/components/schemas/EventDeletedEventV1"}}}]},"id":"schema_87"},"schema_88":{"kind":"json-schema","data":{"$ref":"#/components/schemas/AcceptLanguageHeader"},"id":"schema_88"},"schema_89":{"kind":"json-schema","data":{"type":"object","properties":{"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Experience"}}}},"id":"schema_89"},"schema_90":{"kind":"json-schema","data":{"type":"object","properties":{"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"},"items":{"type":"array","items":{"$ref":"#/components/schemas/InformationRequest"}}}},"id":"schema_90"},"schema_91":{"kind":"json-schema","data":{"type":"object","properties":{"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"},"items":{"type":"array","items":{"$ref":"#/components/schemas/TicketVariant"}}}},"id":"schema_91"},"schema_92":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.experience.created"},"payload":{"$ref":"#/components/schemas/ExperienceCreatedEventV1"}}}]},"id":"schema_92"},"schema_93":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.experience.updated"},"payload":{"$ref":"#/components/schemas/ExperienceUpdatedEventV1"}}}]},"id":"schema_93"},"schema_94":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.experience.deleted"},"payload":{"$ref":"#/components/schemas/ExperienceDeletedEventV1"}}}]},"id":"schema_94"},"schema_95":{"kind":"json-schema","data":{"$ref":"#/components/schemas/GiftCardStatus"},"id":"schema_95"},"schema_96":{"kind":"json-schema","data":{"type":"object","required":["items"],"properties":{"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"},"items":{"description":"The list of marketing consents.","type":"array","items":{"$ref":"#/components/schemas/MarketingConsent"}}}},"id":"schema_96"},"schema_97":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/BaseEvent"},{"type":"object","properties":{"type":{"const":"v1.marketing_consent.created"},"payload":{"$ref":"#/components/schemas/MarketingConsentCreatedEventV1"}}}]},"id":"schema_97"},"schema_98":{"kind":"json-schema","data":{"type":"object","properties":{"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Order"}}}},"id":"schema_98"},"schema_99":{"kind":"json-schema","data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/LineItem"}}}},"id":"schema_99"},"schema_100":{"kind":"json-schema","data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Transaction"}}}},"id":"schema_100"},"schema_101":{"kind":"json-schema","data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Refund"}}}},"id":"schema_101"},"schema_102":{"kind":"json-schema","data":{"type":"object","properties":{"next":{"type":"string","description":"Cursor for the next page of results.\nAn empty string or absent value indicates the end of the list.\n"},"items":{"type":"array","items":{"$ref":"#/components/schemas/WebhookSubscription"}}}},"id":"schema_102"},"schema_103":{"kind":"json-schema","data":{"type":"object","required":["url","event_types","state"],"properties":{"url":{"type":"string","description":"The URL to send webhook events to."},"event_types":{"type":"array","minItems":1,"items":{"type":"string"},"description":"List of event types to subscribe to.\nAt least one event type must be specified.\n"},"state":{"type":"string","enum":["ENABLED","DISABLED"],"default":"ENABLED","description":"The state of the subscription."},"metadata":{"type":"object","description":"Additional metadata for the subscription.\n\nThis property lets you add custom data to the subscription.\nThe key has a limit of 40 characters and the value has a limit of 500 characters.\n","additionalProperties":{"type":"string"}}}},"id":"schema_103"},"schema_104":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/WebhookSubscription"},{"type":"object","required":["secret"],"properties":{"secret":{"type":"string","description":"The secret key for verifying webhook signatures.\n\nThis value is only returned once when the subscription is created.\nStore it securely as it cannot be retrieved again.\n"}}}]},"id":"schema_104"},"schema_105":{"kind":"json-schema","data":{"type":"object","required":["url","event_types","state"],"properties":{"url":{"type":"string","description":"The URL to send webhook events to."},"event_types":{"type":"array","minItems":1,"items":{"type":"string"},"description":"List of event types to subscribe to.\nAt least one event type must be specified.\n"},"state":{"type":"string","enum":["ENABLED","DISABLED"],"description":"The state of the subscription."},"metadata":{"type":"object","description":"Additional metadata for the subscription.\n\nThis property lets you add custom data to the subscription.\nThe key has a limit of 40 characters and the value has a limit of 500 characters.\n","additionalProperties":{"type":"string"}}}},"id":"schema_105"}},"exampleStore":{},"securitySchemeStore":{"OAuth2":{"id":"OAuth2","type":"oauth2","description":"OAuth2 authentication using the client credentials flow","flows":{"clientCredentials":{"tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}},"authorizationCode":{"authorizationUrl":"https://api.auth.understory.io/oauth2/auth","tokenUrl":"https://api.auth.understory.io/oauth2/token","scopes":{"booking.read":"Read access to bookings","booking.write":"Create and modify bookings","event.read":"Read access to events and availability","experience.read":"Read access to experiences","gift-card.read":"Read access to gift cards","gift-card.write":"Modify gift cards","marketing.read":"Read access to marketing consents","order.read":"Read access to orders","webhook.read":"Read access to webhook subscriptions","accounting.read":"Read access to accounting data","accounting.write":"Create and modify accounting data","webhook.write":"Create, modify, and delete webhook subscriptions","location.read":"Read access to locations","offline":"Enables refresh tokens for long-lived access (required for third-party integrations)"}}}}},"servers":[{"url":"https://api.understory.io"}]},"options":{"hideInfoMetadata":true,"hidePropertiesPrefix":true,"schemasExpansionLevel":"all","sortRequiredPropsFirst":true,"hideSidebar":true,"mockServer":{"off":true},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/apis/index.json?download"},{"url":"/_bundle/apis/index.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Understory API","description":"This is the reference documentation for the Understory API.\nHere you can find detailed information about the API endpoints, request and response formats, and authentication methods.\n\nFor more general information, go to [Documentation](/docs).\n\n{% admonition type=\"success\" name=\"Preview and Alpha\" %}\nSome parts of the Understory API is still under active development.\n\nRefer to [API Versioning](docs/about/api-versioning) for details on what you can expect from endpoints and webhooks marked with `Preview` and `Alpha`.\n\nWant 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!\n{% /admonition %}\n"}},"baseSlug":"/apis","routesMapping":{}}