{"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"replay-openapi-tag","__idx":0},"children":["Replay OpenAPI Tag ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/learn/markdoc/tags/tag-library#redocly-tag-badge"},"children":[{"$$mdtype":"Tag","name":"TagBadge","attributes":{"badgeType":"Redocly"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["replay-openapi"]}," tag renders the Replay console, which allows users to send API calls to a mock server or live endpoints. Requires an OpenAPI description."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the tag to improve user comprehension by helping them make their first API call or guiding them through a complex sequence of calls. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["replay-openapi"]}," tag provides the API interactivity built into the API documentation and exposes it as an inline tool to supplement your writing."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"syntax-and-usage","__idx":1},"children":["Syntax and usage"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Pass a filepath to an OpenAPI description using the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["descriptionFile"]}," attribute. Include either an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operationId"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pointer"]}," to reference a specific operation. The other attributes are optional, but can be used to modify the experience for your end-users."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Using ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operationId"]},":"]},{"$$mdtype":"Tag","name":"MarkdocExample","attributes":{"renderDemo":false,"language":"markdoc","demoContent":[{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"../../../demo/openapi/museum-api.yaml","operationId":"getMuseumHours","parameters":{},"options":{},"environments":{}},"children":[]}],"rawContent":"{% replay-openapi\n  descriptionFile=\"../../../demo/openapi/museum-api.yaml\"\n  operationId=\"getMuseumHours\"\n/%}\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Using ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pointer"]},":"]},{"$$mdtype":"Tag","name":"MarkdocExample","attributes":{"renderDemo":false,"language":"markdoc","demoContent":[{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"../../openapi/museum-api.yaml","pointer":"/paths/~1museum-hours/get","parameters":{},"options":{},"environments":{}},"children":[]}],"rawContent":"{% replay-openapi\n  descriptionFile=\"../../openapi/museum-api.yaml\"\n  pointer=\"/paths/~1museum-hours/get\"\n/%}\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"attributes","__idx":2},"children":["Attributes"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Attribute"},"children":["Attribute"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["descriptionFile"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["REQUIRED."]}," A path to an OpenAPI description."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operationId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ID of the operation inside the OpenAPI description. Required if ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pointer"]}," is not specified."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pointer"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Pointer to an operation inside the OpenAPI description. Required if ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operationId"]}," is not specified. Slashes used on endpoints must be encoded with ~1 -- i.e. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/paths/~1some-endpoint/post"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["exampleKey"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Key specifying which example to use. Must match the key used for an operation's example in the OpenAPI description."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Object"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Custom parameters to use for the OpenAPI operation. Accepts values for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["header"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["query"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requestBody"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Object"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Defines an inline request body to use. Replaces any request body in the example."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mimeType"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Mime type to use in the Replay console."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["environment"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Limit the environment picker in the Replay console to a specific environment."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["environments"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Object"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Predefined environment variables that resolve to the Replay console."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"examples","__idx":3},"children":["Examples"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"basic-usage","__idx":4},"children":["Basic usage"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Redocly OpenAPI tag can render example payloads defined in the OpenAPI description, as in the following example:"]},{"$$mdtype":"Tag","name":"MarkdocExample","attributes":{"renderDemo":false,"language":"markdoc","demoContent":[{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"../../../demo/openapi/museum-api.yaml","operationId":"buyMuseumTickets","exampleKey":"event_entry","parameters":{},"options":{},"environments":{}},"children":[]}],"rawContent":"{% replay-openapi\n  descriptionFile=\"../../../demo/openapi/museum-api.yaml\"\n  operationId=\"buyMuseumTickets\"\n  exampleKey=\"event_entry\"\n/%}\n"},"children":[]},{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"../../../demo/openapi/museum-api.yaml","operationId":"buyMuseumTickets","exampleKey":"event_entry","parameters":{},"options":{},"environments":{},"replayResolved":{"apiStore":{"schemaStore":{"components/schemas/TicketType":{"id":"components/schemas/TicketType","kind":"json-schema","title":"TicketType","data":{"description":"Type of ticket being purchased. Use `general` for regular museum entry and `event` for tickets to special events.","type":"string","enum":["event","general"],"example":"event"}},"components/schemas/Date":{"id":"components/schemas/Date","kind":"json-schema","title":"Date","data":{"type":"string","format":"date","example":"2023-10-29"}},"components/schemas/Email":{"id":"components/schemas/Email","kind":"json-schema","title":"Email","data":{"description":"Email address for ticket purchaser.","type":"string","format":"email","example":"museum-lover@example.com"}},"components/schemas/Phone":{"id":"components/schemas/Phone","kind":"json-schema","title":"Phone","data":{"description":"Phone number for the ticket purchaser (optional).","type":"string","example":"+1(234)-567-8910"}},"components/schemas/BuyMuseumTicketsRequest":{"id":"components/schemas/BuyMuseumTicketsRequest","kind":"json-schema","title":"BuyMuseumTicketsRequest","data":{"description":"Request payload used for purchasing museum tickets.","type":"object","properties":{"ticketType":{"$ref":"#/components/schemas/TicketType"},"eventId":{"description":"Unique identifier for a special event. Required if purchasing tickets for the museum's special events.","$ref":"#/components/schemas/EventId"},"ticketDate":{"description":"Date that the ticket is valid for.","$ref":"#/components/schemas/Date"},"email":{"$ref":"#/components/schemas/Email"},"phone":{"$ref":"#/components/schemas/Phone"}},"required":["ticketType","ticketDate","email"]}},"components/schemas/TicketMessage":{"id":"components/schemas/TicketMessage","kind":"json-schema","title":"TicketMessage","data":{"description":"Confirmation message after a ticket purchase.","type":"string","example":"Museum general entry ticket purchased"}},"components/schemas/TicketId":{"id":"components/schemas/TicketId","kind":"json-schema","title":"TicketId","data":{"description":"Unique identifier for museum ticket. Generated when purchased.","type":"string","format":"uuid","example":"a54a57ca-36f8-421b-a6b4-2e8f26858a4c"}},"components/schemas/TicketConfirmation":{"id":"components/schemas/TicketConfirmation","kind":"json-schema","title":"TicketConfirmation","data":{"description":"Unique confirmation code used to verify ticket purchase.","type":"string","example":"ticket-event-a98c8f-7eb12"}},"components/schemas/BuyMuseumTicketsResponse":{"id":"components/schemas/BuyMuseumTicketsResponse","kind":"json-schema","title":"BuyMuseumTicketsResponse","data":{"description":"Details for a museum ticket after a successful purchase.","type":"object","properties":{"message":{"$ref":"#/components/schemas/TicketMessage"},"eventName":{"$ref":"#/components/schemas/EventName"},"ticketId":{"$ref":"#/components/schemas/TicketId"},"ticketType":{"$ref":"#/components/schemas/TicketType"},"ticketDate":{"description":"Date the ticket is valid for.","$ref":"#/components/schemas/Date"},"confirmationCode":{"$ref":"#/components/schemas/TicketConfirmation"}},"required":["message","ticketId","ticketType","ticketDate","confirmationCode"]}},"components/schemas/GetTicketCodeResponse":{"id":"components/schemas/GetTicketCodeResponse","kind":"json-schema","title":"GetTicketCodeResponse","data":{"description":"Image of a ticket with a QR code used for museum or event entry.","type":"string","format":"binary"}},"components/schemas/GetMuseumHoursResponse":{"id":"components/schemas/GetMuseumHoursResponse","kind":"json-schema","title":"GetMuseumHoursResponse","data":{"description":"List of museum operating hours for consecutive days.","type":"array","items":{"$ref":"#/components/schemas/MuseumDailyHours"}}},"components/schemas/MuseumDailyHours":{"id":"components/schemas/MuseumDailyHours","kind":"json-schema","title":"MuseumDailyHours","data":{"description":"Daily operating hours for the museum.","type":"object","properties":{"date":{"description":"Date the operating hours apply to.","$ref":"#/components/schemas/Date","example":"2024-12-31"},"timeOpen":{"type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","description":"Time the museum opens on a specific date. Uses 24 hour time format (`HH:mm`).","example":"09:00"},"timeClose":{"description":"Time the museum closes on a specific date. Uses 24 hour time format (`HH:mm`).","type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","example":"18:00"}},"required":["date","timeOpen","timeClose"]}},"components/schemas/EventId":{"id":"components/schemas/EventId","kind":"json-schema","title":"EventId","data":{"description":"Identifier for a special event.","type":"string","format":"uuid","example":"3be6453c-03eb-4357-ae5a-984a0e574a54"}},"components/schemas/EventName":{"id":"components/schemas/EventName","kind":"json-schema","title":"EventName","data":{"type":"string","description":"Name of the special event.","example":"Pirate Coding Workshop"}},"components/schemas/EventLocation":{"id":"components/schemas/EventLocation","kind":"json-schema","title":"EventLocation","data":{"type":"string","description":"Location where the special event is held.","example":"Computer Room"}},"components/schemas/EventDescription":{"id":"components/schemas/EventDescription","kind":"json-schema","title":"EventDescription","data":{"type":"string","description":"Description of the special event.","example":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang)."}},"components/schemas/EventDates":{"id":"components/schemas/EventDates","kind":"json-schema","title":"EventDates","data":{"type":"array","items":{"$ref":"#/components/schemas/Date"},"description":"List of planned dates for the special event."}},"components/schemas/EventPrice":{"id":"components/schemas/EventPrice","kind":"json-schema","title":"EventPrice","data":{"description":"Price of a ticket for the special event.","type":"number","format":"float","example":25}},"components/schemas/CreateSpecialEventRequest":{"id":"components/schemas/CreateSpecialEventRequest","kind":"json-schema","title":"CreateSpecialEventRequest","data":{"description":"Request payload for creating new special events at the museum.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["name","location","eventDescription","dates","price"]}},"components/schemas/UpdateSpecialEventRequest":{"id":"components/schemas/UpdateSpecialEventRequest","kind":"json-schema","title":"UpdateSpecialEventRequest","data":{"description":"Request payload for updating an existing special event. Only included fields are updated in the event.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}}}},"components/schemas/ListSpecialEventsResponse":{"id":"components/schemas/ListSpecialEventsResponse","kind":"json-schema","title":"ListSpecialEventsResponse","data":{"description":"List of upcoming special events.","type":"array","items":{"$ref":"#/components/schemas/SpecialEventResponse"}}},"components/schemas/SpecialEventResponse":{"id":"components/schemas/SpecialEventResponse","kind":"json-schema","title":"SpecialEventResponse","data":{"description":"Information about a special event.","type":"object","properties":{"eventId":{"$ref":"#/components/schemas/EventId"},"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["eventId","name","location","eventDescription","dates","price"]}},"components/schemas/Error":{"id":"components/schemas/Error","kind":"json-schema","title":"Error","data":{"type":"object","properties":{"type":{"type":"string","example":"object"},"title":{"type":"string","example":"Validation failed"}}}}},"exampleStore":{"components/examples/BuyGeneralTicketsRequestExample":{"id":"components/examples/BuyGeneralTicketsRequestExample","value":{"ticketType":"general","ticketDate":"2023-09-07","email":"todd@example.com"},"summary":"General entry ticket"},"components/examples/BuyEventTicketsRequestExample":{"id":"components/examples/BuyEventTicketsRequestExample","value":{"ticketType":"general","eventId":"dad4bce8-f5cb-4078-a211-995864315e39","ticketDate":"2023-09-05","email":"todd@example.com"},"summary":"Special event ticket"},"components/examples/BuyGeneralTicketsResponseExample":{"id":"components/examples/BuyGeneralTicketsResponseExample","value":{"message":"Museum general entry ticket purchased","ticketId":"382c0820-0530-4f4b-99af-13811ad0f17a","ticketType":"general","ticketDate":"2023-09-07","confirmationCode":"ticket-general-e5e5c6-dce78"},"summary":"General entry ticket"},"components/examples/BuyEventTicketsResponseExample":{"id":"components/examples/BuyEventTicketsResponseExample","value":{"message":"Museum special event ticket purchased","ticketId":"b811f723-17b2-44f7-8952-24b03e43d8a9","eventName":"Mermaid Treasure Identification and Analysis","ticketType":"event","ticketDate":"2023-09-05","confirmationCode":"ticket-event-9c55eg-8v82a"},"summary":"Special event ticket"},"components/examples/CreateSpecialEventRequestExample":{"id":"components/examples/CreateSpecialEventRequestExample","value":{"name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":0},"summary":"Create special event"},"components/examples/CreateSpecialEventResponseExample":{"id":"components/examples/CreateSpecialEventResponseExample","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30},"summary":"Special event created"},"components/examples/GetSpecialEventResponseExample":{"id":"components/examples/GetSpecialEventResponseExample","value":{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60},"summary":"Get special event"},"components/examples/ListSpecialEventsResponseExample":{"id":"components/examples/ListSpecialEventsResponseExample","value":[{"eventId":"f3e0e76e-e4a8-466e-ab9c-ae36c15b8e97","name":"Sasquatch Ballet","location":"Seattle... probably","eventDescription":"They're big, they're hairy, but they're also graceful. Come learn how the biggest feet can have the lightest touch.","dates":["2023-12-15","2023-12-22"],"price":40},{"eventId":"2f14374a-9c65-4ee5-94b7-fba66d893483","name":"Solar Telescope Demonstration","location":"Far from the sun.","eventDescription":"Look at the sun without going blind!","dates":["2023-09-07","2023-09-14"],"price":50},{"eventId":"6aaa61ba-b2aa-4868-b803-603dbbf7bfdb","name":"Cook like a Caveman","location":"Fire Pit on East side","eventDescription":"Learn to cook on an open flame.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5},{"eventId":"602b75e1-5696-4ab8-8c7a-f9e13580f910","name":"Underwater Basket Weaving","location":"Rec Center Pool next door.","eventDescription":"Learn to weave baskets underwater.","dates":["2023-09-12","2023-09-15"],"price":15},{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Room Sea-12","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits — kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30},{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60},{"eventId":"3be6453c-03eb-4357-ae5a-984a0e574a54","name":"Pirate Coding Workshop","location":"Computer Room","eventDescription":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang).","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"9d90d29a-2af5-4206-97d9-9ea9ceadcb78","name":"Llama Street Art Through the Ages","location":"Auditorium","eventDescription":"Llama street art?! Alpaca my bags -- let's go!","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"a3c7b2c4-b5fb-4ef7-9322-00a919864957","name":"The Great Parrot Debate","location":"Outdoor Amphitheatre","eventDescription":"See leading parrot minds discuss important geopolitical issues.","dates":["2023-11-03","2023-11-10"],"price":35},{"eventId":"b92d46b7-4c5d-422b-87a5-287767e26f29","name":"Eat a Bunch of Corn","location":"Cafeteria","eventDescription":"We accidentally bought too much corn. Please come eat it.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5}],"summary":"List of special events"},"components/examples/UpdateSpecialEventRequestExample":{"id":"components/examples/UpdateSpecialEventRequestExample","value":{"location":"On the beach.","price":15},"summary":"Update special event request"},"components/examples/UpdateSpecialEventResponseExample":{"id":"components/examples/UpdateSpecialEventResponseExample","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"On the beach.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":15},"summary":"Update special event"},"components/examples/GetMuseumHoursResponseExample":{"id":"components/examples/GetMuseumHoursResponseExample","value":[{"date":"2023-09-11","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-12","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-13","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-14","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-15","timeOpen":"10:00","timeClose":"16:00"},{"date":"2023-09-18","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-19","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-20","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-21","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-22","timeOpen":"10:00","timeClose":"16:00"}],"summary":"Get hours response"},"paths/~1tickets/post/requestBody/content/application~1json/examples/general_entry":{"value":{"ticketType":"general","ticketDate":"2023-09-07","email":"todd@example.com"},"key":"general_entry","summary":"General entry ticket","id":"paths/~1tickets/post/requestBody/content/application~1json/examples/general_entry"},"paths/~1tickets/post/requestBody/content/application~1json/examples/event_entry":{"value":{"ticketType":"general","eventId":"dad4bce8-f5cb-4078-a211-995864315e39","ticketDate":"2023-09-05","email":"todd@example.com"},"key":"event_entry","summary":"Special event ticket","id":"paths/~1tickets/post/requestBody/content/application~1json/examples/event_entry"}},"securitySchemeStore":{"MuseumPlaceholderAuth":{"id":"MuseumPlaceholderAuth","type":"http","scheme":"basic"}}},"definition":{"openapi":"3.1.0","info":{"title":"Redocly Museum API","description":"Imaginary, but delightful Museum API for interacting with museum services and information. Built with love by Redocly.","version":"1.1.1","termsOfService":"https://redocly.com/subscription-agreement/","contact":{"email":"team@redocly.com","url":"https://redocly.com/docs/cli/"},"license":{"name":"MIT","url":"https://opensource.org/license/mit/"}},"servers":[{"url":"https://api.fake-museum-example.com/v1.1"}],"paths":{"/museum-hours":{"get":{"summary":"Get museum hours","description":"Get upcoming museum operating hours.","operationId":"getMuseumHours","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/StartDate"},{"$ref":"#/components/parameters/PaginationPage"},{"$ref":"#/components/parameters/PaginationLimit"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMuseumHoursResponse"},"examples":{"default_example":{"$ref":"#/components/examples/GetMuseumHoursResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/special-events":{"post":{"summary":"Create special events","description":"Creates a new special event for the museum.","operationId":"createSpecialEvent","tags":["Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSpecialEventRequest"},"examples":{"default_example":{"$ref":"#/components/examples/CreateSpecialEventRequestExample"}}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialEventResponse"},"examples":{"default_example":{"$ref":"#/components/examples/CreateSpecialEventResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}},"get":{"summary":"List special events","description":"Return a list of upcoming special events at the museum.","operationId":"listSpecialEvents","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/StartDate"},{"$ref":"#/components/parameters/EndDate"},{"$ref":"#/components/parameters/PaginationPage"},{"$ref":"#/components/parameters/PaginationLimit"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSpecialEventsResponse"},"examples":{"default_example":{"$ref":"#/components/examples/ListSpecialEventsResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/special-events/{eventId}":{"get":{"summary":"Get special event","description":"Get details about a special event.","operationId":"getSpecialEvent","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/EventId"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialEventResponse"},"examples":{"default_example":{"$ref":"#/components/examples/GetSpecialEventResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}},"patch":{"summary":"Update special event","description":"Update the details of a special event.","operationId":"updateSpecialEvent","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/EventId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSpecialEventRequest"},"examples":{"default_example":{"$ref":"#/components/examples/UpdateSpecialEventRequestExample"}}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialEventResponse"},"examples":{"default_example":{"$ref":"#/components/examples/UpdateSpecialEventResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}},"delete":{"summary":"Delete special event","description":"Delete a special event from the collection. Allows museum to cancel planned events.","operationId":"deleteSpecialEvent","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/EventId"}],"responses":{"204":{"description":"Success - no content."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/tickets":{"post":{"summary":"Buy museum tickets","description":"Purchase museum tickets for general entry or special events.","operationId":"buyMuseumTickets","tags":["Tickets"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyMuseumTicketsRequest"},"examples":{"general_entry":{"$ref":"#/components/examples/BuyGeneralTicketsRequestExample"},"event_entry":{"$ref":"#/components/examples/BuyEventTicketsRequestExample"}}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyMuseumTicketsResponse"},"examples":{"general_entry":{"$ref":"#/components/examples/BuyGeneralTicketsResponseExample"},"event_entry":{"$ref":"#/components/examples/BuyEventTicketsResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/tickets/{ticketId}/qr":{"get":{"summary":"Get ticket QR code","description":"Return an image of your ticket with scannable QR code. Used for event entry.","operationId":"getTicketCode","tags":["Tickets"],"parameters":[{"$ref":"#/components/parameters/TicketId"}],"responses":{"200":{"description":"Scannable event ticket in image format.","content":{"image/png":{"schema":{"$ref":"#/components/schemas/GetTicketCodeResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}}},"components":{"schemas":{"TicketType":{"description":"Type of ticket being purchased. Use `general` for regular museum entry and `event` for tickets to special events.","type":"string","enum":["event","general"],"example":"event"},"Date":{"type":"string","format":"date","example":"2023-10-29"},"Email":{"description":"Email address for ticket purchaser.","type":"string","format":"email","example":"museum-lover@example.com"},"Phone":{"description":"Phone number for the ticket purchaser (optional).","type":"string","example":"+1(234)-567-8910"},"BuyMuseumTicketsRequest":{"description":"Request payload used for purchasing museum tickets.","type":"object","properties":{"ticketType":{"$ref":"#/components/schemas/TicketType"},"eventId":{"description":"Unique identifier for a special event. Required if purchasing tickets for the museum's special events.","$ref":"#/components/schemas/EventId"},"ticketDate":{"description":"Date that the ticket is valid for.","$ref":"#/components/schemas/Date"},"email":{"$ref":"#/components/schemas/Email"},"phone":{"$ref":"#/components/schemas/Phone"}},"required":["ticketType","ticketDate","email"]},"TicketMessage":{"description":"Confirmation message after a ticket purchase.","type":"string","example":"Museum general entry ticket purchased"},"TicketId":{"description":"Unique identifier for museum ticket. Generated when purchased.","type":"string","format":"uuid","example":"a54a57ca-36f8-421b-a6b4-2e8f26858a4c"},"TicketConfirmation":{"description":"Unique confirmation code used to verify ticket purchase.","type":"string","example":"ticket-event-a98c8f-7eb12"},"BuyMuseumTicketsResponse":{"description":"Details for a museum ticket after a successful purchase.","type":"object","properties":{"message":{"$ref":"#/components/schemas/TicketMessage"},"eventName":{"$ref":"#/components/schemas/EventName"},"ticketId":{"$ref":"#/components/schemas/TicketId"},"ticketType":{"$ref":"#/components/schemas/TicketType"},"ticketDate":{"description":"Date the ticket is valid for.","$ref":"#/components/schemas/Date"},"confirmationCode":{"$ref":"#/components/schemas/TicketConfirmation"}},"required":["message","ticketId","ticketType","ticketDate","confirmationCode"]},"GetTicketCodeResponse":{"description":"Image of a ticket with a QR code used for museum or event entry.","type":"string","format":"binary"},"GetMuseumHoursResponse":{"description":"List of museum operating hours for consecutive days.","type":"array","items":{"$ref":"#/components/schemas/MuseumDailyHours"}},"MuseumDailyHours":{"description":"Daily operating hours for the museum.","type":"object","properties":{"date":{"description":"Date the operating hours apply to.","$ref":"#/components/schemas/Date","example":"2024-12-31"},"timeOpen":{"type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","description":"Time the museum opens on a specific date. Uses 24 hour time format (`HH:mm`).","example":"09:00"},"timeClose":{"description":"Time the museum closes on a specific date. Uses 24 hour time format (`HH:mm`).","type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","example":"18:00"}},"required":["date","timeOpen","timeClose"]},"EventId":{"description":"Identifier for a special event.","type":"string","format":"uuid","example":"3be6453c-03eb-4357-ae5a-984a0e574a54"},"EventName":{"type":"string","description":"Name of the special event.","example":"Pirate Coding Workshop"},"EventLocation":{"type":"string","description":"Location where the special event is held.","example":"Computer Room"},"EventDescription":{"type":"string","description":"Description of the special event.","example":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang)."},"EventDates":{"type":"array","items":{"$ref":"#/components/schemas/Date"},"description":"List of planned dates for the special event."},"EventPrice":{"description":"Price of a ticket for the special event.","type":"number","format":"float","example":25},"CreateSpecialEventRequest":{"description":"Request payload for creating new special events at the museum.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["name","location","eventDescription","dates","price"]},"UpdateSpecialEventRequest":{"description":"Request payload for updating an existing special event. Only included fields are updated in the event.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}}},"ListSpecialEventsResponse":{"description":"List of upcoming special events.","type":"array","items":{"$ref":"#/components/schemas/SpecialEventResponse"}},"SpecialEventResponse":{"description":"Information about a special event.","type":"object","properties":{"eventId":{"$ref":"#/components/schemas/EventId"},"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["eventId","name","location","eventDescription","dates","price"]},"Error":{"type":"object","properties":{"type":{"type":"string","example":"object"},"title":{"type":"string","example":"Validation failed"}}}},"securitySchemes":{"MuseumPlaceholderAuth":{"type":"http","scheme":"basic"}},"examples":{"BuyGeneralTicketsRequestExample":{"summary":"General entry ticket","value":{"ticketType":"general","ticketDate":"2023-09-07","email":"todd@example.com"}},"BuyEventTicketsRequestExample":{"summary":"Special event ticket","value":{"ticketType":"general","eventId":"dad4bce8-f5cb-4078-a211-995864315e39","ticketDate":"2023-09-05","email":"todd@example.com"}},"BuyGeneralTicketsResponseExample":{"summary":"General entry ticket","value":{"message":"Museum general entry ticket purchased","ticketId":"382c0820-0530-4f4b-99af-13811ad0f17a","ticketType":"general","ticketDate":"2023-09-07","confirmationCode":"ticket-general-e5e5c6-dce78"}},"BuyEventTicketsResponseExample":{"summary":"Special event ticket","value":{"message":"Museum special event ticket purchased","ticketId":"b811f723-17b2-44f7-8952-24b03e43d8a9","eventName":"Mermaid Treasure Identification and Analysis","ticketType":"event","ticketDate":"2023-09-05","confirmationCode":"ticket-event-9c55eg-8v82a"}},"CreateSpecialEventRequestExample":{"summary":"Create special event","value":{"name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":0}},"CreateSpecialEventResponseExample":{"summary":"Special event created","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30}},"GetSpecialEventResponseExample":{"summary":"Get special event","value":{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60}},"ListSpecialEventsResponseExample":{"summary":"List of special events","value":[{"eventId":"f3e0e76e-e4a8-466e-ab9c-ae36c15b8e97","name":"Sasquatch Ballet","location":"Seattle... probably","eventDescription":"They're big, they're hairy, but they're also graceful. Come learn how the biggest feet can have the lightest touch.","dates":["2023-12-15","2023-12-22"],"price":40},{"eventId":"2f14374a-9c65-4ee5-94b7-fba66d893483","name":"Solar Telescope Demonstration","location":"Far from the sun.","eventDescription":"Look at the sun without going blind!","dates":["2023-09-07","2023-09-14"],"price":50},{"eventId":"6aaa61ba-b2aa-4868-b803-603dbbf7bfdb","name":"Cook like a Caveman","location":"Fire Pit on East side","eventDescription":"Learn to cook on an open flame.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5},{"eventId":"602b75e1-5696-4ab8-8c7a-f9e13580f910","name":"Underwater Basket Weaving","location":"Rec Center Pool next door.","eventDescription":"Learn to weave baskets underwater.","dates":["2023-09-12","2023-09-15"],"price":15},{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Room Sea-12","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits — kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30},{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60},{"eventId":"3be6453c-03eb-4357-ae5a-984a0e574a54","name":"Pirate Coding Workshop","location":"Computer Room","eventDescription":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang).","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"9d90d29a-2af5-4206-97d9-9ea9ceadcb78","name":"Llama Street Art Through the Ages","location":"Auditorium","eventDescription":"Llama street art?! Alpaca my bags -- let's go!","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"a3c7b2c4-b5fb-4ef7-9322-00a919864957","name":"The Great Parrot Debate","location":"Outdoor Amphitheatre","eventDescription":"See leading parrot minds discuss important geopolitical issues.","dates":["2023-11-03","2023-11-10"],"price":35},{"eventId":"b92d46b7-4c5d-422b-87a5-287767e26f29","name":"Eat a Bunch of Corn","location":"Cafeteria","eventDescription":"We accidentally bought too much corn. Please come eat it.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5}]},"UpdateSpecialEventRequestExample":{"summary":"Update special event request","value":{"location":"On the beach.","price":15}},"UpdateSpecialEventResponseExample":{"summary":"Update special event","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"On the beach.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":15}},"GetMuseumHoursResponseExample":{"summary":"Get hours response","value":[{"date":"2023-09-11","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-12","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-13","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-14","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-15","timeOpen":"10:00","timeClose":"16:00"},{"date":"2023-09-18","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-19","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-20","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-21","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-22","timeOpen":"10:00","timeClose":"16:00"}]}},"parameters":{"PaginationPage":{"name":"page","in":"query","description":"Page number to retrieve.","schema":{"type":"integer","default":1,"example":2}},"PaginationLimit":{"name":"limit","in":"query","description":"Number of days per page.","schema":{"type":"integer","default":10,"maximum":30,"example":15}},"EventId":{"name":"eventId","in":"path","description":"Identifier for a special event.","required":true,"schema":{"type":"string","format":"uuid","example":"dad4bce8-f5cb-4078-a211-995864315e39"}},"StartDate":{"name":"startDate","in":"query","description":"Starting date to retrieve future operating hours from. Defaults to today's date.","schema":{"type":"string","format":"date","example":"2023-02-23"}},"EndDate":{"name":"endDate","in":"query","description":"End of a date range to retrieve special events for. Defaults to 7 days after `startDate`.","schema":{"type":"string","format":"date","example":"2023-04-18"}},"TicketId":{"name":"ticketId","in":"path","description":"Identifier for a ticket to a museum event. Used to generate ticket image.","required":true,"schema":{"type":"string","format":"uuid","example":"a54a57ca-36f8-421b-a6b4-2e8f26858a4c"}}},"responses":{"BadRequest":{"description":"Bad request.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Not found.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Unauthorized.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"tags":[{"name":"Operations","description":"Operational information about the museum."},{"name":"Events","description":"Special events hosted by the museum."},{"name":"Tickets","description":"Museum tickets for general entrance or special events."}],"security":[{"MuseumPlaceholderAuth":[]}]},"operationId":"buyMuseumTickets","operationSource":{"kind":"code-sample","operationType":"http","method":"POST","path":"/tickets","servers":[{"url":"/_mock/demo/openapi/museum-api","description":"Mock server","isMockServer":true},{"url":"https://api.fake-museum-example.com/v1.1"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"MuseumPlaceholderAuth","type":"http","scheme":"basic"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/BuyMuseumTicketsRequest","exampleIds":["paths/~1tickets/post/requestBody/content/application~1json/examples/event_entry"]}},"responseCodes":["201","400","404"],"pointer":"/tickets","openApiOperationId":"buyMuseumTickets","summary":"Buy museum tickets"},"options":{"excludeFromSearch":true,"mockServer":{"url":"/_mock/demo/openapi/museum-api","position":"first","description":"Mock server"}},"pointer":"/paths/~1tickets/post"}},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"with-custom-parameters","__idx":5},"children":["With custom parameters"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can pre-fill parameter values in your query and request header, as in the following example:"]},{"$$mdtype":"Tag","name":"MarkdocExample","attributes":{"renderDemo":false,"language":"markdoc","demoContent":[{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"../../../demo/openapi/museum-api.yaml","operationId":"listSpecialEvents","parameters":{"query":{"limit":10},"header":{"exampleKey":"exampleValue"}},"options":{},"environments":{}},"children":[]}],"rawContent":"{% replay-openapi\n  descriptionFile=\"../../../demo/openapi/museum-api.yaml\"\n  operationId=\"listSpecialEvents\"\n  parameters={\n    query: {\n      limit: 10\n    },\n    header: {\n      exampleKey: \"exampleValue\"\n    }\n  }\n/%}\n"},"children":[]},{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"../../../demo/openapi/museum-api.yaml","operationId":"listSpecialEvents","parameters":{"query":{"limit":10},"header":{"exampleKey":"exampleValue"}},"options":{},"environments":{},"replayResolved":{"apiStore":{"schemaStore":{"components/schemas/TicketType":{"id":"components/schemas/TicketType","kind":"json-schema","title":"TicketType","data":{"description":"Type of ticket being purchased. Use `general` for regular museum entry and `event` for tickets to special events.","type":"string","enum":["event","general"],"example":"event"}},"components/schemas/Date":{"id":"components/schemas/Date","kind":"json-schema","title":"Date","data":{"type":"string","format":"date","example":"2023-10-29"}},"components/schemas/Email":{"id":"components/schemas/Email","kind":"json-schema","title":"Email","data":{"description":"Email address for ticket purchaser.","type":"string","format":"email","example":"museum-lover@example.com"}},"components/schemas/Phone":{"id":"components/schemas/Phone","kind":"json-schema","title":"Phone","data":{"description":"Phone number for the ticket purchaser (optional).","type":"string","example":"+1(234)-567-8910"}},"components/schemas/BuyMuseumTicketsRequest":{"id":"components/schemas/BuyMuseumTicketsRequest","kind":"json-schema","title":"BuyMuseumTicketsRequest","data":{"description":"Request payload used for purchasing museum tickets.","type":"object","properties":{"ticketType":{"$ref":"#/components/schemas/TicketType"},"eventId":{"description":"Unique identifier for a special event. Required if purchasing tickets for the museum's special events.","$ref":"#/components/schemas/EventId"},"ticketDate":{"description":"Date that the ticket is valid for.","$ref":"#/components/schemas/Date"},"email":{"$ref":"#/components/schemas/Email"},"phone":{"$ref":"#/components/schemas/Phone"}},"required":["ticketType","ticketDate","email"]}},"components/schemas/TicketMessage":{"id":"components/schemas/TicketMessage","kind":"json-schema","title":"TicketMessage","data":{"description":"Confirmation message after a ticket purchase.","type":"string","example":"Museum general entry ticket purchased"}},"components/schemas/TicketId":{"id":"components/schemas/TicketId","kind":"json-schema","title":"TicketId","data":{"description":"Unique identifier for museum ticket. Generated when purchased.","type":"string","format":"uuid","example":"a54a57ca-36f8-421b-a6b4-2e8f26858a4c"}},"components/schemas/TicketConfirmation":{"id":"components/schemas/TicketConfirmation","kind":"json-schema","title":"TicketConfirmation","data":{"description":"Unique confirmation code used to verify ticket purchase.","type":"string","example":"ticket-event-a98c8f-7eb12"}},"components/schemas/BuyMuseumTicketsResponse":{"id":"components/schemas/BuyMuseumTicketsResponse","kind":"json-schema","title":"BuyMuseumTicketsResponse","data":{"description":"Details for a museum ticket after a successful purchase.","type":"object","properties":{"message":{"$ref":"#/components/schemas/TicketMessage"},"eventName":{"$ref":"#/components/schemas/EventName"},"ticketId":{"$ref":"#/components/schemas/TicketId"},"ticketType":{"$ref":"#/components/schemas/TicketType"},"ticketDate":{"description":"Date the ticket is valid for.","$ref":"#/components/schemas/Date"},"confirmationCode":{"$ref":"#/components/schemas/TicketConfirmation"}},"required":["message","ticketId","ticketType","ticketDate","confirmationCode"]}},"components/schemas/GetTicketCodeResponse":{"id":"components/schemas/GetTicketCodeResponse","kind":"json-schema","title":"GetTicketCodeResponse","data":{"description":"Image of a ticket with a QR code used for museum or event entry.","type":"string","format":"binary"}},"components/schemas/GetMuseumHoursResponse":{"id":"components/schemas/GetMuseumHoursResponse","kind":"json-schema","title":"GetMuseumHoursResponse","data":{"description":"List of museum operating hours for consecutive days.","type":"array","items":{"$ref":"#/components/schemas/MuseumDailyHours"}}},"components/schemas/MuseumDailyHours":{"id":"components/schemas/MuseumDailyHours","kind":"json-schema","title":"MuseumDailyHours","data":{"description":"Daily operating hours for the museum.","type":"object","properties":{"date":{"description":"Date the operating hours apply to.","$ref":"#/components/schemas/Date","example":"2024-12-31"},"timeOpen":{"type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","description":"Time the museum opens on a specific date. Uses 24 hour time format (`HH:mm`).","example":"09:00"},"timeClose":{"description":"Time the museum closes on a specific date. Uses 24 hour time format (`HH:mm`).","type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","example":"18:00"}},"required":["date","timeOpen","timeClose"]}},"components/schemas/EventId":{"id":"components/schemas/EventId","kind":"json-schema","title":"EventId","data":{"description":"Identifier for a special event.","type":"string","format":"uuid","example":"3be6453c-03eb-4357-ae5a-984a0e574a54"}},"components/schemas/EventName":{"id":"components/schemas/EventName","kind":"json-schema","title":"EventName","data":{"type":"string","description":"Name of the special event.","example":"Pirate Coding Workshop"}},"components/schemas/EventLocation":{"id":"components/schemas/EventLocation","kind":"json-schema","title":"EventLocation","data":{"type":"string","description":"Location where the special event is held.","example":"Computer Room"}},"components/schemas/EventDescription":{"id":"components/schemas/EventDescription","kind":"json-schema","title":"EventDescription","data":{"type":"string","description":"Description of the special event.","example":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang)."}},"components/schemas/EventDates":{"id":"components/schemas/EventDates","kind":"json-schema","title":"EventDates","data":{"type":"array","items":{"$ref":"#/components/schemas/Date"},"description":"List of planned dates for the special event."}},"components/schemas/EventPrice":{"id":"components/schemas/EventPrice","kind":"json-schema","title":"EventPrice","data":{"description":"Price of a ticket for the special event.","type":"number","format":"float","example":25}},"components/schemas/CreateSpecialEventRequest":{"id":"components/schemas/CreateSpecialEventRequest","kind":"json-schema","title":"CreateSpecialEventRequest","data":{"description":"Request payload for creating new special events at the museum.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["name","location","eventDescription","dates","price"]}},"components/schemas/UpdateSpecialEventRequest":{"id":"components/schemas/UpdateSpecialEventRequest","kind":"json-schema","title":"UpdateSpecialEventRequest","data":{"description":"Request payload for updating an existing special event. Only included fields are updated in the event.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}}}},"components/schemas/ListSpecialEventsResponse":{"id":"components/schemas/ListSpecialEventsResponse","kind":"json-schema","title":"ListSpecialEventsResponse","data":{"description":"List of upcoming special events.","type":"array","items":{"$ref":"#/components/schemas/SpecialEventResponse"}}},"components/schemas/SpecialEventResponse":{"id":"components/schemas/SpecialEventResponse","kind":"json-schema","title":"SpecialEventResponse","data":{"description":"Information about a special event.","type":"object","properties":{"eventId":{"$ref":"#/components/schemas/EventId"},"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["eventId","name","location","eventDescription","dates","price"]}},"components/schemas/Error":{"id":"components/schemas/Error","kind":"json-schema","title":"Error","data":{"type":"object","properties":{"type":{"type":"string","example":"object"},"title":{"type":"string","example":"Validation failed"}}}},"schema_9":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2023-02-23"},"id":"schema_9"},"schema_10":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2023-04-18"},"id":"schema_10"},"schema_11":{"kind":"json-schema","data":{"type":"integer","default":1,"example":2},"id":"schema_11"},"schema_12":{"kind":"json-schema","data":{"type":"integer","default":10,"maximum":30,"example":15},"id":"schema_12"}},"exampleStore":{"components/examples/BuyGeneralTicketsRequestExample":{"id":"components/examples/BuyGeneralTicketsRequestExample","value":{"ticketType":"general","ticketDate":"2023-09-07","email":"todd@example.com"},"summary":"General entry ticket"},"components/examples/BuyEventTicketsRequestExample":{"id":"components/examples/BuyEventTicketsRequestExample","value":{"ticketType":"general","eventId":"dad4bce8-f5cb-4078-a211-995864315e39","ticketDate":"2023-09-05","email":"todd@example.com"},"summary":"Special event ticket"},"components/examples/BuyGeneralTicketsResponseExample":{"id":"components/examples/BuyGeneralTicketsResponseExample","value":{"message":"Museum general entry ticket purchased","ticketId":"382c0820-0530-4f4b-99af-13811ad0f17a","ticketType":"general","ticketDate":"2023-09-07","confirmationCode":"ticket-general-e5e5c6-dce78"},"summary":"General entry ticket"},"components/examples/BuyEventTicketsResponseExample":{"id":"components/examples/BuyEventTicketsResponseExample","value":{"message":"Museum special event ticket purchased","ticketId":"b811f723-17b2-44f7-8952-24b03e43d8a9","eventName":"Mermaid Treasure Identification and Analysis","ticketType":"event","ticketDate":"2023-09-05","confirmationCode":"ticket-event-9c55eg-8v82a"},"summary":"Special event ticket"},"components/examples/CreateSpecialEventRequestExample":{"id":"components/examples/CreateSpecialEventRequestExample","value":{"name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":0},"summary":"Create special event"},"components/examples/CreateSpecialEventResponseExample":{"id":"components/examples/CreateSpecialEventResponseExample","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30},"summary":"Special event created"},"components/examples/GetSpecialEventResponseExample":{"id":"components/examples/GetSpecialEventResponseExample","value":{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60},"summary":"Get special event"},"components/examples/ListSpecialEventsResponseExample":{"id":"components/examples/ListSpecialEventsResponseExample","value":[{"eventId":"f3e0e76e-e4a8-466e-ab9c-ae36c15b8e97","name":"Sasquatch Ballet","location":"Seattle... probably","eventDescription":"They're big, they're hairy, but they're also graceful. Come learn how the biggest feet can have the lightest touch.","dates":["2023-12-15","2023-12-22"],"price":40},{"eventId":"2f14374a-9c65-4ee5-94b7-fba66d893483","name":"Solar Telescope Demonstration","location":"Far from the sun.","eventDescription":"Look at the sun without going blind!","dates":["2023-09-07","2023-09-14"],"price":50},{"eventId":"6aaa61ba-b2aa-4868-b803-603dbbf7bfdb","name":"Cook like a Caveman","location":"Fire Pit on East side","eventDescription":"Learn to cook on an open flame.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5},{"eventId":"602b75e1-5696-4ab8-8c7a-f9e13580f910","name":"Underwater Basket Weaving","location":"Rec Center Pool next door.","eventDescription":"Learn to weave baskets underwater.","dates":["2023-09-12","2023-09-15"],"price":15},{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Room Sea-12","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits — kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30},{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60},{"eventId":"3be6453c-03eb-4357-ae5a-984a0e574a54","name":"Pirate Coding Workshop","location":"Computer Room","eventDescription":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang).","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"9d90d29a-2af5-4206-97d9-9ea9ceadcb78","name":"Llama Street Art Through the Ages","location":"Auditorium","eventDescription":"Llama street art?! Alpaca my bags -- let's go!","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"a3c7b2c4-b5fb-4ef7-9322-00a919864957","name":"The Great Parrot Debate","location":"Outdoor Amphitheatre","eventDescription":"See leading parrot minds discuss important geopolitical issues.","dates":["2023-11-03","2023-11-10"],"price":35},{"eventId":"b92d46b7-4c5d-422b-87a5-287767e26f29","name":"Eat a Bunch of Corn","location":"Cafeteria","eventDescription":"We accidentally bought too much corn. Please come eat it.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5}],"summary":"List of special events"},"components/examples/UpdateSpecialEventRequestExample":{"id":"components/examples/UpdateSpecialEventRequestExample","value":{"location":"On the beach.","price":15},"summary":"Update special event request"},"components/examples/UpdateSpecialEventResponseExample":{"id":"components/examples/UpdateSpecialEventResponseExample","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"On the beach.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":15},"summary":"Update special event"},"components/examples/GetMuseumHoursResponseExample":{"id":"components/examples/GetMuseumHoursResponseExample","value":[{"date":"2023-09-11","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-12","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-13","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-14","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-15","timeOpen":"10:00","timeClose":"16:00"},{"date":"2023-09-18","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-19","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-20","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-21","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-22","timeOpen":"10:00","timeClose":"16:00"}],"summary":"Get hours response"}},"securitySchemeStore":{"MuseumPlaceholderAuth":{"id":"MuseumPlaceholderAuth","type":"http","scheme":"basic"}}},"definition":{"openapi":"3.1.0","info":{"title":"Redocly Museum API","description":"Imaginary, but delightful Museum API for interacting with museum services and information. Built with love by Redocly.","version":"1.1.1","termsOfService":"https://redocly.com/subscription-agreement/","contact":{"email":"team@redocly.com","url":"https://redocly.com/docs/cli/"},"license":{"name":"MIT","url":"https://opensource.org/license/mit/"}},"servers":[{"url":"https://api.fake-museum-example.com/v1.1"}],"paths":{"/museum-hours":{"get":{"summary":"Get museum hours","description":"Get upcoming museum operating hours.","operationId":"getMuseumHours","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/StartDate"},{"$ref":"#/components/parameters/PaginationPage"},{"$ref":"#/components/parameters/PaginationLimit"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMuseumHoursResponse"},"examples":{"default_example":{"$ref":"#/components/examples/GetMuseumHoursResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/special-events":{"post":{"summary":"Create special events","description":"Creates a new special event for the museum.","operationId":"createSpecialEvent","tags":["Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSpecialEventRequest"},"examples":{"default_example":{"$ref":"#/components/examples/CreateSpecialEventRequestExample"}}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialEventResponse"},"examples":{"default_example":{"$ref":"#/components/examples/CreateSpecialEventResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}},"get":{"summary":"List special events","description":"Return a list of upcoming special events at the museum.","operationId":"listSpecialEvents","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/StartDate"},{"$ref":"#/components/parameters/EndDate"},{"$ref":"#/components/parameters/PaginationPage"},{"$ref":"#/components/parameters/PaginationLimit"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSpecialEventsResponse"},"examples":{"default_example":{"$ref":"#/components/examples/ListSpecialEventsResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/special-events/{eventId}":{"get":{"summary":"Get special event","description":"Get details about a special event.","operationId":"getSpecialEvent","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/EventId"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialEventResponse"},"examples":{"default_example":{"$ref":"#/components/examples/GetSpecialEventResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}},"patch":{"summary":"Update special event","description":"Update the details of a special event.","operationId":"updateSpecialEvent","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/EventId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSpecialEventRequest"},"examples":{"default_example":{"$ref":"#/components/examples/UpdateSpecialEventRequestExample"}}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialEventResponse"},"examples":{"default_example":{"$ref":"#/components/examples/UpdateSpecialEventResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}},"delete":{"summary":"Delete special event","description":"Delete a special event from the collection. Allows museum to cancel planned events.","operationId":"deleteSpecialEvent","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/EventId"}],"responses":{"204":{"description":"Success - no content."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/tickets":{"post":{"summary":"Buy museum tickets","description":"Purchase museum tickets for general entry or special events.","operationId":"buyMuseumTickets","tags":["Tickets"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyMuseumTicketsRequest"},"examples":{"general_entry":{"$ref":"#/components/examples/BuyGeneralTicketsRequestExample"},"event_entry":{"$ref":"#/components/examples/BuyEventTicketsRequestExample"}}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyMuseumTicketsResponse"},"examples":{"general_entry":{"$ref":"#/components/examples/BuyGeneralTicketsResponseExample"},"event_entry":{"$ref":"#/components/examples/BuyEventTicketsResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/tickets/{ticketId}/qr":{"get":{"summary":"Get ticket QR code","description":"Return an image of your ticket with scannable QR code. Used for event entry.","operationId":"getTicketCode","tags":["Tickets"],"parameters":[{"$ref":"#/components/parameters/TicketId"}],"responses":{"200":{"description":"Scannable event ticket in image format.","content":{"image/png":{"schema":{"$ref":"#/components/schemas/GetTicketCodeResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}}},"components":{"schemas":{"TicketType":{"description":"Type of ticket being purchased. Use `general` for regular museum entry and `event` for tickets to special events.","type":"string","enum":["event","general"],"example":"event"},"Date":{"type":"string","format":"date","example":"2023-10-29"},"Email":{"description":"Email address for ticket purchaser.","type":"string","format":"email","example":"museum-lover@example.com"},"Phone":{"description":"Phone number for the ticket purchaser (optional).","type":"string","example":"+1(234)-567-8910"},"BuyMuseumTicketsRequest":{"description":"Request payload used for purchasing museum tickets.","type":"object","properties":{"ticketType":{"$ref":"#/components/schemas/TicketType"},"eventId":{"description":"Unique identifier for a special event. Required if purchasing tickets for the museum's special events.","$ref":"#/components/schemas/EventId"},"ticketDate":{"description":"Date that the ticket is valid for.","$ref":"#/components/schemas/Date"},"email":{"$ref":"#/components/schemas/Email"},"phone":{"$ref":"#/components/schemas/Phone"}},"required":["ticketType","ticketDate","email"]},"TicketMessage":{"description":"Confirmation message after a ticket purchase.","type":"string","example":"Museum general entry ticket purchased"},"TicketId":{"description":"Unique identifier for museum ticket. Generated when purchased.","type":"string","format":"uuid","example":"a54a57ca-36f8-421b-a6b4-2e8f26858a4c"},"TicketConfirmation":{"description":"Unique confirmation code used to verify ticket purchase.","type":"string","example":"ticket-event-a98c8f-7eb12"},"BuyMuseumTicketsResponse":{"description":"Details for a museum ticket after a successful purchase.","type":"object","properties":{"message":{"$ref":"#/components/schemas/TicketMessage"},"eventName":{"$ref":"#/components/schemas/EventName"},"ticketId":{"$ref":"#/components/schemas/TicketId"},"ticketType":{"$ref":"#/components/schemas/TicketType"},"ticketDate":{"description":"Date the ticket is valid for.","$ref":"#/components/schemas/Date"},"confirmationCode":{"$ref":"#/components/schemas/TicketConfirmation"}},"required":["message","ticketId","ticketType","ticketDate","confirmationCode"]},"GetTicketCodeResponse":{"description":"Image of a ticket with a QR code used for museum or event entry.","type":"string","format":"binary"},"GetMuseumHoursResponse":{"description":"List of museum operating hours for consecutive days.","type":"array","items":{"$ref":"#/components/schemas/MuseumDailyHours"}},"MuseumDailyHours":{"description":"Daily operating hours for the museum.","type":"object","properties":{"date":{"description":"Date the operating hours apply to.","$ref":"#/components/schemas/Date","example":"2024-12-31"},"timeOpen":{"type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","description":"Time the museum opens on a specific date. Uses 24 hour time format (`HH:mm`).","example":"09:00"},"timeClose":{"description":"Time the museum closes on a specific date. Uses 24 hour time format (`HH:mm`).","type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","example":"18:00"}},"required":["date","timeOpen","timeClose"]},"EventId":{"description":"Identifier for a special event.","type":"string","format":"uuid","example":"3be6453c-03eb-4357-ae5a-984a0e574a54"},"EventName":{"type":"string","description":"Name of the special event.","example":"Pirate Coding Workshop"},"EventLocation":{"type":"string","description":"Location where the special event is held.","example":"Computer Room"},"EventDescription":{"type":"string","description":"Description of the special event.","example":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang)."},"EventDates":{"type":"array","items":{"$ref":"#/components/schemas/Date"},"description":"List of planned dates for the special event."},"EventPrice":{"description":"Price of a ticket for the special event.","type":"number","format":"float","example":25},"CreateSpecialEventRequest":{"description":"Request payload for creating new special events at the museum.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["name","location","eventDescription","dates","price"]},"UpdateSpecialEventRequest":{"description":"Request payload for updating an existing special event. Only included fields are updated in the event.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}}},"ListSpecialEventsResponse":{"description":"List of upcoming special events.","type":"array","items":{"$ref":"#/components/schemas/SpecialEventResponse"}},"SpecialEventResponse":{"description":"Information about a special event.","type":"object","properties":{"eventId":{"$ref":"#/components/schemas/EventId"},"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["eventId","name","location","eventDescription","dates","price"]},"Error":{"type":"object","properties":{"type":{"type":"string","example":"object"},"title":{"type":"string","example":"Validation failed"}}}},"securitySchemes":{"MuseumPlaceholderAuth":{"type":"http","scheme":"basic"}},"examples":{"BuyGeneralTicketsRequestExample":{"summary":"General entry ticket","value":{"ticketType":"general","ticketDate":"2023-09-07","email":"todd@example.com"}},"BuyEventTicketsRequestExample":{"summary":"Special event ticket","value":{"ticketType":"general","eventId":"dad4bce8-f5cb-4078-a211-995864315e39","ticketDate":"2023-09-05","email":"todd@example.com"}},"BuyGeneralTicketsResponseExample":{"summary":"General entry ticket","value":{"message":"Museum general entry ticket purchased","ticketId":"382c0820-0530-4f4b-99af-13811ad0f17a","ticketType":"general","ticketDate":"2023-09-07","confirmationCode":"ticket-general-e5e5c6-dce78"}},"BuyEventTicketsResponseExample":{"summary":"Special event ticket","value":{"message":"Museum special event ticket purchased","ticketId":"b811f723-17b2-44f7-8952-24b03e43d8a9","eventName":"Mermaid Treasure Identification and Analysis","ticketType":"event","ticketDate":"2023-09-05","confirmationCode":"ticket-event-9c55eg-8v82a"}},"CreateSpecialEventRequestExample":{"summary":"Create special event","value":{"name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":0}},"CreateSpecialEventResponseExample":{"summary":"Special event created","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30}},"GetSpecialEventResponseExample":{"summary":"Get special event","value":{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60}},"ListSpecialEventsResponseExample":{"summary":"List of special events","value":[{"eventId":"f3e0e76e-e4a8-466e-ab9c-ae36c15b8e97","name":"Sasquatch Ballet","location":"Seattle... probably","eventDescription":"They're big, they're hairy, but they're also graceful. Come learn how the biggest feet can have the lightest touch.","dates":["2023-12-15","2023-12-22"],"price":40},{"eventId":"2f14374a-9c65-4ee5-94b7-fba66d893483","name":"Solar Telescope Demonstration","location":"Far from the sun.","eventDescription":"Look at the sun without going blind!","dates":["2023-09-07","2023-09-14"],"price":50},{"eventId":"6aaa61ba-b2aa-4868-b803-603dbbf7bfdb","name":"Cook like a Caveman","location":"Fire Pit on East side","eventDescription":"Learn to cook on an open flame.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5},{"eventId":"602b75e1-5696-4ab8-8c7a-f9e13580f910","name":"Underwater Basket Weaving","location":"Rec Center Pool next door.","eventDescription":"Learn to weave baskets underwater.","dates":["2023-09-12","2023-09-15"],"price":15},{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Room Sea-12","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits — kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30},{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60},{"eventId":"3be6453c-03eb-4357-ae5a-984a0e574a54","name":"Pirate Coding Workshop","location":"Computer Room","eventDescription":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang).","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"9d90d29a-2af5-4206-97d9-9ea9ceadcb78","name":"Llama Street Art Through the Ages","location":"Auditorium","eventDescription":"Llama street art?! Alpaca my bags -- let's go!","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"a3c7b2c4-b5fb-4ef7-9322-00a919864957","name":"The Great Parrot Debate","location":"Outdoor Amphitheatre","eventDescription":"See leading parrot minds discuss important geopolitical issues.","dates":["2023-11-03","2023-11-10"],"price":35},{"eventId":"b92d46b7-4c5d-422b-87a5-287767e26f29","name":"Eat a Bunch of Corn","location":"Cafeteria","eventDescription":"We accidentally bought too much corn. Please come eat it.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5}]},"UpdateSpecialEventRequestExample":{"summary":"Update special event request","value":{"location":"On the beach.","price":15}},"UpdateSpecialEventResponseExample":{"summary":"Update special event","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"On the beach.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":15}},"GetMuseumHoursResponseExample":{"summary":"Get hours response","value":[{"date":"2023-09-11","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-12","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-13","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-14","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-15","timeOpen":"10:00","timeClose":"16:00"},{"date":"2023-09-18","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-19","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-20","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-21","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-22","timeOpen":"10:00","timeClose":"16:00"}]}},"parameters":{"PaginationPage":{"name":"page","in":"query","description":"Page number to retrieve.","schema":{"type":"integer","default":1,"example":2}},"PaginationLimit":{"name":"limit","in":"query","description":"Number of days per page.","schema":{"type":"integer","default":10,"maximum":30,"example":15}},"EventId":{"name":"eventId","in":"path","description":"Identifier for a special event.","required":true,"schema":{"type":"string","format":"uuid","example":"dad4bce8-f5cb-4078-a211-995864315e39"}},"StartDate":{"name":"startDate","in":"query","description":"Starting date to retrieve future operating hours from. Defaults to today's date.","schema":{"type":"string","format":"date","example":"2023-02-23"}},"EndDate":{"name":"endDate","in":"query","description":"End of a date range to retrieve special events for. Defaults to 7 days after `startDate`.","schema":{"type":"string","format":"date","example":"2023-04-18"}},"TicketId":{"name":"ticketId","in":"path","description":"Identifier for a ticket to a museum event. Used to generate ticket image.","required":true,"schema":{"type":"string","format":"uuid","example":"a54a57ca-36f8-421b-a6b4-2e8f26858a4c"}}},"responses":{"BadRequest":{"description":"Bad request.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Not found.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Unauthorized.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"tags":[{"name":"Operations","description":"Operational information about the museum."},{"name":"Events","description":"Special events hosted by the museum."},{"name":"Tickets","description":"Museum tickets for general entrance or special events."}],"security":[{"MuseumPlaceholderAuth":[]}]},"operationId":"listSpecialEvents","operationSource":{"kind":"code-sample","operationType":"http","method":"GET","path":"/special-events","servers":[{"url":"/_mock/demo/openapi/museum-api","description":"Mock server","isMockServer":true},{"url":"https://api.fake-museum-example.com/v1.1"}],"parameters":{"path":[],"query":[{"name":"startDate","in":"query","example":"2023-02-23","schemaId":"schema_9"},{"name":"endDate","in":"query","example":"2023-04-18","schemaId":"schema_10"},{"name":"page","in":"query","example":2,"schemaId":"schema_11"},{"name":"limit","in":"query","example":15,"schemaId":"schema_12"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"MuseumPlaceholderAuth","type":"http","scheme":"basic"}],"scopes":[]}],"responseCodes":["200","400","404"],"pointer":"/special-events","openApiOperationId":"listSpecialEvents","summary":"List special events"},"options":{"excludeFromSearch":true,"mockServer":{"url":"/_mock/demo/openapi/museum-api","position":"first","description":"Mock server"}},"pointer":"/paths/~1special-events/get"}},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"with-custom-requestbody","__idx":6},"children":["With custom requestBody"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requestBody"]}," attribute allows you to define example payloads directly in the tag, as in the following example:"]},{"$$mdtype":"Tag","name":"MarkdocExample","attributes":{"renderDemo":false,"language":"markdoc","demoContent":[{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"../../../demo/openapi/museum-api.yaml","operationId":"createSpecialEvent","parameters":{},"requestBody":{"name":"Find the museum curator's hat","location":"Somewhere in the museum... we hope.","eventDescription":"The curator misplaced his hat. Please help us find it!","dates":["2024-05-07T00:00:00.000Z"],"price":0},"options":{},"environments":{}},"children":[]}],"rawContent":"{% replay-openapi\n  descriptionFile=\"../../../demo/openapi/museum-api.yaml\"\n  operationId=\"createSpecialEvent\"\n  requestBody={\n    name: \"Find the museum curator's hat\",\n    location: \"Somewhere in the museum... we hope.\",\n    eventDescription: \"The curator misplaced his hat. Please help us find it!\",\n    dates: [\"2024-05-07T00:00:00.000Z\"],\n    price: 0,\n  }\n/%}\n"},"children":[]},{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"../../../demo/openapi/museum-api.yaml","operationId":"createSpecialEvent","parameters":{},"requestBody":{"name":"Find the museum curator's hat","location":"Somewhere in the museum... we hope.","eventDescription":"The curator misplaced his hat. Please help us find it!","dates":["2024-05-07"],"price":0},"options":{},"environments":{},"replayResolved":{"apiStore":{"schemaStore":{"components/schemas/TicketType":{"id":"components/schemas/TicketType","kind":"json-schema","title":"TicketType","data":{"description":"Type of ticket being purchased. Use `general` for regular museum entry and `event` for tickets to special events.","type":"string","enum":["event","general"],"example":"event"}},"components/schemas/Date":{"id":"components/schemas/Date","kind":"json-schema","title":"Date","data":{"type":"string","format":"date","example":"2023-10-29"}},"components/schemas/Email":{"id":"components/schemas/Email","kind":"json-schema","title":"Email","data":{"description":"Email address for ticket purchaser.","type":"string","format":"email","example":"museum-lover@example.com"}},"components/schemas/Phone":{"id":"components/schemas/Phone","kind":"json-schema","title":"Phone","data":{"description":"Phone number for the ticket purchaser (optional).","type":"string","example":"+1(234)-567-8910"}},"components/schemas/BuyMuseumTicketsRequest":{"id":"components/schemas/BuyMuseumTicketsRequest","kind":"json-schema","title":"BuyMuseumTicketsRequest","data":{"description":"Request payload used for purchasing museum tickets.","type":"object","properties":{"ticketType":{"$ref":"#/components/schemas/TicketType"},"eventId":{"description":"Unique identifier for a special event. Required if purchasing tickets for the museum's special events.","$ref":"#/components/schemas/EventId"},"ticketDate":{"description":"Date that the ticket is valid for.","$ref":"#/components/schemas/Date"},"email":{"$ref":"#/components/schemas/Email"},"phone":{"$ref":"#/components/schemas/Phone"}},"required":["ticketType","ticketDate","email"]}},"components/schemas/TicketMessage":{"id":"components/schemas/TicketMessage","kind":"json-schema","title":"TicketMessage","data":{"description":"Confirmation message after a ticket purchase.","type":"string","example":"Museum general entry ticket purchased"}},"components/schemas/TicketId":{"id":"components/schemas/TicketId","kind":"json-schema","title":"TicketId","data":{"description":"Unique identifier for museum ticket. Generated when purchased.","type":"string","format":"uuid","example":"a54a57ca-36f8-421b-a6b4-2e8f26858a4c"}},"components/schemas/TicketConfirmation":{"id":"components/schemas/TicketConfirmation","kind":"json-schema","title":"TicketConfirmation","data":{"description":"Unique confirmation code used to verify ticket purchase.","type":"string","example":"ticket-event-a98c8f-7eb12"}},"components/schemas/BuyMuseumTicketsResponse":{"id":"components/schemas/BuyMuseumTicketsResponse","kind":"json-schema","title":"BuyMuseumTicketsResponse","data":{"description":"Details for a museum ticket after a successful purchase.","type":"object","properties":{"message":{"$ref":"#/components/schemas/TicketMessage"},"eventName":{"$ref":"#/components/schemas/EventName"},"ticketId":{"$ref":"#/components/schemas/TicketId"},"ticketType":{"$ref":"#/components/schemas/TicketType"},"ticketDate":{"description":"Date the ticket is valid for.","$ref":"#/components/schemas/Date"},"confirmationCode":{"$ref":"#/components/schemas/TicketConfirmation"}},"required":["message","ticketId","ticketType","ticketDate","confirmationCode"]}},"components/schemas/GetTicketCodeResponse":{"id":"components/schemas/GetTicketCodeResponse","kind":"json-schema","title":"GetTicketCodeResponse","data":{"description":"Image of a ticket with a QR code used for museum or event entry.","type":"string","format":"binary"}},"components/schemas/GetMuseumHoursResponse":{"id":"components/schemas/GetMuseumHoursResponse","kind":"json-schema","title":"GetMuseumHoursResponse","data":{"description":"List of museum operating hours for consecutive days.","type":"array","items":{"$ref":"#/components/schemas/MuseumDailyHours"}}},"components/schemas/MuseumDailyHours":{"id":"components/schemas/MuseumDailyHours","kind":"json-schema","title":"MuseumDailyHours","data":{"description":"Daily operating hours for the museum.","type":"object","properties":{"date":{"description":"Date the operating hours apply to.","$ref":"#/components/schemas/Date","example":"2024-12-31"},"timeOpen":{"type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","description":"Time the museum opens on a specific date. Uses 24 hour time format (`HH:mm`).","example":"09:00"},"timeClose":{"description":"Time the museum closes on a specific date. Uses 24 hour time format (`HH:mm`).","type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","example":"18:00"}},"required":["date","timeOpen","timeClose"]}},"components/schemas/EventId":{"id":"components/schemas/EventId","kind":"json-schema","title":"EventId","data":{"description":"Identifier for a special event.","type":"string","format":"uuid","example":"3be6453c-03eb-4357-ae5a-984a0e574a54"}},"components/schemas/EventName":{"id":"components/schemas/EventName","kind":"json-schema","title":"EventName","data":{"type":"string","description":"Name of the special event.","example":"Pirate Coding Workshop"}},"components/schemas/EventLocation":{"id":"components/schemas/EventLocation","kind":"json-schema","title":"EventLocation","data":{"type":"string","description":"Location where the special event is held.","example":"Computer Room"}},"components/schemas/EventDescription":{"id":"components/schemas/EventDescription","kind":"json-schema","title":"EventDescription","data":{"type":"string","description":"Description of the special event.","example":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang)."}},"components/schemas/EventDates":{"id":"components/schemas/EventDates","kind":"json-schema","title":"EventDates","data":{"type":"array","items":{"$ref":"#/components/schemas/Date"},"description":"List of planned dates for the special event."}},"components/schemas/EventPrice":{"id":"components/schemas/EventPrice","kind":"json-schema","title":"EventPrice","data":{"description":"Price of a ticket for the special event.","type":"number","format":"float","example":25}},"components/schemas/CreateSpecialEventRequest":{"id":"components/schemas/CreateSpecialEventRequest","kind":"json-schema","title":"CreateSpecialEventRequest","data":{"description":"Request payload for creating new special events at the museum.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["name","location","eventDescription","dates","price"]}},"components/schemas/UpdateSpecialEventRequest":{"id":"components/schemas/UpdateSpecialEventRequest","kind":"json-schema","title":"UpdateSpecialEventRequest","data":{"description":"Request payload for updating an existing special event. Only included fields are updated in the event.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}}}},"components/schemas/ListSpecialEventsResponse":{"id":"components/schemas/ListSpecialEventsResponse","kind":"json-schema","title":"ListSpecialEventsResponse","data":{"description":"List of upcoming special events.","type":"array","items":{"$ref":"#/components/schemas/SpecialEventResponse"}}},"components/schemas/SpecialEventResponse":{"id":"components/schemas/SpecialEventResponse","kind":"json-schema","title":"SpecialEventResponse","data":{"description":"Information about a special event.","type":"object","properties":{"eventId":{"$ref":"#/components/schemas/EventId"},"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["eventId","name","location","eventDescription","dates","price"]}},"components/schemas/Error":{"id":"components/schemas/Error","kind":"json-schema","title":"Error","data":{"type":"object","properties":{"type":{"type":"string","example":"object"},"title":{"type":"string","example":"Validation failed"}}}}},"exampleStore":{"components/examples/BuyGeneralTicketsRequestExample":{"id":"components/examples/BuyGeneralTicketsRequestExample","value":{"ticketType":"general","ticketDate":"2023-09-07","email":"todd@example.com"},"summary":"General entry ticket"},"components/examples/BuyEventTicketsRequestExample":{"id":"components/examples/BuyEventTicketsRequestExample","value":{"ticketType":"general","eventId":"dad4bce8-f5cb-4078-a211-995864315e39","ticketDate":"2023-09-05","email":"todd@example.com"},"summary":"Special event ticket"},"components/examples/BuyGeneralTicketsResponseExample":{"id":"components/examples/BuyGeneralTicketsResponseExample","value":{"message":"Museum general entry ticket purchased","ticketId":"382c0820-0530-4f4b-99af-13811ad0f17a","ticketType":"general","ticketDate":"2023-09-07","confirmationCode":"ticket-general-e5e5c6-dce78"},"summary":"General entry ticket"},"components/examples/BuyEventTicketsResponseExample":{"id":"components/examples/BuyEventTicketsResponseExample","value":{"message":"Museum special event ticket purchased","ticketId":"b811f723-17b2-44f7-8952-24b03e43d8a9","eventName":"Mermaid Treasure Identification and Analysis","ticketType":"event","ticketDate":"2023-09-05","confirmationCode":"ticket-event-9c55eg-8v82a"},"summary":"Special event ticket"},"components/examples/CreateSpecialEventRequestExample":{"id":"components/examples/CreateSpecialEventRequestExample","value":{"name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":0},"summary":"Create special event"},"components/examples/CreateSpecialEventResponseExample":{"id":"components/examples/CreateSpecialEventResponseExample","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30},"summary":"Special event created"},"components/examples/GetSpecialEventResponseExample":{"id":"components/examples/GetSpecialEventResponseExample","value":{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60},"summary":"Get special event"},"components/examples/ListSpecialEventsResponseExample":{"id":"components/examples/ListSpecialEventsResponseExample","value":[{"eventId":"f3e0e76e-e4a8-466e-ab9c-ae36c15b8e97","name":"Sasquatch Ballet","location":"Seattle... probably","eventDescription":"They're big, they're hairy, but they're also graceful. Come learn how the biggest feet can have the lightest touch.","dates":["2023-12-15","2023-12-22"],"price":40},{"eventId":"2f14374a-9c65-4ee5-94b7-fba66d893483","name":"Solar Telescope Demonstration","location":"Far from the sun.","eventDescription":"Look at the sun without going blind!","dates":["2023-09-07","2023-09-14"],"price":50},{"eventId":"6aaa61ba-b2aa-4868-b803-603dbbf7bfdb","name":"Cook like a Caveman","location":"Fire Pit on East side","eventDescription":"Learn to cook on an open flame.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5},{"eventId":"602b75e1-5696-4ab8-8c7a-f9e13580f910","name":"Underwater Basket Weaving","location":"Rec Center Pool next door.","eventDescription":"Learn to weave baskets underwater.","dates":["2023-09-12","2023-09-15"],"price":15},{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Room Sea-12","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits — kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30},{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60},{"eventId":"3be6453c-03eb-4357-ae5a-984a0e574a54","name":"Pirate Coding Workshop","location":"Computer Room","eventDescription":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang).","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"9d90d29a-2af5-4206-97d9-9ea9ceadcb78","name":"Llama Street Art Through the Ages","location":"Auditorium","eventDescription":"Llama street art?! Alpaca my bags -- let's go!","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"a3c7b2c4-b5fb-4ef7-9322-00a919864957","name":"The Great Parrot Debate","location":"Outdoor Amphitheatre","eventDescription":"See leading parrot minds discuss important geopolitical issues.","dates":["2023-11-03","2023-11-10"],"price":35},{"eventId":"b92d46b7-4c5d-422b-87a5-287767e26f29","name":"Eat a Bunch of Corn","location":"Cafeteria","eventDescription":"We accidentally bought too much corn. Please come eat it.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5}],"summary":"List of special events"},"components/examples/UpdateSpecialEventRequestExample":{"id":"components/examples/UpdateSpecialEventRequestExample","value":{"location":"On the beach.","price":15},"summary":"Update special event request"},"components/examples/UpdateSpecialEventResponseExample":{"id":"components/examples/UpdateSpecialEventResponseExample","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"On the beach.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":15},"summary":"Update special event"},"components/examples/GetMuseumHoursResponseExample":{"id":"components/examples/GetMuseumHoursResponseExample","value":[{"date":"2023-09-11","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-12","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-13","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-14","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-15","timeOpen":"10:00","timeClose":"16:00"},{"date":"2023-09-18","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-19","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-20","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-21","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-22","timeOpen":"10:00","timeClose":"16:00"}],"summary":"Get hours response"},"paths/~1special-events/post/requestBody/content/application~1json/examples/default_example":{"value":{"name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":0},"key":"default_example","summary":"Create special event","id":"paths/~1special-events/post/requestBody/content/application~1json/examples/default_example"}},"securitySchemeStore":{"MuseumPlaceholderAuth":{"id":"MuseumPlaceholderAuth","type":"http","scheme":"basic"}}},"definition":{"openapi":"3.1.0","info":{"title":"Redocly Museum API","description":"Imaginary, but delightful Museum API for interacting with museum services and information. Built with love by Redocly.","version":"1.1.1","termsOfService":"https://redocly.com/subscription-agreement/","contact":{"email":"team@redocly.com","url":"https://redocly.com/docs/cli/"},"license":{"name":"MIT","url":"https://opensource.org/license/mit/"}},"servers":[{"url":"https://api.fake-museum-example.com/v1.1"}],"paths":{"/museum-hours":{"get":{"summary":"Get museum hours","description":"Get upcoming museum operating hours.","operationId":"getMuseumHours","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/StartDate"},{"$ref":"#/components/parameters/PaginationPage"},{"$ref":"#/components/parameters/PaginationLimit"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMuseumHoursResponse"},"examples":{"default_example":{"$ref":"#/components/examples/GetMuseumHoursResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/special-events":{"post":{"summary":"Create special events","description":"Creates a new special event for the museum.","operationId":"createSpecialEvent","tags":["Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSpecialEventRequest"},"examples":{"default_example":{"$ref":"#/components/examples/CreateSpecialEventRequestExample"}}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialEventResponse"},"examples":{"default_example":{"$ref":"#/components/examples/CreateSpecialEventResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}},"get":{"summary":"List special events","description":"Return a list of upcoming special events at the museum.","operationId":"listSpecialEvents","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/StartDate"},{"$ref":"#/components/parameters/EndDate"},{"$ref":"#/components/parameters/PaginationPage"},{"$ref":"#/components/parameters/PaginationLimit"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSpecialEventsResponse"},"examples":{"default_example":{"$ref":"#/components/examples/ListSpecialEventsResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/special-events/{eventId}":{"get":{"summary":"Get special event","description":"Get details about a special event.","operationId":"getSpecialEvent","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/EventId"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialEventResponse"},"examples":{"default_example":{"$ref":"#/components/examples/GetSpecialEventResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}},"patch":{"summary":"Update special event","description":"Update the details of a special event.","operationId":"updateSpecialEvent","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/EventId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSpecialEventRequest"},"examples":{"default_example":{"$ref":"#/components/examples/UpdateSpecialEventRequestExample"}}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialEventResponse"},"examples":{"default_example":{"$ref":"#/components/examples/UpdateSpecialEventResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}},"delete":{"summary":"Delete special event","description":"Delete a special event from the collection. Allows museum to cancel planned events.","operationId":"deleteSpecialEvent","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/EventId"}],"responses":{"204":{"description":"Success - no content."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/tickets":{"post":{"summary":"Buy museum tickets","description":"Purchase museum tickets for general entry or special events.","operationId":"buyMuseumTickets","tags":["Tickets"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyMuseumTicketsRequest"},"examples":{"general_entry":{"$ref":"#/components/examples/BuyGeneralTicketsRequestExample"},"event_entry":{"$ref":"#/components/examples/BuyEventTicketsRequestExample"}}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyMuseumTicketsResponse"},"examples":{"general_entry":{"$ref":"#/components/examples/BuyGeneralTicketsResponseExample"},"event_entry":{"$ref":"#/components/examples/BuyEventTicketsResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/tickets/{ticketId}/qr":{"get":{"summary":"Get ticket QR code","description":"Return an image of your ticket with scannable QR code. Used for event entry.","operationId":"getTicketCode","tags":["Tickets"],"parameters":[{"$ref":"#/components/parameters/TicketId"}],"responses":{"200":{"description":"Scannable event ticket in image format.","content":{"image/png":{"schema":{"$ref":"#/components/schemas/GetTicketCodeResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}}},"components":{"schemas":{"TicketType":{"description":"Type of ticket being purchased. Use `general` for regular museum entry and `event` for tickets to special events.","type":"string","enum":["event","general"],"example":"event"},"Date":{"type":"string","format":"date","example":"2023-10-29"},"Email":{"description":"Email address for ticket purchaser.","type":"string","format":"email","example":"museum-lover@example.com"},"Phone":{"description":"Phone number for the ticket purchaser (optional).","type":"string","example":"+1(234)-567-8910"},"BuyMuseumTicketsRequest":{"description":"Request payload used for purchasing museum tickets.","type":"object","properties":{"ticketType":{"$ref":"#/components/schemas/TicketType"},"eventId":{"description":"Unique identifier for a special event. Required if purchasing tickets for the museum's special events.","$ref":"#/components/schemas/EventId"},"ticketDate":{"description":"Date that the ticket is valid for.","$ref":"#/components/schemas/Date"},"email":{"$ref":"#/components/schemas/Email"},"phone":{"$ref":"#/components/schemas/Phone"}},"required":["ticketType","ticketDate","email"]},"TicketMessage":{"description":"Confirmation message after a ticket purchase.","type":"string","example":"Museum general entry ticket purchased"},"TicketId":{"description":"Unique identifier for museum ticket. Generated when purchased.","type":"string","format":"uuid","example":"a54a57ca-36f8-421b-a6b4-2e8f26858a4c"},"TicketConfirmation":{"description":"Unique confirmation code used to verify ticket purchase.","type":"string","example":"ticket-event-a98c8f-7eb12"},"BuyMuseumTicketsResponse":{"description":"Details for a museum ticket after a successful purchase.","type":"object","properties":{"message":{"$ref":"#/components/schemas/TicketMessage"},"eventName":{"$ref":"#/components/schemas/EventName"},"ticketId":{"$ref":"#/components/schemas/TicketId"},"ticketType":{"$ref":"#/components/schemas/TicketType"},"ticketDate":{"description":"Date the ticket is valid for.","$ref":"#/components/schemas/Date"},"confirmationCode":{"$ref":"#/components/schemas/TicketConfirmation"}},"required":["message","ticketId","ticketType","ticketDate","confirmationCode"]},"GetTicketCodeResponse":{"description":"Image of a ticket with a QR code used for museum or event entry.","type":"string","format":"binary"},"GetMuseumHoursResponse":{"description":"List of museum operating hours for consecutive days.","type":"array","items":{"$ref":"#/components/schemas/MuseumDailyHours"}},"MuseumDailyHours":{"description":"Daily operating hours for the museum.","type":"object","properties":{"date":{"description":"Date the operating hours apply to.","$ref":"#/components/schemas/Date","example":"2024-12-31"},"timeOpen":{"type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","description":"Time the museum opens on a specific date. Uses 24 hour time format (`HH:mm`).","example":"09:00"},"timeClose":{"description":"Time the museum closes on a specific date. Uses 24 hour time format (`HH:mm`).","type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","example":"18:00"}},"required":["date","timeOpen","timeClose"]},"EventId":{"description":"Identifier for a special event.","type":"string","format":"uuid","example":"3be6453c-03eb-4357-ae5a-984a0e574a54"},"EventName":{"type":"string","description":"Name of the special event.","example":"Pirate Coding Workshop"},"EventLocation":{"type":"string","description":"Location where the special event is held.","example":"Computer Room"},"EventDescription":{"type":"string","description":"Description of the special event.","example":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang)."},"EventDates":{"type":"array","items":{"$ref":"#/components/schemas/Date"},"description":"List of planned dates for the special event."},"EventPrice":{"description":"Price of a ticket for the special event.","type":"number","format":"float","example":25},"CreateSpecialEventRequest":{"description":"Request payload for creating new special events at the museum.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["name","location","eventDescription","dates","price"]},"UpdateSpecialEventRequest":{"description":"Request payload for updating an existing special event. Only included fields are updated in the event.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}}},"ListSpecialEventsResponse":{"description":"List of upcoming special events.","type":"array","items":{"$ref":"#/components/schemas/SpecialEventResponse"}},"SpecialEventResponse":{"description":"Information about a special event.","type":"object","properties":{"eventId":{"$ref":"#/components/schemas/EventId"},"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["eventId","name","location","eventDescription","dates","price"]},"Error":{"type":"object","properties":{"type":{"type":"string","example":"object"},"title":{"type":"string","example":"Validation failed"}}}},"securitySchemes":{"MuseumPlaceholderAuth":{"type":"http","scheme":"basic"}},"examples":{"BuyGeneralTicketsRequestExample":{"summary":"General entry ticket","value":{"ticketType":"general","ticketDate":"2023-09-07","email":"todd@example.com"}},"BuyEventTicketsRequestExample":{"summary":"Special event ticket","value":{"ticketType":"general","eventId":"dad4bce8-f5cb-4078-a211-995864315e39","ticketDate":"2023-09-05","email":"todd@example.com"}},"BuyGeneralTicketsResponseExample":{"summary":"General entry ticket","value":{"message":"Museum general entry ticket purchased","ticketId":"382c0820-0530-4f4b-99af-13811ad0f17a","ticketType":"general","ticketDate":"2023-09-07","confirmationCode":"ticket-general-e5e5c6-dce78"}},"BuyEventTicketsResponseExample":{"summary":"Special event ticket","value":{"message":"Museum special event ticket purchased","ticketId":"b811f723-17b2-44f7-8952-24b03e43d8a9","eventName":"Mermaid Treasure Identification and Analysis","ticketType":"event","ticketDate":"2023-09-05","confirmationCode":"ticket-event-9c55eg-8v82a"}},"CreateSpecialEventRequestExample":{"summary":"Create special event","value":{"name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":0}},"CreateSpecialEventResponseExample":{"summary":"Special event created","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30}},"GetSpecialEventResponseExample":{"summary":"Get special event","value":{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60}},"ListSpecialEventsResponseExample":{"summary":"List of special events","value":[{"eventId":"f3e0e76e-e4a8-466e-ab9c-ae36c15b8e97","name":"Sasquatch Ballet","location":"Seattle... probably","eventDescription":"They're big, they're hairy, but they're also graceful. Come learn how the biggest feet can have the lightest touch.","dates":["2023-12-15","2023-12-22"],"price":40},{"eventId":"2f14374a-9c65-4ee5-94b7-fba66d893483","name":"Solar Telescope Demonstration","location":"Far from the sun.","eventDescription":"Look at the sun without going blind!","dates":["2023-09-07","2023-09-14"],"price":50},{"eventId":"6aaa61ba-b2aa-4868-b803-603dbbf7bfdb","name":"Cook like a Caveman","location":"Fire Pit on East side","eventDescription":"Learn to cook on an open flame.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5},{"eventId":"602b75e1-5696-4ab8-8c7a-f9e13580f910","name":"Underwater Basket Weaving","location":"Rec Center Pool next door.","eventDescription":"Learn to weave baskets underwater.","dates":["2023-09-12","2023-09-15"],"price":15},{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Room Sea-12","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits — kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30},{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60},{"eventId":"3be6453c-03eb-4357-ae5a-984a0e574a54","name":"Pirate Coding Workshop","location":"Computer Room","eventDescription":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang).","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"9d90d29a-2af5-4206-97d9-9ea9ceadcb78","name":"Llama Street Art Through the Ages","location":"Auditorium","eventDescription":"Llama street art?! Alpaca my bags -- let's go!","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"a3c7b2c4-b5fb-4ef7-9322-00a919864957","name":"The Great Parrot Debate","location":"Outdoor Amphitheatre","eventDescription":"See leading parrot minds discuss important geopolitical issues.","dates":["2023-11-03","2023-11-10"],"price":35},{"eventId":"b92d46b7-4c5d-422b-87a5-287767e26f29","name":"Eat a Bunch of Corn","location":"Cafeteria","eventDescription":"We accidentally bought too much corn. Please come eat it.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5}]},"UpdateSpecialEventRequestExample":{"summary":"Update special event request","value":{"location":"On the beach.","price":15}},"UpdateSpecialEventResponseExample":{"summary":"Update special event","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"On the beach.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":15}},"GetMuseumHoursResponseExample":{"summary":"Get hours response","value":[{"date":"2023-09-11","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-12","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-13","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-14","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-15","timeOpen":"10:00","timeClose":"16:00"},{"date":"2023-09-18","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-19","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-20","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-21","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-22","timeOpen":"10:00","timeClose":"16:00"}]}},"parameters":{"PaginationPage":{"name":"page","in":"query","description":"Page number to retrieve.","schema":{"type":"integer","default":1,"example":2}},"PaginationLimit":{"name":"limit","in":"query","description":"Number of days per page.","schema":{"type":"integer","default":10,"maximum":30,"example":15}},"EventId":{"name":"eventId","in":"path","description":"Identifier for a special event.","required":true,"schema":{"type":"string","format":"uuid","example":"dad4bce8-f5cb-4078-a211-995864315e39"}},"StartDate":{"name":"startDate","in":"query","description":"Starting date to retrieve future operating hours from. Defaults to today's date.","schema":{"type":"string","format":"date","example":"2023-02-23"}},"EndDate":{"name":"endDate","in":"query","description":"End of a date range to retrieve special events for. Defaults to 7 days after `startDate`.","schema":{"type":"string","format":"date","example":"2023-04-18"}},"TicketId":{"name":"ticketId","in":"path","description":"Identifier for a ticket to a museum event. Used to generate ticket image.","required":true,"schema":{"type":"string","format":"uuid","example":"a54a57ca-36f8-421b-a6b4-2e8f26858a4c"}}},"responses":{"BadRequest":{"description":"Bad request.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Not found.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Unauthorized.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"tags":[{"name":"Operations","description":"Operational information about the museum."},{"name":"Events","description":"Special events hosted by the museum."},{"name":"Tickets","description":"Museum tickets for general entrance or special events."}],"security":[{"MuseumPlaceholderAuth":[]}]},"operationId":"createSpecialEvent","operationSource":{"kind":"code-sample","operationType":"http","method":"POST","path":"/special-events","servers":[{"url":"/_mock/demo/openapi/museum-api","description":"Mock server","isMockServer":true},{"url":"https://api.fake-museum-example.com/v1.1"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"MuseumPlaceholderAuth","type":"http","scheme":"basic"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateSpecialEventRequest","exampleIds":["paths/~1special-events/post/requestBody/content/application~1json/examples/default_example"]}},"responseCodes":["201","400","404"],"pointer":"/special-events","openApiOperationId":"createSpecialEvent","summary":"Create special events"},"options":{"excludeFromSearch":true,"mockServer":{"url":"/_mock/demo/openapi/museum-api","position":"first","description":"Mock server"}},"pointer":"/paths/~1special-events/post"}},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"with-pre-defined-environment-variables","__idx":7},"children":["With pre-defined environment variables"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can use environment variables to add values that resolve to the example payload, as in the following example:"]},{"$$mdtype":"Tag","name":"MarkdocExample","attributes":{"renderDemo":false,"language":"markdoc","demoContent":[{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"../../../demo/openapi/museum-api.yaml","operationId":"updateSpecialEvent","parameters":{},"requestBody":{"location":"Atlantica"},"options":{},"environments":{"Mock server":{"MuseumPlaceholderAuth_username":"custom-username","MuseumPlaceholderAuth_password":"custom-password","eventId":"dad4bce8-f5cb-4078-a211-995864315e39"}},"environment":"Mock server"},"children":[]}],"rawContent":"{% replay-openapi\n  descriptionFile=\"../../../demo/openapi/museum-api.yaml\"\n  operationId=\"updateSpecialEvent\"\n  environment=\"Mock server\"\n  environments={\n    \"Mock server\": {\n      \"MuseumPlaceholderAuth_username\": \"custom-username\",\n      \"MuseumPlaceholderAuth_password\": \"custom-password\",\n      \"eventId\": \"dad4bce8-f5cb-4078-a211-995864315e39\"\n    }\n  }\n  requestBody={\n    location: \"Atlantica\",\n  }\n/%}\n"},"children":[]},{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"../../../demo/openapi/museum-api.yaml","operationId":"updateSpecialEvent","parameters":{},"requestBody":{"location":"Atlantica"},"options":{},"environments":{"Mock server":{"MuseumPlaceholderAuth_username":"custom-username","MuseumPlaceholderAuth_password":"custom-password","eventId":"dad4bce8-f5cb-4078-a211-995864315e39"}},"environment":"Mock server","replayResolved":{"apiStore":{"schemaStore":{"components/schemas/TicketType":{"id":"components/schemas/TicketType","kind":"json-schema","title":"TicketType","data":{"description":"Type of ticket being purchased. Use `general` for regular museum entry and `event` for tickets to special events.","type":"string","enum":["event","general"],"example":"event"}},"components/schemas/Date":{"id":"components/schemas/Date","kind":"json-schema","title":"Date","data":{"type":"string","format":"date","example":"2023-10-29"}},"components/schemas/Email":{"id":"components/schemas/Email","kind":"json-schema","title":"Email","data":{"description":"Email address for ticket purchaser.","type":"string","format":"email","example":"museum-lover@example.com"}},"components/schemas/Phone":{"id":"components/schemas/Phone","kind":"json-schema","title":"Phone","data":{"description":"Phone number for the ticket purchaser (optional).","type":"string","example":"+1(234)-567-8910"}},"components/schemas/BuyMuseumTicketsRequest":{"id":"components/schemas/BuyMuseumTicketsRequest","kind":"json-schema","title":"BuyMuseumTicketsRequest","data":{"description":"Request payload used for purchasing museum tickets.","type":"object","properties":{"ticketType":{"$ref":"#/components/schemas/TicketType"},"eventId":{"description":"Unique identifier for a special event. Required if purchasing tickets for the museum's special events.","$ref":"#/components/schemas/EventId"},"ticketDate":{"description":"Date that the ticket is valid for.","$ref":"#/components/schemas/Date"},"email":{"$ref":"#/components/schemas/Email"},"phone":{"$ref":"#/components/schemas/Phone"}},"required":["ticketType","ticketDate","email"]}},"components/schemas/TicketMessage":{"id":"components/schemas/TicketMessage","kind":"json-schema","title":"TicketMessage","data":{"description":"Confirmation message after a ticket purchase.","type":"string","example":"Museum general entry ticket purchased"}},"components/schemas/TicketId":{"id":"components/schemas/TicketId","kind":"json-schema","title":"TicketId","data":{"description":"Unique identifier for museum ticket. Generated when purchased.","type":"string","format":"uuid","example":"a54a57ca-36f8-421b-a6b4-2e8f26858a4c"}},"components/schemas/TicketConfirmation":{"id":"components/schemas/TicketConfirmation","kind":"json-schema","title":"TicketConfirmation","data":{"description":"Unique confirmation code used to verify ticket purchase.","type":"string","example":"ticket-event-a98c8f-7eb12"}},"components/schemas/BuyMuseumTicketsResponse":{"id":"components/schemas/BuyMuseumTicketsResponse","kind":"json-schema","title":"BuyMuseumTicketsResponse","data":{"description":"Details for a museum ticket after a successful purchase.","type":"object","properties":{"message":{"$ref":"#/components/schemas/TicketMessage"},"eventName":{"$ref":"#/components/schemas/EventName"},"ticketId":{"$ref":"#/components/schemas/TicketId"},"ticketType":{"$ref":"#/components/schemas/TicketType"},"ticketDate":{"description":"Date the ticket is valid for.","$ref":"#/components/schemas/Date"},"confirmationCode":{"$ref":"#/components/schemas/TicketConfirmation"}},"required":["message","ticketId","ticketType","ticketDate","confirmationCode"]}},"components/schemas/GetTicketCodeResponse":{"id":"components/schemas/GetTicketCodeResponse","kind":"json-schema","title":"GetTicketCodeResponse","data":{"description":"Image of a ticket with a QR code used for museum or event entry.","type":"string","format":"binary"}},"components/schemas/GetMuseumHoursResponse":{"id":"components/schemas/GetMuseumHoursResponse","kind":"json-schema","title":"GetMuseumHoursResponse","data":{"description":"List of museum operating hours for consecutive days.","type":"array","items":{"$ref":"#/components/schemas/MuseumDailyHours"}}},"components/schemas/MuseumDailyHours":{"id":"components/schemas/MuseumDailyHours","kind":"json-schema","title":"MuseumDailyHours","data":{"description":"Daily operating hours for the museum.","type":"object","properties":{"date":{"description":"Date the operating hours apply to.","$ref":"#/components/schemas/Date","example":"2024-12-31"},"timeOpen":{"type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","description":"Time the museum opens on a specific date. Uses 24 hour time format (`HH:mm`).","example":"09:00"},"timeClose":{"description":"Time the museum closes on a specific date. Uses 24 hour time format (`HH:mm`).","type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","example":"18:00"}},"required":["date","timeOpen","timeClose"]}},"components/schemas/EventId":{"id":"components/schemas/EventId","kind":"json-schema","title":"EventId","data":{"description":"Identifier for a special event.","type":"string","format":"uuid","example":"3be6453c-03eb-4357-ae5a-984a0e574a54"}},"components/schemas/EventName":{"id":"components/schemas/EventName","kind":"json-schema","title":"EventName","data":{"type":"string","description":"Name of the special event.","example":"Pirate Coding Workshop"}},"components/schemas/EventLocation":{"id":"components/schemas/EventLocation","kind":"json-schema","title":"EventLocation","data":{"type":"string","description":"Location where the special event is held.","example":"Computer Room"}},"components/schemas/EventDescription":{"id":"components/schemas/EventDescription","kind":"json-schema","title":"EventDescription","data":{"type":"string","description":"Description of the special event.","example":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang)."}},"components/schemas/EventDates":{"id":"components/schemas/EventDates","kind":"json-schema","title":"EventDates","data":{"type":"array","items":{"$ref":"#/components/schemas/Date"},"description":"List of planned dates for the special event."}},"components/schemas/EventPrice":{"id":"components/schemas/EventPrice","kind":"json-schema","title":"EventPrice","data":{"description":"Price of a ticket for the special event.","type":"number","format":"float","example":25}},"components/schemas/CreateSpecialEventRequest":{"id":"components/schemas/CreateSpecialEventRequest","kind":"json-schema","title":"CreateSpecialEventRequest","data":{"description":"Request payload for creating new special events at the museum.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["name","location","eventDescription","dates","price"]}},"components/schemas/UpdateSpecialEventRequest":{"id":"components/schemas/UpdateSpecialEventRequest","kind":"json-schema","title":"UpdateSpecialEventRequest","data":{"description":"Request payload for updating an existing special event. Only included fields are updated in the event.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}}}},"components/schemas/ListSpecialEventsResponse":{"id":"components/schemas/ListSpecialEventsResponse","kind":"json-schema","title":"ListSpecialEventsResponse","data":{"description":"List of upcoming special events.","type":"array","items":{"$ref":"#/components/schemas/SpecialEventResponse"}}},"components/schemas/SpecialEventResponse":{"id":"components/schemas/SpecialEventResponse","kind":"json-schema","title":"SpecialEventResponse","data":{"description":"Information about a special event.","type":"object","properties":{"eventId":{"$ref":"#/components/schemas/EventId"},"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["eventId","name","location","eventDescription","dates","price"]}},"components/schemas/Error":{"id":"components/schemas/Error","kind":"json-schema","title":"Error","data":{"type":"object","properties":{"type":{"type":"string","example":"object"},"title":{"type":"string","example":"Validation failed"}}}},"schema_13":{"kind":"json-schema","data":{"type":"string","format":"uuid","example":"dad4bce8-f5cb-4078-a211-995864315e39"},"id":"schema_13"}},"exampleStore":{"components/examples/BuyGeneralTicketsRequestExample":{"id":"components/examples/BuyGeneralTicketsRequestExample","value":{"ticketType":"general","ticketDate":"2023-09-07","email":"todd@example.com"},"summary":"General entry ticket"},"components/examples/BuyEventTicketsRequestExample":{"id":"components/examples/BuyEventTicketsRequestExample","value":{"ticketType":"general","eventId":"dad4bce8-f5cb-4078-a211-995864315e39","ticketDate":"2023-09-05","email":"todd@example.com"},"summary":"Special event ticket"},"components/examples/BuyGeneralTicketsResponseExample":{"id":"components/examples/BuyGeneralTicketsResponseExample","value":{"message":"Museum general entry ticket purchased","ticketId":"382c0820-0530-4f4b-99af-13811ad0f17a","ticketType":"general","ticketDate":"2023-09-07","confirmationCode":"ticket-general-e5e5c6-dce78"},"summary":"General entry ticket"},"components/examples/BuyEventTicketsResponseExample":{"id":"components/examples/BuyEventTicketsResponseExample","value":{"message":"Museum special event ticket purchased","ticketId":"b811f723-17b2-44f7-8952-24b03e43d8a9","eventName":"Mermaid Treasure Identification and Analysis","ticketType":"event","ticketDate":"2023-09-05","confirmationCode":"ticket-event-9c55eg-8v82a"},"summary":"Special event ticket"},"components/examples/CreateSpecialEventRequestExample":{"id":"components/examples/CreateSpecialEventRequestExample","value":{"name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":0},"summary":"Create special event"},"components/examples/CreateSpecialEventResponseExample":{"id":"components/examples/CreateSpecialEventResponseExample","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30},"summary":"Special event created"},"components/examples/GetSpecialEventResponseExample":{"id":"components/examples/GetSpecialEventResponseExample","value":{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60},"summary":"Get special event"},"components/examples/ListSpecialEventsResponseExample":{"id":"components/examples/ListSpecialEventsResponseExample","value":[{"eventId":"f3e0e76e-e4a8-466e-ab9c-ae36c15b8e97","name":"Sasquatch Ballet","location":"Seattle... probably","eventDescription":"They're big, they're hairy, but they're also graceful. Come learn how the biggest feet can have the lightest touch.","dates":["2023-12-15","2023-12-22"],"price":40},{"eventId":"2f14374a-9c65-4ee5-94b7-fba66d893483","name":"Solar Telescope Demonstration","location":"Far from the sun.","eventDescription":"Look at the sun without going blind!","dates":["2023-09-07","2023-09-14"],"price":50},{"eventId":"6aaa61ba-b2aa-4868-b803-603dbbf7bfdb","name":"Cook like a Caveman","location":"Fire Pit on East side","eventDescription":"Learn to cook on an open flame.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5},{"eventId":"602b75e1-5696-4ab8-8c7a-f9e13580f910","name":"Underwater Basket Weaving","location":"Rec Center Pool next door.","eventDescription":"Learn to weave baskets underwater.","dates":["2023-09-12","2023-09-15"],"price":15},{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Room Sea-12","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits — kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30},{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60},{"eventId":"3be6453c-03eb-4357-ae5a-984a0e574a54","name":"Pirate Coding Workshop","location":"Computer Room","eventDescription":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang).","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"9d90d29a-2af5-4206-97d9-9ea9ceadcb78","name":"Llama Street Art Through the Ages","location":"Auditorium","eventDescription":"Llama street art?! Alpaca my bags -- let's go!","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"a3c7b2c4-b5fb-4ef7-9322-00a919864957","name":"The Great Parrot Debate","location":"Outdoor Amphitheatre","eventDescription":"See leading parrot minds discuss important geopolitical issues.","dates":["2023-11-03","2023-11-10"],"price":35},{"eventId":"b92d46b7-4c5d-422b-87a5-287767e26f29","name":"Eat a Bunch of Corn","location":"Cafeteria","eventDescription":"We accidentally bought too much corn. Please come eat it.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5}],"summary":"List of special events"},"components/examples/UpdateSpecialEventRequestExample":{"id":"components/examples/UpdateSpecialEventRequestExample","value":{"location":"On the beach.","price":15},"summary":"Update special event request"},"components/examples/UpdateSpecialEventResponseExample":{"id":"components/examples/UpdateSpecialEventResponseExample","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"On the beach.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":15},"summary":"Update special event"},"components/examples/GetMuseumHoursResponseExample":{"id":"components/examples/GetMuseumHoursResponseExample","value":[{"date":"2023-09-11","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-12","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-13","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-14","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-15","timeOpen":"10:00","timeClose":"16:00"},{"date":"2023-09-18","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-19","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-20","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-21","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-22","timeOpen":"10:00","timeClose":"16:00"}],"summary":"Get hours response"},"paths/~1special-events~1{eventId}/patch/requestBody/content/application~1json/examples/default_example":{"value":{"location":"On the beach.","price":15},"key":"default_example","summary":"Update special event request","id":"paths/~1special-events~1{eventId}/patch/requestBody/content/application~1json/examples/default_example"}},"securitySchemeStore":{"MuseumPlaceholderAuth":{"id":"MuseumPlaceholderAuth","type":"http","scheme":"basic"}}},"definition":{"openapi":"3.1.0","info":{"title":"Redocly Museum API","description":"Imaginary, but delightful Museum API for interacting with museum services and information. Built with love by Redocly.","version":"1.1.1","termsOfService":"https://redocly.com/subscription-agreement/","contact":{"email":"team@redocly.com","url":"https://redocly.com/docs/cli/"},"license":{"name":"MIT","url":"https://opensource.org/license/mit/"}},"servers":[{"url":"https://api.fake-museum-example.com/v1.1"}],"paths":{"/museum-hours":{"get":{"summary":"Get museum hours","description":"Get upcoming museum operating hours.","operationId":"getMuseumHours","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/StartDate"},{"$ref":"#/components/parameters/PaginationPage"},{"$ref":"#/components/parameters/PaginationLimit"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMuseumHoursResponse"},"examples":{"default_example":{"$ref":"#/components/examples/GetMuseumHoursResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/special-events":{"post":{"summary":"Create special events","description":"Creates a new special event for the museum.","operationId":"createSpecialEvent","tags":["Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSpecialEventRequest"},"examples":{"default_example":{"$ref":"#/components/examples/CreateSpecialEventRequestExample"}}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialEventResponse"},"examples":{"default_example":{"$ref":"#/components/examples/CreateSpecialEventResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}},"get":{"summary":"List special events","description":"Return a list of upcoming special events at the museum.","operationId":"listSpecialEvents","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/StartDate"},{"$ref":"#/components/parameters/EndDate"},{"$ref":"#/components/parameters/PaginationPage"},{"$ref":"#/components/parameters/PaginationLimit"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSpecialEventsResponse"},"examples":{"default_example":{"$ref":"#/components/examples/ListSpecialEventsResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/special-events/{eventId}":{"get":{"summary":"Get special event","description":"Get details about a special event.","operationId":"getSpecialEvent","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/EventId"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialEventResponse"},"examples":{"default_example":{"$ref":"#/components/examples/GetSpecialEventResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}},"patch":{"summary":"Update special event","description":"Update the details of a special event.","operationId":"updateSpecialEvent","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/EventId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSpecialEventRequest"},"examples":{"default_example":{"$ref":"#/components/examples/UpdateSpecialEventRequestExample"}}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialEventResponse"},"examples":{"default_example":{"$ref":"#/components/examples/UpdateSpecialEventResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}},"delete":{"summary":"Delete special event","description":"Delete a special event from the collection. Allows museum to cancel planned events.","operationId":"deleteSpecialEvent","tags":["Events"],"parameters":[{"$ref":"#/components/parameters/EventId"}],"responses":{"204":{"description":"Success - no content."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/tickets":{"post":{"summary":"Buy museum tickets","description":"Purchase museum tickets for general entry or special events.","operationId":"buyMuseumTickets","tags":["Tickets"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyMuseumTicketsRequest"},"examples":{"general_entry":{"$ref":"#/components/examples/BuyGeneralTicketsRequestExample"},"event_entry":{"$ref":"#/components/examples/BuyEventTicketsRequestExample"}}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyMuseumTicketsResponse"},"examples":{"general_entry":{"$ref":"#/components/examples/BuyGeneralTicketsResponseExample"},"event_entry":{"$ref":"#/components/examples/BuyEventTicketsResponseExample"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/tickets/{ticketId}/qr":{"get":{"summary":"Get ticket QR code","description":"Return an image of your ticket with scannable QR code. Used for event entry.","operationId":"getTicketCode","tags":["Tickets"],"parameters":[{"$ref":"#/components/parameters/TicketId"}],"responses":{"200":{"description":"Scannable event ticket in image format.","content":{"image/png":{"schema":{"$ref":"#/components/schemas/GetTicketCodeResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}}},"components":{"schemas":{"TicketType":{"description":"Type of ticket being purchased. Use `general` for regular museum entry and `event` for tickets to special events.","type":"string","enum":["event","general"],"example":"event"},"Date":{"type":"string","format":"date","example":"2023-10-29"},"Email":{"description":"Email address for ticket purchaser.","type":"string","format":"email","example":"museum-lover@example.com"},"Phone":{"description":"Phone number for the ticket purchaser (optional).","type":"string","example":"+1(234)-567-8910"},"BuyMuseumTicketsRequest":{"description":"Request payload used for purchasing museum tickets.","type":"object","properties":{"ticketType":{"$ref":"#/components/schemas/TicketType"},"eventId":{"description":"Unique identifier for a special event. Required if purchasing tickets for the museum's special events.","$ref":"#/components/schemas/EventId"},"ticketDate":{"description":"Date that the ticket is valid for.","$ref":"#/components/schemas/Date"},"email":{"$ref":"#/components/schemas/Email"},"phone":{"$ref":"#/components/schemas/Phone"}},"required":["ticketType","ticketDate","email"]},"TicketMessage":{"description":"Confirmation message after a ticket purchase.","type":"string","example":"Museum general entry ticket purchased"},"TicketId":{"description":"Unique identifier for museum ticket. Generated when purchased.","type":"string","format":"uuid","example":"a54a57ca-36f8-421b-a6b4-2e8f26858a4c"},"TicketConfirmation":{"description":"Unique confirmation code used to verify ticket purchase.","type":"string","example":"ticket-event-a98c8f-7eb12"},"BuyMuseumTicketsResponse":{"description":"Details for a museum ticket after a successful purchase.","type":"object","properties":{"message":{"$ref":"#/components/schemas/TicketMessage"},"eventName":{"$ref":"#/components/schemas/EventName"},"ticketId":{"$ref":"#/components/schemas/TicketId"},"ticketType":{"$ref":"#/components/schemas/TicketType"},"ticketDate":{"description":"Date the ticket is valid for.","$ref":"#/components/schemas/Date"},"confirmationCode":{"$ref":"#/components/schemas/TicketConfirmation"}},"required":["message","ticketId","ticketType","ticketDate","confirmationCode"]},"GetTicketCodeResponse":{"description":"Image of a ticket with a QR code used for museum or event entry.","type":"string","format":"binary"},"GetMuseumHoursResponse":{"description":"List of museum operating hours for consecutive days.","type":"array","items":{"$ref":"#/components/schemas/MuseumDailyHours"}},"MuseumDailyHours":{"description":"Daily operating hours for the museum.","type":"object","properties":{"date":{"description":"Date the operating hours apply to.","$ref":"#/components/schemas/Date","example":"2024-12-31"},"timeOpen":{"type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","description":"Time the museum opens on a specific date. Uses 24 hour time format (`HH:mm`).","example":"09:00"},"timeClose":{"description":"Time the museum closes on a specific date. Uses 24 hour time format (`HH:mm`).","type":"string","pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$","example":"18:00"}},"required":["date","timeOpen","timeClose"]},"EventId":{"description":"Identifier for a special event.","type":"string","format":"uuid","example":"3be6453c-03eb-4357-ae5a-984a0e574a54"},"EventName":{"type":"string","description":"Name of the special event.","example":"Pirate Coding Workshop"},"EventLocation":{"type":"string","description":"Location where the special event is held.","example":"Computer Room"},"EventDescription":{"type":"string","description":"Description of the special event.","example":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang)."},"EventDates":{"type":"array","items":{"$ref":"#/components/schemas/Date"},"description":"List of planned dates for the special event."},"EventPrice":{"description":"Price of a ticket for the special event.","type":"number","format":"float","example":25},"CreateSpecialEventRequest":{"description":"Request payload for creating new special events at the museum.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["name","location","eventDescription","dates","price"]},"UpdateSpecialEventRequest":{"description":"Request payload for updating an existing special event. Only included fields are updated in the event.","type":"object","properties":{"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}}},"ListSpecialEventsResponse":{"description":"List of upcoming special events.","type":"array","items":{"$ref":"#/components/schemas/SpecialEventResponse"}},"SpecialEventResponse":{"description":"Information about a special event.","type":"object","properties":{"eventId":{"$ref":"#/components/schemas/EventId"},"name":{"$ref":"#/components/schemas/EventName"},"location":{"$ref":"#/components/schemas/EventLocation"},"eventDescription":{"$ref":"#/components/schemas/EventDescription"},"dates":{"$ref":"#/components/schemas/EventDates"},"price":{"$ref":"#/components/schemas/EventPrice"}},"required":["eventId","name","location","eventDescription","dates","price"]},"Error":{"type":"object","properties":{"type":{"type":"string","example":"object"},"title":{"type":"string","example":"Validation failed"}}}},"securitySchemes":{"MuseumPlaceholderAuth":{"type":"http","scheme":"basic"}},"examples":{"BuyGeneralTicketsRequestExample":{"summary":"General entry ticket","value":{"ticketType":"general","ticketDate":"2023-09-07","email":"todd@example.com"}},"BuyEventTicketsRequestExample":{"summary":"Special event ticket","value":{"ticketType":"general","eventId":"dad4bce8-f5cb-4078-a211-995864315e39","ticketDate":"2023-09-05","email":"todd@example.com"}},"BuyGeneralTicketsResponseExample":{"summary":"General entry ticket","value":{"message":"Museum general entry ticket purchased","ticketId":"382c0820-0530-4f4b-99af-13811ad0f17a","ticketType":"general","ticketDate":"2023-09-07","confirmationCode":"ticket-general-e5e5c6-dce78"}},"BuyEventTicketsResponseExample":{"summary":"Special event ticket","value":{"message":"Museum special event ticket purchased","ticketId":"b811f723-17b2-44f7-8952-24b03e43d8a9","eventName":"Mermaid Treasure Identification and Analysis","ticketType":"event","ticketDate":"2023-09-05","confirmationCode":"ticket-event-9c55eg-8v82a"}},"CreateSpecialEventRequestExample":{"summary":"Create special event","value":{"name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":0}},"CreateSpecialEventResponseExample":{"summary":"Special event created","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Under the seaaa 🦀 🎶 🌊.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30}},"GetSpecialEventResponseExample":{"summary":"Get special event","value":{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60}},"ListSpecialEventsResponseExample":{"summary":"List of special events","value":[{"eventId":"f3e0e76e-e4a8-466e-ab9c-ae36c15b8e97","name":"Sasquatch Ballet","location":"Seattle... probably","eventDescription":"They're big, they're hairy, but they're also graceful. Come learn how the biggest feet can have the lightest touch.","dates":["2023-12-15","2023-12-22"],"price":40},{"eventId":"2f14374a-9c65-4ee5-94b7-fba66d893483","name":"Solar Telescope Demonstration","location":"Far from the sun.","eventDescription":"Look at the sun without going blind!","dates":["2023-09-07","2023-09-14"],"price":50},{"eventId":"6aaa61ba-b2aa-4868-b803-603dbbf7bfdb","name":"Cook like a Caveman","location":"Fire Pit on East side","eventDescription":"Learn to cook on an open flame.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5},{"eventId":"602b75e1-5696-4ab8-8c7a-f9e13580f910","name":"Underwater Basket Weaving","location":"Rec Center Pool next door.","eventDescription":"Learn to weave baskets underwater.","dates":["2023-09-12","2023-09-15"],"price":15},{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"Room Sea-12","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits — kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":30},{"eventId":"6744a0da-4121-49cd-8479-f8cc20526495","name":"Time Traveler Tea Party","location":"Temporal Tearoom","eventDescription":"Sip tea with important historical figures.","dates":["2023-11-18","2023-11-25","2023-12-02"],"price":60},{"eventId":"3be6453c-03eb-4357-ae5a-984a0e574a54","name":"Pirate Coding Workshop","location":"Computer Room","eventDescription":"Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang).","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"9d90d29a-2af5-4206-97d9-9ea9ceadcb78","name":"Llama Street Art Through the Ages","location":"Auditorium","eventDescription":"Llama street art?! Alpaca my bags -- let's go!","dates":["2023-10-29","2023-10-30","2023-10-31"],"price":45},{"eventId":"a3c7b2c4-b5fb-4ef7-9322-00a919864957","name":"The Great Parrot Debate","location":"Outdoor Amphitheatre","eventDescription":"See leading parrot minds discuss important geopolitical issues.","dates":["2023-11-03","2023-11-10"],"price":35},{"eventId":"b92d46b7-4c5d-422b-87a5-287767e26f29","name":"Eat a Bunch of Corn","location":"Cafeteria","eventDescription":"We accidentally bought too much corn. Please come eat it.","dates":["2023-11-10","2023-11-17","2023-11-24"],"price":5}]},"UpdateSpecialEventRequestExample":{"summary":"Update special event request","value":{"location":"On the beach.","price":15}},"UpdateSpecialEventResponseExample":{"summary":"Update special event","value":{"eventId":"dad4bce8-f5cb-4078-a211-995864315e39","name":"Mermaid Treasure Identification and Analysis","location":"On the beach.","eventDescription":"Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel.","dates":["2023-09-05","2023-09-08"],"price":15}},"GetMuseumHoursResponseExample":{"summary":"Get hours response","value":[{"date":"2023-09-11","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-12","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-13","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-14","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-15","timeOpen":"10:00","timeClose":"16:00"},{"date":"2023-09-18","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-19","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-20","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-21","timeOpen":"09:00","timeClose":"18:00"},{"date":"2023-09-22","timeOpen":"10:00","timeClose":"16:00"}]}},"parameters":{"PaginationPage":{"name":"page","in":"query","description":"Page number to retrieve.","schema":{"type":"integer","default":1,"example":2}},"PaginationLimit":{"name":"limit","in":"query","description":"Number of days per page.","schema":{"type":"integer","default":10,"maximum":30,"example":15}},"EventId":{"name":"eventId","in":"path","description":"Identifier for a special event.","required":true,"schema":{"type":"string","format":"uuid","example":"dad4bce8-f5cb-4078-a211-995864315e39"}},"StartDate":{"name":"startDate","in":"query","description":"Starting date to retrieve future operating hours from. Defaults to today's date.","schema":{"type":"string","format":"date","example":"2023-02-23"}},"EndDate":{"name":"endDate","in":"query","description":"End of a date range to retrieve special events for. Defaults to 7 days after `startDate`.","schema":{"type":"string","format":"date","example":"2023-04-18"}},"TicketId":{"name":"ticketId","in":"path","description":"Identifier for a ticket to a museum event. Used to generate ticket image.","required":true,"schema":{"type":"string","format":"uuid","example":"a54a57ca-36f8-421b-a6b4-2e8f26858a4c"}}},"responses":{"BadRequest":{"description":"Bad request.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Not found.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Unauthorized.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"tags":[{"name":"Operations","description":"Operational information about the museum."},{"name":"Events","description":"Special events hosted by the museum."},{"name":"Tickets","description":"Museum tickets for general entrance or special events."}],"security":[{"MuseumPlaceholderAuth":[]}]},"operationId":"updateSpecialEvent","operationSource":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/special-events/{eventId}","servers":[{"url":"/_mock/demo/openapi/museum-api","description":"Mock server","isMockServer":true},{"url":"https://api.fake-museum-example.com/v1.1"}],"parameters":{"path":[{"name":"eventId","in":"path","required":true,"example":"dad4bce8-f5cb-4078-a211-995864315e39","schemaId":"schema_13"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"MuseumPlaceholderAuth","type":"http","scheme":"basic"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpdateSpecialEventRequest","exampleIds":["paths/~1special-events~1{eventId}/patch/requestBody/content/application~1json/examples/default_example"]}},"responseCodes":["200","400","404"],"pointer":"/special-events/{eventId}","openApiOperationId":"updateSpecialEvent","summary":"Update special event"},"options":{"excludeFromSearch":true,"mockServer":{"url":"/_mock/demo/openapi/museum-api","position":"first","description":"Mock server"}},"pointer":"/paths/~1special-events~1{eventId}/patch"}},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"best-practices","__idx":8},"children":["Best practices"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Provide clear instructions"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Offer clear, concise instructions on how you want users to interact with and navigate the Replay console. This will help improve user satisfaction by reducing confusion and friction."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Pre-configure requests"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the attributes to pre-configure the requests in your Replay console. This streamlines their interactions with your API and encourages users to explore."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Educate users"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Embrace the Replay console as an educational resource that can empower your users. Giving users deeper knowledge about your API's functionality and usage helps foster their confidence."]}]},"frontmatter":{},"tagList":["markdoc-example","markdoc-tag-badge","replay-openapi","table"],"title":"Replay OpenAPI Tag","lastModified":"2025-05-28T16:01:32.000Z"}