mirror of
https://github.com/Redocly/redoc.git
synced 2026-01-25 17:33:49 +03:00
Co-authored-by: Roman Hotsiy <gotsijroman@gmail.com> Co-authored-by: Alex Varchuk <olexandr.varchuk@gmail.com> Co-authored-by: Oprysk Vyacheslav <vyacheslav@redocly.com> Co-authored-by: Ivan Kropyvnytskyi <130547411+ivankropyvnytskyi@users.noreply.github.com> Co-authored-by: Yevhen Pylyp <yevhen.pylyp@redocly.com> Co-authored-by: Vladyslav Makarenko <vladyslav.makarenko@redocly.com> Co-authored-by: Yevhenii Medviediev <yevhenii.medviediev@redocly.com> Co-authored-by: Oleksii Horbachevskyi <oleksii.horbachevskyi@redocly.com> Co-authored-by: volodymyr-rutskyi <rutskyi.v@gmail.com> Co-authored-by: Adam Altman <adam@redoc.ly> Co-authored-by: Andrew Tatomyr <andrew.tatomyr@redocly.com> Co-authored-by: Anastasiia Derymarko <anastasiia@redocly.com> Co-authored-by: Roman Marshevskyy <roman.marshevskyy@redoc.ly> Co-authored-by: Lorna Mitchell <lorna.mitchell@redocly.com> Co-authored-by: Taylor Krusen <taylor.krusen@redocly.com>
764 lines
25 KiB
YAML
764 lines
25 KiB
YAML
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.0
|
|
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/'
|
|
x-logo:
|
|
url: 'https://redocly.github.io/redoc/museum-logo.png'
|
|
altText: Museum logo
|
|
servers:
|
|
- url: 'https://api.fake-museum-example.com/v1.1'
|
|
x-mcp:
|
|
protocolVersion: '2024-11-05'
|
|
servers:
|
|
- url: 'https://api.fake-museum-example.com/v1.1'
|
|
capabilities:
|
|
logging: {}
|
|
prompts:
|
|
listChanged: true
|
|
resources:
|
|
'subscribe': true,
|
|
tools:
|
|
listChanged: true
|
|
experimental:
|
|
experimentalFeature: { 'foo': 'bar' }
|
|
tools:
|
|
# this is the output of the list/tools call to the MCP
|
|
- name: clients/get
|
|
tags: [Events]
|
|
description: Get a list of clients with all scopes in a service domain.
|
|
inputSchema:
|
|
type: object
|
|
properties:
|
|
clientId:
|
|
type: string
|
|
description: The ID of the client to get.
|
|
outputSchema:
|
|
$ref: '#/components/schemas/CreateSpecialEventRequest'
|
|
# with only added the OAuth2 security scheme
|
|
security:
|
|
- MuseumPlaceholderAuth: []
|
|
- name: clients/list
|
|
description: Get a list of clients with all scopes in a service domain.
|
|
inputSchema:
|
|
type: object
|
|
properties:
|
|
paginationToken:
|
|
type: string
|
|
description: The pagination token to get the next page of clients.
|
|
outputSchema:
|
|
type: object
|
|
properties:
|
|
clients:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/CreateSpecialEventRequest'
|
|
paginationToken:
|
|
type: string
|
|
description: The pagination token to get the next page of clients.
|
|
resources: []
|
|
|
|
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:
|
|
'200':
|
|
description: Success.
|
|
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:
|
|
'200':
|
|
description: Success.
|
|
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.
|
|
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.
|
|
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.
|
|
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: []
|